UNPKG

dtsgenerator

Version:

TypeScript d.ts file generator for JSON Schema file

57 lines (56 loc) 1.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const fs = tslib_1.__importStar(require("fs")); const path_1 = require("path"); const commandOptions_1 = tslib_1.__importStar(require("./commandOptions")); const core_1 = tslib_1.__importStar(require("./core")); const config_1 = tslib_1.__importStar(require("./core/config")); const utils_1 = require("./utils"); async function loadContents() { let contents = []; const ps = []; if (config_1.default.input.stdin) { ps.push((0, core_1.readSchemaFromStdin)().then((s) => { contents.push(s); })); } for (const pattern of config_1.default.input.files) { ps.push((0, core_1.readSchemasFromFile)(pattern).then((ss) => { contents = contents.concat(ss); })); } for (const url of config_1.default.input.urls) { ps.push((0, core_1.readSchemaFromUrl)(url).then((s) => { contents.push(s); })); } await Promise.all(ps); return contents; } async function exec() { const command = (0, commandOptions_1.initialize)(process.argv); const pc = (0, utils_1.readConfig)(commandOptions_1.default); (0, config_1.setConfig)(pc); if (commandOptions_1.default.info) { const version = command.opts().version; await (0, config_1.showConfig)(version, config_1.default); return; } const contents = await loadContents(); const result = await (0, core_1.default)({ contents, }); if (commandOptions_1.default.out) { fs.mkdirSync((0, path_1.dirname)(commandOptions_1.default.out), { recursive: true }); fs.writeFileSync(commandOptions_1.default.out, result, { encoding: 'utf-8' }); } else { console.log(result); } } exec().catch((err) => { var _a; console.error((_a = err.stack) !== null && _a !== void 0 ? _a : err); process.exitCode = 1; });