UNPKG

dtsgeneratorws

Version:

TypeScript d.ts file generator for JSON Schema file

123 lines 4.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var fs_1 = tslib_1.__importDefault(require("fs")); var mkdirp_1 = tslib_1.__importDefault(require("mkdirp")); var path_1 = tslib_1.__importDefault(require("path")); var commandOptions_1 = tslib_1.__importStar(require("./commandOptions")); var core_1 = tslib_1.__importDefault(require("./core")); var utils_1 = require("./utils"); function readSchemaFromStdin() { process.stdin.setEncoding('utf-8'); return new Promise(function (resolve, reject) { var data = ''; process.stdin .on('readable', function () { var chunk; while (chunk = process.stdin.read()) { if (typeof chunk === 'string') { data += chunk; } } }) .once('end', function () { resolve(utils_1.parseFileContent(data)); }) .once('error', function (err) { reject(err); }); }); } function readSchemasFromFile(pattern) { return tslib_1.__awaiter(this, void 0, void 0, function () { var files; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: return [4, utils_1.globFiles(pattern)]; case 1: files = _a.sent(); return [2, Promise.all(files.map(function (file) { return new Promise(function (resolve, reject) { fs_1.default.readFile(file, { encoding: 'utf-8' }, function (err, content) { if (err) { reject(err); } else { try { resolve(utils_1.parseFileContent(content, file)); } catch (e) { reject(e); } } }); }); }))]; } }); }); } function exec() { return tslib_1.__awaiter(this, void 0, void 0, function () { var contents, _a, _b, _c, _d, pattern, cs, e_1_1; var e_1, _e; return tslib_1.__generator(this, function (_f) { switch (_f.label) { case 0: commandOptions_1.initialize(process.argv); contents = []; if (!commandOptions_1.default.isReadFromStdin()) return [3, 2]; _b = (_a = contents).push; return [4, readSchemaFromStdin()]; case 1: _b.apply(_a, [_f.sent()]); _f.label = 2; case 2: _f.trys.push([2, 7, 8, 9]); _c = tslib_1.__values(commandOptions_1.default.files), _d = _c.next(); _f.label = 3; case 3: if (!!_d.done) return [3, 6]; pattern = _d.value; return [4, readSchemasFromFile(pattern)]; case 4: cs = _f.sent(); contents = contents.concat(cs); _f.label = 5; case 5: _d = _c.next(); return [3, 3]; case 6: return [3, 9]; case 7: e_1_1 = _f.sent(); e_1 = { error: e_1_1 }; return [3, 9]; case 8: try { if (_d && !_d.done && (_e = _c.return)) _e.call(_c); } finally { if (e_1) throw e_1.error; } return [7]; case 9: core_1.default({ contents: contents, inputUrls: commandOptions_1.default.urls, namespaceName: commandOptions_1.default.namespace, }).then(function (result) { if (commandOptions_1.default.out) { mkdirp_1.default.sync(path_1.default.dirname(commandOptions_1.default.out)); fs_1.default.writeFileSync(commandOptions_1.default.out, result, { encoding: 'utf-8' }); } else { console.log(result); } }).catch(function (err) { console.error(err.stack || err); }); return [2]; } }); }); } exec(); //# sourceMappingURL=cli.js.map