main.js 847 B

1234567891011121314151617181920212223242526272829303132
  1. var readline = require("readline"),
  2. aggregate = require("./lib/");
  3. module.exports = function main() {
  4. var args = process.argv.slice(2);
  5. if (args.length === 0) console.error("USAGE:\n aggregate PIPELINE_JSON < INPUT_DOCS.jsonl"), process.exit(1);
  6. var pipeline = [].concat.apply([], args.map(JSON.parse)),
  7. inputs = [];
  8. var rl = readline.createInterface({
  9. input: process.stdin,
  10. output: process.stdout,
  11. terminal: false
  12. })
  13. .on("line", function(line){
  14. try {
  15. inputs.push(JSON.parse(line));
  16. } catch (err) {
  17. console.error("ERROR: Unable to parse line #" + inputs.length);
  18. console.error("LINE: " + line);
  19. throw err;
  20. }
  21. })
  22. .on("close", function () {
  23. var results = aggregate(pipeline, inputs);
  24. results.forEach(function(result){
  25. console.log(JSON.stringify(result));
  26. });
  27. process.exit(0);
  28. });
  29. };