UNPKG

omelop-gen-route

Version:

解析 ts 的interface 到 omelox-protobuf用的 json格式。

80 lines 3.25 kB
"use strict"; 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