New feature: CLI support

This commit is contained in:
Faisal Salman
2017-08-01 14:28:03 +07:00
parent 7ae3098778
commit 6f621f1ae2
4 changed files with 41 additions and 2 deletions

27
src/ua-parser.js Normal file → Executable file
View File

@@ -996,6 +996,33 @@
if (typeof module !== UNDEF_TYPE && module.exports) {
exports = module.exports = UAParser;
}
// TODO: test!!!
if (require && require.main === module && process) {
// cli
var jsonize = function (arr) {
var res = [];
for (var i in arr) {
res.push(new UAParser(arr[i]).getResult());
}
process.stdout.write(JSON.stringify(res, null, 2) + '\n');
};
if (process.stdin.isTTY) {
// via args
jsonize(process.argv.slice(2));
} else {
// via pipe
var str = '';
process.stdin.on('readable', function() {
var read = process.stdin.read();
if (read !== null) {
str += read;
}
});
process.stdin.on('end', function () {
jsonize(str.replace(/\n$/, '').split('\n'));
});
}
}
exports.UAParser = UAParser;
} else {
// requirejs env (optional)