omelop-gen-route
Version:
解析 ts 的interface 到 omelox-protobuf用的 json格式。
80 lines • 3.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
require('cliff');
const fs = require("fs");
const utils_1 = require("../../lib/utils");
function default_1(programs) {
programs.command('gen')
.description('gen proto protocol')
.option('-w, --wsroute <wsroute define directory>', 'Gen ws route define file', 'shared/protocols/ws,shared/protocols/ws.push.routes.ts')
.option('-l, --wslocalroute <wslocalroute define directory>', 'Gen ws local route define file', 'shared/protocols/ws,shared/protocols/ws.local.routes.ts')
.option('-m, --wsroutemap <wsroutemap define directory>', 'Gen ws route map define file', 'shared/protocols/ws,shared/protocols/ws.map.routes.ts')
.option('-h, --httproute <httproute define directory>', 'Gen http route define file', 'shared/protocols/http,shared/protocols/http.routes.ts')
.action(function (opts) {
gen(opts);
});
}
exports.default = default_1;
function abort(str) {
console.error(str);
process.exit(1);
}
const WS_ROUTE_PARAM_INVALID = 'WS route param invalid,\nplease check specified by option `--wsroute`.\n'.red;
const WS_LOCAL_ROUTE_PARAM_INVALID = 'WS local route param invalid,\nplease check specified by option `--wslocalroute`.\n'.red;
const WS_MAP_ROUTE_PARAM_INVALID = 'WS route map param invalid,\nplease check specified by option `--wsroutemap`.\n'.red;
const HTTP_ROUTE_PARAM_INVALID = 'HTTP route param invalid,\nplease check specified by option `--httproute`.\n'.red;
function gen(opts) {
if (opts.wsroute) {
// 生成ws路由定义文件
let arr = opts.wsroute.split(',');
if (arr.length !== 2) {
abort(WS_ROUTE_PARAM_INVALID);
}
let srcDir = arr[0];
let targetFile = arr[1];
if (!fs.existsSync(srcDir)) {
abort(WS_ROUTE_PARAM_INVALID);
}
(0, utils_1.genWSRouteFile)(srcDir, targetFile);
}
if (opts.wslocalroute) {
// 生成ws路由定义文件
let arr = opts.wslocalroute.split(',');
if (arr.length !== 2) {
abort(WS_LOCAL_ROUTE_PARAM_INVALID);
}
let srcDir = arr[0];
let targetFile = arr[1];
if (!fs.existsSync(srcDir)) {
abort(WS_LOCAL_ROUTE_PARAM_INVALID);
}
(0, utils_1.genWSLocalRouteFile)(srcDir, targetFile);
}
if (opts.wsroutemap) {
// 生成ws路由定义文件
let arr = opts.wsroutemap.split(',');
if (arr.length !== 2) {
abort(WS_MAP_ROUTE_PARAM_INVALID);
}
let srcDir = arr[0];
let targetFile = arr[1];
if (!fs.existsSync(srcDir)) {
abort(WS_MAP_ROUTE_PARAM_INVALID);
}
(0, utils_1.genWSMapRouteFile)(srcDir, targetFile);
}
if (opts.httproute) {
// 生成http路由定义文件
let arr = opts.httproute.split(',');
if (arr.length !== 2) {
abort(WS_ROUTE_PARAM_INVALID);
}
let srcDir = arr[0];
let targetFile = arr[1];
if (!fs.existsSync(srcDir)) {
abort(HTTP_ROUTE_PARAM_INVALID);
}
(0, utils_1.genHTTPRouteFile)(srcDir, targetFile);
}
}
//# sourceMappingURL=gen.js.map