npm install lblr-parserParser is Writable stream.
var parser = require('lblr-parser')();
parser.registerLineProcessor(/^#(\d+)/, function(match, number) {
console.log(number);
});
parser.end(['foo', '#1', 'bar', '#2', 'baz'].join('\n'));
// result: 1, 2
var parser = require('lblr-parser')();
parser.registerLineProcessor(/^#(\d+)/, function(match, number) {
console.log(number);
});
parser.registerLineProcessor(/^\d+/, function(number) {
return '#' + (number * number) + '\n';
});
parser.end(['foo', '#1', 'bar', '#2', 'baz', '3'].join(\n));
// result: 1, 2, 9
var parser = require('lblr-parser')();
parser.registerLineProcessor(/^#(\d+)/, function(match, number) {
console.log(number);
});
parser.registerLineProcessor(/^\d+/, function(number) {
return new Promise((resolve) => {
setTimeout(() => {
resolve('#' + (number * number) + '\n');
}, 200);
});
});
parser.end(['foo', '#1', 'bar', '#2', 'baz', '3'].join('\n'));
// result: 1, 2, 9
* Event complete is emitted after the finish event has been emitted, and all lines has been asynchronously parsed.
* Constructor([boolean, optional] trimLine)
* parser.registerLineProcessor([RegExp] pattern, [Function] fn). Fn arguments: line, RegExp.$0, RegExp.$1, ..., meta