UNPKG

geofeed-validator

Version:
32 lines (31 loc) 1.35 kB
"use strict"; var _yargs = _interopRequireDefault(require("yargs")); var _fs = _interopRequireDefault(require("fs")); var _readline = _interopRequireDefault(require("readline")); var _validator = _interopRequireDefault(require("./validator")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } var params = _yargs["default"].usage("Usage: $0 <command> [options]").command("$0", "Run geofeed validator (default)", function () { _yargs["default"].alias("v", "version").nargs("v", 0).describe("v", "Show version number").alias("f", "input").nargs("f", 1).describe("f", "Input file"); }).help("h").alias("h", "help").epilog("Copyright (c) 2020, Massimo Candela").argv; if (!params.f) { throw new Error("The input file must be specified (option -f)"); } var inputStream = _fs["default"].createReadStream(params.f); var rd = _readline["default"].createInterface({ input: inputStream, console: false }); rd.on("line", function (line) { var errors = _validator["default"].fromLine(line); if (errors && errors.length) { console.log("".concat(line, " Error: ").concat(errors.join(", "))); } }); inputStream.on("error", function (error) { console.error("Unable to read input file: ".concat(error.message)); process.exitCode = 1; rd.close(); }); rd.on("close", function () { inputStream.destroy(); });