geofeed-validator
Version:
A utility to validate geofeed file (RFC8805)
32 lines (31 loc) • 1.35 kB
JavaScript
;
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();
});