lex-model-validator
Version:
Validate lex-language-models with ease.
52 lines (51 loc) • 1.72 kB
JavaScript
;
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
var fs = __importStar(require("fs"));
var LexModelValidator_1 = require("./LexModelValidator");
var Log_1 = require("./util/Log");
var _a = process.argv, args = _a.slice(2);
var loadFile = function (path, verbose) {
try {
return fs.readFileSync(path);
}
catch (e) {
if (verbose) {
Log_1.Log.error(e.stack);
}
return undefined;
}
};
if (args.length > 0 && args.length < 2) {
var verbose = false;
if (args[1] === '--verbose' || args[1] === '-v') {
verbose = true;
}
var path = args[0];
var rawData = loadFile(path, verbose);
if (rawData) {
try {
var json = JSON.parse(rawData.toString());
new LexModelValidator_1.LexModelValidator().validateJson(json);
}
catch (e) {
if (verbose) {
Log_1.Log.error(e.stack);
}
Log_1.Log.error("The contents of the found file at '" + path + "' could not be parsed to JSON.");
}
}
else {
Log_1.Log.error("A file could not find for path '" + path + "'.");
}
}
else {
Log_1.Log.warning("Invalid syntax.\nThe syntax has to be like: 'lex-model-validator ./path/to/json'.\nAdditionally '--verbose' or '-v' can be passed for stacktraces.");
}