@lsby/net-core 0.4.0-beta.2 → 0.4.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/{gen-list → gen-api-list}/bin.cjs +21 -20
- package/dist/{cjs/bin/gen-list → bin/gen-api-list}/index.cjs +20 -19
- package/dist/bin/{gen-type → gen-api-type}/addition.cjs +1 -1
- package/dist/{cjs/bin/gen-type → bin/gen-api-type}/bin.cjs +21 -20
- package/dist/{cjs/bin/gen-type → bin/gen-api-type}/index.cjs +20 -19
- package/dist/bin/gen-table-list/bin.cjs +157 -0
- package/dist/bin/gen-table-list/index.cjs +156 -0
- package/dist/bin/gen-table-type/addition.cjs +58 -0
- package/dist/bin/gen-table-type/bin.cjs +208 -0
- package/dist/bin/gen-table-type/index.cjs +207 -0
- package/dist/bin/gen-test/bin.cjs +16 -15
- package/dist/bin/gen-test/index.cjs +15 -14
- package/dist/cjs/action/action.cjs +2 -2
- package/dist/cjs/bin/{gen-list → gen-api-list}/bin.cjs +21 -20
- package/dist/{bin/gen-list → cjs/bin/gen-api-list}/index.cjs +20 -19
- package/dist/cjs/bin/{gen-type → gen-api-type}/addition.cjs +1 -1
- package/dist/{bin/gen-type → cjs/bin/gen-api-type}/bin.cjs +21 -20
- package/dist/{bin/gen-type → cjs/bin/gen-api-type}/index.cjs +20 -19
- package/dist/cjs/bin/gen-table-list/bin.cjs +157 -0
- package/dist/cjs/bin/gen-table-list/bin.d.cts +1 -0
- package/dist/cjs/bin/gen-table-list/index.cjs +156 -0
- package/dist/cjs/bin/gen-table-list/index.d.cts +3 -0
- package/dist/cjs/bin/gen-table-type/addition.cjs +58 -0
- package/dist/cjs/bin/gen-table-type/addition.d.cts +3 -0
- package/dist/cjs/bin/gen-table-type/bin.cjs +208 -0
- package/dist/cjs/bin/gen-table-type/bin.d.cts +1 -0
- package/dist/cjs/bin/gen-table-type/index.cjs +207 -0
- package/dist/cjs/bin/gen-table-type/index.d.cts +3 -0
- package/dist/cjs/bin/gen-test/bin.cjs +16 -15
- package/dist/cjs/bin/gen-test/index.cjs +15 -14
- package/dist/cjs/global/global.cjs +2 -2
- package/dist/cjs/global/ws.cjs +2 -2
- package/dist/cjs/index.cjs +235 -95
- package/dist/cjs/index.d.cts +5 -4
- package/dist/cjs/{interface → interface-api}/interface-base.cjs +1 -1
- package/dist/cjs/{interface → interface-api}/interface-base.d.cts +4 -4
- package/dist/cjs/{interface → interface-api}/interface-logic.cjs +18 -12
- package/dist/cjs/interface-api/interface-logic.d.cts +61 -0
- package/dist/cjs/{interface → interface-api}/interface-result.cjs +1 -1
- package/dist/cjs/{interface → interface-api}/interface-result.d.cts +2 -2
- package/dist/cjs/{interface → interface-api}/interface-test.cjs +1 -1
- package/dist/cjs/interface-table/interface-table.cjs +59 -0
- package/dist/cjs/interface-table/interface-table.d.cts +95 -0
- package/dist/cjs/plugin/extend/chinese-path.d.cts +1 -1
- package/dist/cjs/plugin/extend/custom-data.cjs +2 -2
- package/dist/cjs/plugin/extend/custom-data.d.cts +1 -1
- package/dist/cjs/plugin/extend/json.cjs +6 -6
- package/dist/cjs/plugin/extend/urlencoded.cjs +5 -5
- package/dist/cjs/plugin/extend/web-socket.cjs +9 -9
- package/dist/cjs/plugin/extend/web-socket.d.cts +2 -2
- package/dist/cjs/plugin/plug.d.cts +1 -1
- package/dist/cjs/server/server.cjs +187 -68
- package/dist/cjs/server/server.d.cts +18 -5
- package/dist/cjs/tools/tools.cjs +1 -1
- package/dist/esm/action/action.js +1 -1
- package/dist/esm/bin/gen-api-list/bin.d.ts +1 -0
- package/dist/esm/bin/{gen-list → gen-api-list}/bin.js +4 -4
- package/dist/esm/bin/gen-api-list/index.d.ts +3 -0
- package/dist/esm/bin/{gen-list → gen-api-list}/index.js +1 -1
- package/dist/esm/bin/gen-api-type/addition.d.ts +3 -0
- package/dist/esm/bin/{gen-type → gen-api-type}/addition.js +1 -1
- package/dist/esm/bin/gen-api-type/bin.d.ts +1 -0
- package/dist/esm/bin/gen-api-type/bin.js +17 -0
- package/dist/esm/bin/gen-api-type/index.d.ts +3 -0
- package/dist/esm/bin/gen-api-type/index.js +7 -0
- package/dist/esm/bin/gen-table-list/bin.d.ts +1 -0
- package/dist/esm/bin/gen-table-list/bin.js +16 -0
- package/dist/esm/bin/gen-table-list/index.d.ts +3 -0
- package/dist/esm/bin/gen-table-list/index.js +6 -0
- package/dist/esm/bin/gen-table-type/addition.d.ts +3 -0
- package/dist/esm/bin/gen-table-type/addition.js +6 -0
- package/dist/esm/bin/gen-table-type/bin.d.ts +1 -0
- package/dist/esm/bin/gen-table-type/bin.js +17 -0
- package/dist/esm/bin/gen-table-type/index.d.ts +3 -0
- package/dist/esm/bin/gen-table-type/index.js +7 -0
- package/dist/esm/bin/gen-test/bin.js +2 -2
- package/dist/esm/bin/gen-test/index.js +1 -1
- package/dist/esm/{chunk-JX5MRJL6.js → chunk-43ZE4ZNH.js} +1 -1
- package/dist/esm/{chunk-5WR5VNYH.js → chunk-47ICFQXW.js} +2 -2
- package/dist/esm/{chunk-QPKNMZKV.js → chunk-4HFR4KRY.js} +1 -1
- package/dist/esm/chunk-4T2MZJJ5.js +122 -0
- package/dist/esm/{chunk-WIZEBP6C.js → chunk-BC5MM5IX.js} +15 -14
- package/dist/esm/{chunk-BC6IISWS.js → chunk-DGDZQLIJ.js} +1 -1
- package/dist/esm/{chunk-EAVNASDB.js → chunk-FIQSBTYJ.js} +2 -2
- package/dist/esm/{chunk-N7TPWCQ5.js → chunk-GLZWRYH6.js} +1 -1
- package/dist/esm/{chunk-PVE5VI5K.js → chunk-IGHJCQ2S.js} +1 -1
- package/dist/esm/{chunk-GVIGQG5Y.js → chunk-IK44HWOB.js} +5 -5
- package/dist/esm/chunk-IXO2VMS2.js +144 -0
- package/dist/esm/{chunk-6AW5SSYA.js → chunk-J5STI4LD.js} +4 -4
- package/dist/esm/{chunk-EZ7OJFSQ.js → chunk-JXGP4GSQ.js} +16 -10
- package/dist/esm/{chunk-KRQ6KUVY.js → chunk-N7WDUGZO.js} +1 -1
- package/dist/esm/{chunk-F7TZXXFE.js → chunk-OATZSW4N.js} +17 -16
- package/dist/esm/{chunk-BOCS6H24.js → chunk-OVBLCSYK.js} +16 -15
- package/dist/esm/chunk-RG6U5R37.js +34 -0
- package/dist/esm/{chunk-JMR7QAHO.js → chunk-RS244OBR.js} +1 -1
- package/dist/esm/chunk-VBCTHTJ2.js +204 -0
- package/dist/esm/chunk-XICLHBEA.js +34 -0
- package/dist/esm/{chunk-AVB7KPZC.js → chunk-XOR7HWL4.js} +8 -8
- package/dist/esm/global/global.js +2 -2
- package/dist/esm/global/ws.js +1 -1
- package/dist/esm/index.d.ts +5 -4
- package/dist/esm/index.js +19 -13
- package/dist/esm/{interface → interface-api}/interface-base.d.ts +4 -4
- package/dist/esm/{interface → interface-api}/interface-base.js +1 -1
- package/dist/esm/interface-api/interface-logic.d.ts +61 -0
- package/dist/esm/interface-api/interface-logic.js +8 -0
- package/dist/esm/{interface → interface-api}/interface-result.d.ts +2 -2
- package/dist/esm/{interface → interface-api}/interface-result.js +1 -1
- package/dist/esm/{interface → interface-api}/interface-test.js +1 -1
- package/dist/esm/interface-table/interface-table.d.ts +95 -0
- package/dist/esm/interface-table/interface-table.js +8 -0
- package/dist/esm/plugin/extend/chinese-path.d.ts +1 -1
- package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
- package/dist/esm/plugin/extend/custom-data.js +3 -3
- package/dist/esm/plugin/extend/json.js +4 -4
- package/dist/esm/plugin/extend/urlencoded.js +3 -3
- package/dist/esm/plugin/extend/web-socket.d.ts +2 -2
- package/dist/esm/plugin/extend/web-socket.js +3 -3
- package/dist/esm/plugin/plug.d.ts +1 -1
- package/dist/esm/server/server.d.ts +18 -5
- package/dist/esm/server/server.js +5 -4
- package/dist/esm/tools/tools.js +1 -1
- package/package.json +18 -8
- package/dist/cjs/interface/interface-logic.d.cts +0 -42
- package/dist/esm/bin/gen-type/bin.js +0 -17
- package/dist/esm/bin/gen-type/index.js +0 -7
- package/dist/esm/chunk-3ERQ6GCK.js +0 -101
- package/dist/esm/interface/interface-logic.d.ts +0 -42
- package/dist/esm/interface/interface-logic.js +0 -8
- /package/dist/bin/{gen-list → gen-api-list}/bin.d.cts +0 -0
- /package/dist/bin/{gen-list → gen-api-list}/index.d.cts +0 -0
- /package/dist/bin/{gen-type → gen-api-type}/addition.d.cts +0 -0
- /package/dist/bin/{gen-type → gen-api-type}/bin.d.cts +0 -0
- /package/dist/bin/{gen-type → gen-api-type}/index.d.cts +0 -0
- /package/dist/{cjs/bin/gen-list → bin/gen-table-list}/bin.d.cts +0 -0
- /package/dist/{cjs/bin/gen-list → bin/gen-table-list}/index.d.cts +0 -0
- /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/addition.d.cts +0 -0
- /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/bin.d.cts +0 -0
- /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/index.d.cts +0 -0
- /package/dist/{esm/bin/gen-list/bin.d.ts → cjs/bin/gen-api-list/bin.d.cts} +0 -0
- /package/dist/{esm/bin/gen-list/index.d.ts → cjs/bin/gen-api-list/index.d.cts} +0 -0
- /package/dist/{esm/bin/gen-type/addition.d.ts → cjs/bin/gen-api-type/addition.d.cts} +0 -0
- /package/dist/{esm/bin/gen-type/bin.d.ts → cjs/bin/gen-api-type/bin.d.cts} +0 -0
- /package/dist/{esm/bin/gen-type/index.d.ts → cjs/bin/gen-api-type/index.d.cts} +0 -0
- /package/dist/cjs/{interface → interface-api}/interface-test.d.cts +0 -0
- /package/dist/esm/{interface → interface-api}/interface-test.d.ts +0 -0
|
@@ -23,20 +23,20 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
23
23
|
mod
|
|
24
24
|
));
|
|
25
25
|
|
|
26
|
-
// src/bin/gen-list/bin.ts
|
|
27
|
-
var import_node_path2 = __toESM(require("path"), 1);
|
|
26
|
+
// src/bin/gen-api-list/bin.ts
|
|
28
27
|
var import_commander = require("commander");
|
|
28
|
+
var import_node_path2 = __toESM(require("path"), 1);
|
|
29
29
|
|
|
30
|
-
// src/bin/gen-list/index.ts
|
|
30
|
+
// src/bin/gen-api-list/index.ts
|
|
31
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
32
|
+
var import_lodash = __toESM(require("lodash"), 1);
|
|
31
33
|
var import_node_crypto = require("crypto");
|
|
32
34
|
var import_node_fs = __toESM(require("fs"), 1);
|
|
33
35
|
var import_node_path = __toESM(require("path"), 1);
|
|
34
|
-
var import_lodash = __toESM(require("lodash"), 1);
|
|
35
36
|
var import_typescript = __toESM(require("typescript"), 1);
|
|
36
|
-
var import_ts_log = require("@lsby/ts-log");
|
|
37
37
|
function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
38
38
|
for (let statement of \u6E90\u6587\u4EF6.statements) {
|
|
39
|
-
if (import_typescript.default.isExportAssignment(statement) && statement.isExportEquals ===
|
|
39
|
+
if (import_typescript.default.isExportAssignment(statement) && (statement.isExportEquals ?? null) === null) {
|
|
40
40
|
return true;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
@@ -52,14 +52,15 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
|
|
|
52
52
|
return import_node_path.default.relative(import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a.fileName).replaceAll("\\", "/").replaceAll(".ts", "");
|
|
53
53
|
}
|
|
54
54
|
async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
|
|
55
|
-
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-list");
|
|
56
|
-
await log.debug("\u5F00\u59CB\u751F\
|
|
55
|
+
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-api-list");
|
|
56
|
+
await log.debug("\u5F00\u59CB\u751F\u6210api\u63A5\u53E3\u5217\u8868...");
|
|
57
57
|
await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
|
|
58
58
|
await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
|
|
59
59
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
60
60
|
let tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
|
|
61
|
-
|
|
62
|
-
|
|
61
|
+
let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
|
|
62
|
+
if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
|
|
63
|
+
await log.error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
|
|
63
64
|
throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
|
|
64
65
|
}
|
|
65
66
|
let \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
|
|
@@ -70,10 +71,10 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
70
71
|
let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
|
|
71
72
|
let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
|
|
72
73
|
let \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF6.fileName);
|
|
73
|
-
if (
|
|
74
|
+
if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
|
|
74
75
|
return false;
|
|
75
76
|
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
|
|
76
|
-
if (
|
|
77
|
+
if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
|
|
77
78
|
return false;
|
|
78
79
|
return true;
|
|
79
80
|
});
|
|
@@ -97,8 +98,8 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
97
98
|
host: {
|
|
98
99
|
...\u9879\u76EE\u4E3B\u673A,
|
|
99
100
|
getSourceFile: (filename) => {
|
|
100
|
-
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName
|
|
101
|
-
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6
|
|
101
|
+
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
|
|
102
|
+
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
|
|
102
103
|
return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
|
|
103
104
|
return \u9879\u76EE.getSourceFile(filename);
|
|
104
105
|
}
|
|
@@ -113,14 +114,14 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
113
114
|
if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
|
|
114
115
|
let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
|
|
115
116
|
let \u6587\u672C\u7ED3\u679C = \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(type);
|
|
116
|
-
if (\u6587\u672C\u7ED3\u679C
|
|
117
|
+
if (\u6587\u672C\u7ED3\u679C === "true")
|
|
117
118
|
\u7ED3\u679C = true;
|
|
118
119
|
}
|
|
119
120
|
});
|
|
120
121
|
\u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
|
|
121
122
|
}
|
|
122
|
-
let \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1]
|
|
123
|
-
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \
|
|
123
|
+
let \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] === true).map((a) => a[0] ?? null).filter((a) => a !== null);
|
|
124
|
+
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2Aapi\u63A5\u53E3\u5B9E\u73B0`);
|
|
124
125
|
let \u6700\u7EC8\u4EE3\u7801 = [
|
|
125
126
|
`import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
126
127
|
"",
|
|
@@ -133,15 +134,15 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
133
134
|
];
|
|
134
135
|
await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
|
|
135
136
|
let \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
|
|
136
|
-
if (
|
|
137
|
+
if (import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
|
|
137
138
|
import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
|
|
138
139
|
import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
|
|
139
140
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
140
141
|
}
|
|
141
142
|
|
|
142
|
-
// src/bin/gen-list/bin.ts
|
|
143
|
+
// src/bin/gen-api-list/bin.ts
|
|
143
144
|
var program = new import_commander.Command();
|
|
144
|
-
program.name("\u751F\u6210\
|
|
145
|
+
program.name("\u751F\u6210\u63A5\u53E3api\u6587\u4EF6\u5217\u8868").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outFilePath) => {
|
|
145
146
|
let absoluteTsconfigPath = import_node_path2.default.resolve(tsconfigPath);
|
|
146
147
|
let absoluteApiFolderPath = import_node_path2.default.resolve(interfaceFolderPath);
|
|
147
148
|
let absoluteOutputPath = import_node_path2.default.resolve(outFilePath);
|
|
@@ -27,21 +27,21 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// src/bin/gen-list/index.ts
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
30
|
+
// src/bin/gen-api-list/index.ts
|
|
31
|
+
var gen_api_list_exports = {};
|
|
32
|
+
__export(gen_api_list_exports, {
|
|
33
33
|
main: () => main
|
|
34
34
|
});
|
|
35
|
-
module.exports = __toCommonJS(
|
|
35
|
+
module.exports = __toCommonJS(gen_api_list_exports);
|
|
36
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
37
|
+
var import_lodash = __toESM(require("lodash"), 1);
|
|
36
38
|
var import_node_crypto = require("crypto");
|
|
37
39
|
var import_node_fs = __toESM(require("fs"), 1);
|
|
38
40
|
var import_node_path = __toESM(require("path"), 1);
|
|
39
|
-
var import_lodash = __toESM(require("lodash"), 1);
|
|
40
41
|
var import_typescript = __toESM(require("typescript"), 1);
|
|
41
|
-
var import_ts_log = require("@lsby/ts-log");
|
|
42
42
|
function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
43
43
|
for (let statement of \u6E90\u6587\u4EF6.statements) {
|
|
44
|
-
if (import_typescript.default.isExportAssignment(statement) && statement.isExportEquals ===
|
|
44
|
+
if (import_typescript.default.isExportAssignment(statement) && (statement.isExportEquals ?? null) === null) {
|
|
45
45
|
return true;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -57,14 +57,15 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
|
|
|
57
57
|
return import_node_path.default.relative(import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a.fileName).replaceAll("\\", "/").replaceAll(".ts", "");
|
|
58
58
|
}
|
|
59
59
|
async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
|
|
60
|
-
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-list");
|
|
61
|
-
await log.debug("\u5F00\u59CB\u751F\
|
|
60
|
+
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-api-list");
|
|
61
|
+
await log.debug("\u5F00\u59CB\u751F\u6210api\u63A5\u53E3\u5217\u8868...");
|
|
62
62
|
await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
|
|
63
63
|
await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
|
|
64
64
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
65
65
|
let tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
|
|
67
|
+
if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
|
|
68
|
+
await log.error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
|
|
68
69
|
throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
|
|
69
70
|
}
|
|
70
71
|
let \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
|
|
@@ -75,10 +76,10 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
75
76
|
let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
|
|
76
77
|
let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
|
|
77
78
|
let \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF6.fileName);
|
|
78
|
-
if (
|
|
79
|
+
if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
|
|
79
80
|
return false;
|
|
80
81
|
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
|
|
81
|
-
if (
|
|
82
|
+
if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
|
|
82
83
|
return false;
|
|
83
84
|
return true;
|
|
84
85
|
});
|
|
@@ -102,8 +103,8 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
102
103
|
host: {
|
|
103
104
|
...\u9879\u76EE\u4E3B\u673A,
|
|
104
105
|
getSourceFile: (filename) => {
|
|
105
|
-
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName
|
|
106
|
-
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6
|
|
106
|
+
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
|
|
107
|
+
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
|
|
107
108
|
return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
|
|
108
109
|
return \u9879\u76EE.getSourceFile(filename);
|
|
109
110
|
}
|
|
@@ -118,14 +119,14 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
118
119
|
if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
|
|
119
120
|
let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
|
|
120
121
|
let \u6587\u672C\u7ED3\u679C = \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(type);
|
|
121
|
-
if (\u6587\u672C\u7ED3\u679C
|
|
122
|
+
if (\u6587\u672C\u7ED3\u679C === "true")
|
|
122
123
|
\u7ED3\u679C = true;
|
|
123
124
|
}
|
|
124
125
|
});
|
|
125
126
|
\u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
|
|
126
127
|
}
|
|
127
|
-
let \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1]
|
|
128
|
-
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \
|
|
128
|
+
let \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] === true).map((a) => a[0] ?? null).filter((a) => a !== null);
|
|
129
|
+
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2Aapi\u63A5\u53E3\u5B9E\u73B0`);
|
|
129
130
|
let \u6700\u7EC8\u4EE3\u7801 = [
|
|
130
131
|
`import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
131
132
|
"",
|
|
@@ -138,7 +139,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
138
139
|
];
|
|
139
140
|
await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
|
|
140
141
|
let \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
|
|
141
|
-
if (
|
|
142
|
+
if (import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
|
|
142
143
|
import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
|
|
143
144
|
import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
|
|
144
145
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
@@ -17,7 +17,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
|
|
20
|
-
// src/bin/gen-type/addition.ts
|
|
20
|
+
// src/bin/gen-api-type/addition.ts
|
|
21
21
|
var addition_exports = {};
|
|
22
22
|
__export(addition_exports, {
|
|
23
23
|
\u9644\u52A0\u4EE3\u7801: () => \u9644\u52A0\u4EE3\u7801
|
|
@@ -23,18 +23,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
23
23
|
mod
|
|
24
24
|
));
|
|
25
25
|
|
|
26
|
-
// src/bin/gen-type/bin.ts
|
|
27
|
-
var import_node_path2 = __toESM(require("path"), 1);
|
|
26
|
+
// src/bin/gen-api-type/bin.ts
|
|
28
27
|
var import_commander = require("commander");
|
|
28
|
+
var import_node_path2 = __toESM(require("path"), 1);
|
|
29
29
|
|
|
30
|
-
// src/bin/gen-type/index.ts
|
|
30
|
+
// src/bin/gen-api-type/index.ts
|
|
31
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
31
32
|
var import_node_crypto = require("crypto");
|
|
32
33
|
var import_node_fs = __toESM(require("fs"), 1);
|
|
33
34
|
var import_node_path = __toESM(require("path"), 1);
|
|
34
35
|
var import_typescript = __toESM(require("typescript"), 1);
|
|
35
|
-
var import_ts_log = require("@lsby/ts-log");
|
|
36
36
|
|
|
37
|
-
// src/bin/gen-type/addition.ts
|
|
37
|
+
// src/bin/gen-api-type/addition.ts
|
|
38
38
|
var \u9644\u52A0\u4EE3\u7801 = `
|
|
39
39
|
export type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never
|
|
40
40
|
|
|
@@ -155,24 +155,25 @@ export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84
|
|
|
155
155
|
) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>
|
|
156
156
|
`;
|
|
157
157
|
|
|
158
|
-
// src/bin/gen-type/index.ts
|
|
158
|
+
// src/bin/gen-api-type/index.ts
|
|
159
159
|
function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
160
160
|
for (let statement of \u6E90\u6587\u4EF6.statements) {
|
|
161
|
-
if (import_typescript.default.isExportAssignment(statement) && statement.isExportEquals ===
|
|
161
|
+
if (import_typescript.default.isExportAssignment(statement) && (statement.isExportEquals ?? null) === null) {
|
|
162
162
|
return true;
|
|
163
163
|
}
|
|
164
164
|
}
|
|
165
165
|
return false;
|
|
166
166
|
}
|
|
167
167
|
async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
|
|
168
|
-
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-type");
|
|
168
|
+
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-api-type");
|
|
169
169
|
await log.debug("\u5F00\u59CB\u751F\u6210\u7C7B\u578B...");
|
|
170
170
|
await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
|
|
171
171
|
await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
|
|
172
172
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
173
173
|
let tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
|
|
175
|
+
if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
|
|
176
|
+
await log.error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
|
|
176
177
|
throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
|
|
177
178
|
}
|
|
178
179
|
let \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
|
|
@@ -183,10 +184,10 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
183
184
|
let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
|
|
184
185
|
let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
|
|
185
186
|
let \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF6.fileName);
|
|
186
|
-
if (
|
|
187
|
+
if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
|
|
187
188
|
return false;
|
|
188
189
|
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
|
|
189
|
-
if (
|
|
190
|
+
if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
|
|
190
191
|
return false;
|
|
191
192
|
return true;
|
|
192
193
|
});
|
|
@@ -251,8 +252,8 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
251
252
|
host: {
|
|
252
253
|
...\u9879\u76EE\u4E3B\u673A,
|
|
253
254
|
getSourceFile: (filename) => {
|
|
254
|
-
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName
|
|
255
|
-
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6
|
|
255
|
+
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
|
|
256
|
+
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
|
|
256
257
|
return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
|
|
257
258
|
return \u9879\u76EE.getSourceFile(filename);
|
|
258
259
|
}
|
|
@@ -285,9 +286,9 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
285
286
|
}
|
|
286
287
|
});
|
|
287
288
|
}
|
|
288
|
-
let \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a
|
|
289
|
-
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \
|
|
290
|
-
let \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a
|
|
289
|
+
let \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a !== "any" && a !== "never" && a !== "unknown")));
|
|
290
|
+
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2Ajson\u63A5\u53E3\u7C7B\u578B`);
|
|
291
|
+
let \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a !== "any" && a !== "never" && a !== "unknown")));
|
|
291
292
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_WS.length} \u4E2Aws\u63A5\u53E3\u7C7B\u578B`);
|
|
292
293
|
let \u6700\u7EC8\u4EE3\u7801 = [
|
|
293
294
|
`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C_JSON.join(",")}]`,
|
|
@@ -296,15 +297,15 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
296
297
|
];
|
|
297
298
|
await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
|
|
298
299
|
let \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
|
|
299
|
-
if (
|
|
300
|
+
if (import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
|
|
300
301
|
import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
|
|
301
302
|
import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
|
|
302
303
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
303
304
|
}
|
|
304
305
|
|
|
305
|
-
// src/bin/gen-type/bin.ts
|
|
306
|
+
// src/bin/gen-api-type/bin.ts
|
|
306
307
|
var program = new import_commander.Command();
|
|
307
|
-
program.name("\u751F\
|
|
308
|
+
program.name("\u751F\u6210api\u63A5\u53E3\u7C7B\u578B\u6587\u4EF6").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outputPath) => {
|
|
308
309
|
let absoluteTsconfigPath = import_node_path2.default.resolve(tsconfigPath);
|
|
309
310
|
let absoluteApiFolderPath = import_node_path2.default.resolve(interfaceFolderPath);
|
|
310
311
|
let absoluteOutputPath = import_node_path2.default.resolve(outputPath);
|
|
@@ -27,19 +27,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
27
27
|
));
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
|
-
// src/bin/gen-type/index.ts
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
30
|
+
// src/bin/gen-api-type/index.ts
|
|
31
|
+
var gen_api_type_exports = {};
|
|
32
|
+
__export(gen_api_type_exports, {
|
|
33
33
|
main: () => main
|
|
34
34
|
});
|
|
35
|
-
module.exports = __toCommonJS(
|
|
35
|
+
module.exports = __toCommonJS(gen_api_type_exports);
|
|
36
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
36
37
|
var import_node_crypto = require("crypto");
|
|
37
38
|
var import_node_fs = __toESM(require("fs"), 1);
|
|
38
39
|
var import_node_path = __toESM(require("path"), 1);
|
|
39
40
|
var import_typescript = __toESM(require("typescript"), 1);
|
|
40
|
-
var import_ts_log = require("@lsby/ts-log");
|
|
41
41
|
|
|
42
|
-
// src/bin/gen-type/addition.ts
|
|
42
|
+
// src/bin/gen-api-type/addition.ts
|
|
43
43
|
var \u9644\u52A0\u4EE3\u7801 = `
|
|
44
44
|
export type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never
|
|
45
45
|
|
|
@@ -160,24 +160,25 @@ export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84
|
|
|
160
160
|
) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>
|
|
161
161
|
`;
|
|
162
162
|
|
|
163
|
-
// src/bin/gen-type/index.ts
|
|
163
|
+
// src/bin/gen-api-type/index.ts
|
|
164
164
|
function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
165
165
|
for (let statement of \u6E90\u6587\u4EF6.statements) {
|
|
166
|
-
if (import_typescript.default.isExportAssignment(statement) && statement.isExportEquals ===
|
|
166
|
+
if (import_typescript.default.isExportAssignment(statement) && (statement.isExportEquals ?? null) === null) {
|
|
167
167
|
return true;
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
return false;
|
|
171
171
|
}
|
|
172
172
|
async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
|
|
173
|
-
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-type");
|
|
173
|
+
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-api-type");
|
|
174
174
|
await log.debug("\u5F00\u59CB\u751F\u6210\u7C7B\u578B...");
|
|
175
175
|
await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
|
|
176
176
|
await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
|
|
177
177
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
178
178
|
let tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
|
|
180
|
+
if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
|
|
181
|
+
await log.error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
|
|
181
182
|
throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
|
|
182
183
|
}
|
|
183
184
|
let \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
|
|
@@ -188,10 +189,10 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
188
189
|
let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
|
|
189
190
|
let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
|
|
190
191
|
let \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF6.fileName);
|
|
191
|
-
if (
|
|
192
|
+
if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
|
|
192
193
|
return false;
|
|
193
194
|
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
|
|
194
|
-
if (
|
|
195
|
+
if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
|
|
195
196
|
return false;
|
|
196
197
|
return true;
|
|
197
198
|
});
|
|
@@ -256,8 +257,8 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
256
257
|
host: {
|
|
257
258
|
...\u9879\u76EE\u4E3B\u673A,
|
|
258
259
|
getSourceFile: (filename) => {
|
|
259
|
-
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName
|
|
260
|
-
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6
|
|
260
|
+
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
|
|
261
|
+
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
|
|
261
262
|
return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
|
|
262
263
|
return \u9879\u76EE.getSourceFile(filename);
|
|
263
264
|
}
|
|
@@ -290,9 +291,9 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
290
291
|
}
|
|
291
292
|
});
|
|
292
293
|
}
|
|
293
|
-
let \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a
|
|
294
|
-
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \
|
|
295
|
-
let \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a
|
|
294
|
+
let \u6700\u7EC8\u7ED3\u679C_JSON = Array.from(new Set(JSON\u7ED3\u679C.filter((a) => a !== "any" && a !== "never" && a !== "unknown")));
|
|
295
|
+
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2Ajson\u63A5\u53E3\u7C7B\u578B`);
|
|
296
|
+
let \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a !== "any" && a !== "never" && a !== "unknown")));
|
|
296
297
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_WS.length} \u4E2Aws\u63A5\u53E3\u7C7B\u578B`);
|
|
297
298
|
let \u6700\u7EC8\u4EE3\u7801 = [
|
|
298
299
|
`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C_JSON.join(",")}]`,
|
|
@@ -301,7 +302,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
301
302
|
];
|
|
302
303
|
await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
|
|
303
304
|
let \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
|
|
304
|
-
if (
|
|
305
|
+
if (import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
|
|
305
306
|
import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
|
|
306
307
|
import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
|
|
307
308
|
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
18
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
19
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
20
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
21
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
22
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
23
|
+
mod
|
|
24
|
+
));
|
|
25
|
+
|
|
26
|
+
// src/bin/gen-table-list/bin.ts
|
|
27
|
+
var import_commander = require("commander");
|
|
28
|
+
var import_node_path2 = __toESM(require("path"), 1);
|
|
29
|
+
|
|
30
|
+
// src/bin/gen-table-list/index.ts
|
|
31
|
+
var import_ts_log = require("@lsby/ts-log");
|
|
32
|
+
var import_lodash = __toESM(require("lodash"), 1);
|
|
33
|
+
var import_node_crypto = require("crypto");
|
|
34
|
+
var import_node_fs = __toESM(require("fs"), 1);
|
|
35
|
+
var import_node_path = __toESM(require("path"), 1);
|
|
36
|
+
var import_typescript = __toESM(require("typescript"), 1);
|
|
37
|
+
function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
|
|
38
|
+
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = false;
|
|
39
|
+
import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (\u8282\u70B9) => {
|
|
40
|
+
if (import_typescript.default.isExportDeclaration(\u8282\u70B9)) {
|
|
41
|
+
let \u8282\u70B9\u5BFC\u51FA = \u8282\u70B9.exportClause ?? null;
|
|
42
|
+
if (\u8282\u70B9\u5BFC\u51FA !== null && import_typescript.default.isDefaultClause(\u8282\u70B9\u5BFC\u51FA) || import_typescript.default.isExportAssignment(\u8282\u70B9)) {
|
|
43
|
+
\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = true;
|
|
44
|
+
}
|
|
45
|
+
} else if (import_typescript.default.isClassDeclaration(\u8282\u70B9) && (\u8282\u70B9.modifiers?.some((mod) => mod.kind === import_typescript.default.SyntaxKind.DefaultKeyword) ?? false)) {
|
|
46
|
+
\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = true;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
return \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA;
|
|
50
|
+
}
|
|
51
|
+
function \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(\u5B57\u7B26\u4E32) {
|
|
52
|
+
return "_" + \u5B57\u7B26\u4E32.replace(/[ !\-!@#$%^&*()\[\]{}\\|;:'",.\/?]/g, "_");
|
|
53
|
+
}
|
|
54
|
+
function \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a) {
|
|
55
|
+
return \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(import_node_path.default.relative(import_node_path.default.dirname(tsconfig\u8DEF\u5F84), a.fileName));
|
|
56
|
+
}
|
|
57
|
+
function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a) {
|
|
58
|
+
return import_node_path.default.relative(import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a.fileName).replaceAll("\\", "/").replaceAll(".ts", "");
|
|
59
|
+
}
|
|
60
|
+
async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
|
|
61
|
+
let log = new import_ts_log.Log("@lsby:net-core").extend("gen-table-list");
|
|
62
|
+
await log.debug("\u5F00\u59CB\u751F\u6210\u63A5\u53E3\u5217\u8868...");
|
|
63
|
+
await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
|
|
64
|
+
await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
|
|
65
|
+
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
66
|
+
let tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
|
|
67
|
+
let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
|
|
68
|
+
if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
|
|
69
|
+
await log.error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
|
|
70
|
+
throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
|
|
71
|
+
}
|
|
72
|
+
let \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
|
|
73
|
+
await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
|
|
74
|
+
let \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
|
|
75
|
+
let \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
|
|
76
|
+
await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
|
|
77
|
+
let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
|
|
78
|
+
let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
|
|
79
|
+
let \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF6.fileName);
|
|
80
|
+
if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
|
|
81
|
+
return false;
|
|
82
|
+
let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
|
|
83
|
+
if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
|
|
84
|
+
return false;
|
|
85
|
+
return true;
|
|
86
|
+
});
|
|
87
|
+
await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
|
|
88
|
+
let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
|
|
89
|
+
let \u4EE3\u7801 = [
|
|
90
|
+
`import { \u4EFB\u610F\u865A\u62DF\u8868 } from '@lsby/net-core'`,
|
|
91
|
+
`import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
|
|
92
|
+
``,
|
|
93
|
+
`type \u8BA1\u7B97\u7ED3\u679C = \u5BFC\u5165 extends \u4EFB\u610F\u865A\u62DF\u8868 ? true : false`
|
|
94
|
+
];
|
|
95
|
+
return import_typescript.default.createSourceFile(
|
|
96
|
+
a.fileName.replaceAll(".ts", "-" + (0, import_node_crypto.randomUUID)() + ".ts"),
|
|
97
|
+
\u4EE3\u7801.join("\n"),
|
|
98
|
+
import_typescript.default.ScriptTarget.Latest
|
|
99
|
+
);
|
|
100
|
+
});
|
|
101
|
+
let \u65B0\u9879\u76EE = import_typescript.default.createProgram({
|
|
102
|
+
rootNames: [...\u9879\u76EE.getSourceFiles().map((a) => a.fileName), ...\u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.map((a) => a.fileName)],
|
|
103
|
+
options: \u89E3\u6790\u540E\u7684tsconfig.options,
|
|
104
|
+
host: {
|
|
105
|
+
...\u9879\u76EE\u4E3B\u673A,
|
|
106
|
+
getSourceFile: (filename) => {
|
|
107
|
+
let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
|
|
108
|
+
if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
|
|
109
|
+
return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
|
|
110
|
+
return \u9879\u76EE.getSourceFile(filename);
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
oldProgram: \u9879\u76EE
|
|
114
|
+
});
|
|
115
|
+
let \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
|
|
116
|
+
let \u68C0\u67E5\u7ED3\u679C = [];
|
|
117
|
+
for (let \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
|
|
118
|
+
let \u7ED3\u679C = false;
|
|
119
|
+
import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (node) => {
|
|
120
|
+
if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
|
|
121
|
+
let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
|
|
122
|
+
let \u6587\u672C\u7ED3\u679C = \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(type);
|
|
123
|
+
if (\u6587\u672C\u7ED3\u679C === "true")
|
|
124
|
+
\u7ED3\u679C = true;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
\u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
|
|
128
|
+
}
|
|
129
|
+
let \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] === true).map((a) => a[0] ?? null).filter((a) => a !== null);
|
|
130
|
+
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
|
|
131
|
+
let \u6700\u7EC8\u4EE3\u7801 = [
|
|
132
|
+
`import { \u4EFB\u610F\u865A\u62DF\u8868 } from '@lsby/net-core'`,
|
|
133
|
+
"",
|
|
134
|
+
...\u6700\u7EC8\u7ED3\u679C.map((a) => `import ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)} from './${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`),
|
|
135
|
+
"",
|
|
136
|
+
`export let interfaceTableList: { new (\u6784\u9020\u53C2\u6570: any): \u4EFB\u610F\u865A\u62DF\u8868; \u8D44\u6E90\u8DEF\u5F84: string }[] = [`,
|
|
137
|
+
...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` ${a},`),
|
|
138
|
+
`]`,
|
|
139
|
+
""
|
|
140
|
+
];
|
|
141
|
+
await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
|
|
142
|
+
let \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
|
|
143
|
+
if (import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
|
|
144
|
+
import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
|
|
145
|
+
import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
|
|
146
|
+
await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// src/bin/gen-table-list/bin.ts
|
|
150
|
+
var program = new import_commander.Command();
|
|
151
|
+
program.name("\u751F\u6210\u8868\u63A5\u53E3\u6587\u4EF6\u5217\u8868").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outFilePath) => {
|
|
152
|
+
let absoluteTsconfigPath = import_node_path2.default.resolve(tsconfigPath);
|
|
153
|
+
let absoluteApiFolderPath = import_node_path2.default.resolve(interfaceFolderPath);
|
|
154
|
+
let absoluteOutputPath = import_node_path2.default.resolve(outFilePath);
|
|
155
|
+
await main(absoluteTsconfigPath, absoluteApiFolderPath, absoluteOutputPath);
|
|
156
|
+
});
|
|
157
|
+
program.parse(process.argv);
|