UNPKG

lex-model-validator

Version:
52 lines (51 loc) 1.72 kB
#!/usr/bin/env node "use strict"; 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."); }