@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.
Files changed (146) hide show
  1. package/dist/bin/{gen-list → gen-api-list}/bin.cjs +21 -20
  2. package/dist/{cjs/bin/gen-list → bin/gen-api-list}/index.cjs +20 -19
  3. package/dist/bin/{gen-type → gen-api-type}/addition.cjs +1 -1
  4. package/dist/{cjs/bin/gen-type → bin/gen-api-type}/bin.cjs +21 -20
  5. package/dist/{cjs/bin/gen-type → bin/gen-api-type}/index.cjs +20 -19
  6. package/dist/bin/gen-table-list/bin.cjs +157 -0
  7. package/dist/bin/gen-table-list/index.cjs +156 -0
  8. package/dist/bin/gen-table-type/addition.cjs +58 -0
  9. package/dist/bin/gen-table-type/bin.cjs +208 -0
  10. package/dist/bin/gen-table-type/index.cjs +207 -0
  11. package/dist/bin/gen-test/bin.cjs +16 -15
  12. package/dist/bin/gen-test/index.cjs +15 -14
  13. package/dist/cjs/action/action.cjs +2 -2
  14. package/dist/cjs/bin/{gen-list → gen-api-list}/bin.cjs +21 -20
  15. package/dist/{bin/gen-list → cjs/bin/gen-api-list}/index.cjs +20 -19
  16. package/dist/cjs/bin/{gen-type → gen-api-type}/addition.cjs +1 -1
  17. package/dist/{bin/gen-type → cjs/bin/gen-api-type}/bin.cjs +21 -20
  18. package/dist/{bin/gen-type → cjs/bin/gen-api-type}/index.cjs +20 -19
  19. package/dist/cjs/bin/gen-table-list/bin.cjs +157 -0
  20. package/dist/cjs/bin/gen-table-list/bin.d.cts +1 -0
  21. package/dist/cjs/bin/gen-table-list/index.cjs +156 -0
  22. package/dist/cjs/bin/gen-table-list/index.d.cts +3 -0
  23. package/dist/cjs/bin/gen-table-type/addition.cjs +58 -0
  24. package/dist/cjs/bin/gen-table-type/addition.d.cts +3 -0
  25. package/dist/cjs/bin/gen-table-type/bin.cjs +208 -0
  26. package/dist/cjs/bin/gen-table-type/bin.d.cts +1 -0
  27. package/dist/cjs/bin/gen-table-type/index.cjs +207 -0
  28. package/dist/cjs/bin/gen-table-type/index.d.cts +3 -0
  29. package/dist/cjs/bin/gen-test/bin.cjs +16 -15
  30. package/dist/cjs/bin/gen-test/index.cjs +15 -14
  31. package/dist/cjs/global/global.cjs +2 -2
  32. package/dist/cjs/global/ws.cjs +2 -2
  33. package/dist/cjs/index.cjs +235 -95
  34. package/dist/cjs/index.d.cts +5 -4
  35. package/dist/cjs/{interface → interface-api}/interface-base.cjs +1 -1
  36. package/dist/cjs/{interface → interface-api}/interface-base.d.cts +4 -4
  37. package/dist/cjs/{interface → interface-api}/interface-logic.cjs +18 -12
  38. package/dist/cjs/interface-api/interface-logic.d.cts +61 -0
  39. package/dist/cjs/{interface → interface-api}/interface-result.cjs +1 -1
  40. package/dist/cjs/{interface → interface-api}/interface-result.d.cts +2 -2
  41. package/dist/cjs/{interface → interface-api}/interface-test.cjs +1 -1
  42. package/dist/cjs/interface-table/interface-table.cjs +59 -0
  43. package/dist/cjs/interface-table/interface-table.d.cts +95 -0
  44. package/dist/cjs/plugin/extend/chinese-path.d.cts +1 -1
  45. package/dist/cjs/plugin/extend/custom-data.cjs +2 -2
  46. package/dist/cjs/plugin/extend/custom-data.d.cts +1 -1
  47. package/dist/cjs/plugin/extend/json.cjs +6 -6
  48. package/dist/cjs/plugin/extend/urlencoded.cjs +5 -5
  49. package/dist/cjs/plugin/extend/web-socket.cjs +9 -9
  50. package/dist/cjs/plugin/extend/web-socket.d.cts +2 -2
  51. package/dist/cjs/plugin/plug.d.cts +1 -1
  52. package/dist/cjs/server/server.cjs +187 -68
  53. package/dist/cjs/server/server.d.cts +18 -5
  54. package/dist/cjs/tools/tools.cjs +1 -1
  55. package/dist/esm/action/action.js +1 -1
  56. package/dist/esm/bin/gen-api-list/bin.d.ts +1 -0
  57. package/dist/esm/bin/{gen-list → gen-api-list}/bin.js +4 -4
  58. package/dist/esm/bin/gen-api-list/index.d.ts +3 -0
  59. package/dist/esm/bin/{gen-list → gen-api-list}/index.js +1 -1
  60. package/dist/esm/bin/gen-api-type/addition.d.ts +3 -0
  61. package/dist/esm/bin/{gen-type → gen-api-type}/addition.js +1 -1
  62. package/dist/esm/bin/gen-api-type/bin.d.ts +1 -0
  63. package/dist/esm/bin/gen-api-type/bin.js +17 -0
  64. package/dist/esm/bin/gen-api-type/index.d.ts +3 -0
  65. package/dist/esm/bin/gen-api-type/index.js +7 -0
  66. package/dist/esm/bin/gen-table-list/bin.d.ts +1 -0
  67. package/dist/esm/bin/gen-table-list/bin.js +16 -0
  68. package/dist/esm/bin/gen-table-list/index.d.ts +3 -0
  69. package/dist/esm/bin/gen-table-list/index.js +6 -0
  70. package/dist/esm/bin/gen-table-type/addition.d.ts +3 -0
  71. package/dist/esm/bin/gen-table-type/addition.js +6 -0
  72. package/dist/esm/bin/gen-table-type/bin.d.ts +1 -0
  73. package/dist/esm/bin/gen-table-type/bin.js +17 -0
  74. package/dist/esm/bin/gen-table-type/index.d.ts +3 -0
  75. package/dist/esm/bin/gen-table-type/index.js +7 -0
  76. package/dist/esm/bin/gen-test/bin.js +2 -2
  77. package/dist/esm/bin/gen-test/index.js +1 -1
  78. package/dist/esm/{chunk-JX5MRJL6.js → chunk-43ZE4ZNH.js} +1 -1
  79. package/dist/esm/{chunk-5WR5VNYH.js → chunk-47ICFQXW.js} +2 -2
  80. package/dist/esm/{chunk-QPKNMZKV.js → chunk-4HFR4KRY.js} +1 -1
  81. package/dist/esm/chunk-4T2MZJJ5.js +122 -0
  82. package/dist/esm/{chunk-WIZEBP6C.js → chunk-BC5MM5IX.js} +15 -14
  83. package/dist/esm/{chunk-BC6IISWS.js → chunk-DGDZQLIJ.js} +1 -1
  84. package/dist/esm/{chunk-EAVNASDB.js → chunk-FIQSBTYJ.js} +2 -2
  85. package/dist/esm/{chunk-N7TPWCQ5.js → chunk-GLZWRYH6.js} +1 -1
  86. package/dist/esm/{chunk-PVE5VI5K.js → chunk-IGHJCQ2S.js} +1 -1
  87. package/dist/esm/{chunk-GVIGQG5Y.js → chunk-IK44HWOB.js} +5 -5
  88. package/dist/esm/chunk-IXO2VMS2.js +144 -0
  89. package/dist/esm/{chunk-6AW5SSYA.js → chunk-J5STI4LD.js} +4 -4
  90. package/dist/esm/{chunk-EZ7OJFSQ.js → chunk-JXGP4GSQ.js} +16 -10
  91. package/dist/esm/{chunk-KRQ6KUVY.js → chunk-N7WDUGZO.js} +1 -1
  92. package/dist/esm/{chunk-F7TZXXFE.js → chunk-OATZSW4N.js} +17 -16
  93. package/dist/esm/{chunk-BOCS6H24.js → chunk-OVBLCSYK.js} +16 -15
  94. package/dist/esm/chunk-RG6U5R37.js +34 -0
  95. package/dist/esm/{chunk-JMR7QAHO.js → chunk-RS244OBR.js} +1 -1
  96. package/dist/esm/chunk-VBCTHTJ2.js +204 -0
  97. package/dist/esm/chunk-XICLHBEA.js +34 -0
  98. package/dist/esm/{chunk-AVB7KPZC.js → chunk-XOR7HWL4.js} +8 -8
  99. package/dist/esm/global/global.js +2 -2
  100. package/dist/esm/global/ws.js +1 -1
  101. package/dist/esm/index.d.ts +5 -4
  102. package/dist/esm/index.js +19 -13
  103. package/dist/esm/{interface → interface-api}/interface-base.d.ts +4 -4
  104. package/dist/esm/{interface → interface-api}/interface-base.js +1 -1
  105. package/dist/esm/interface-api/interface-logic.d.ts +61 -0
  106. package/dist/esm/interface-api/interface-logic.js +8 -0
  107. package/dist/esm/{interface → interface-api}/interface-result.d.ts +2 -2
  108. package/dist/esm/{interface → interface-api}/interface-result.js +1 -1
  109. package/dist/esm/{interface → interface-api}/interface-test.js +1 -1
  110. package/dist/esm/interface-table/interface-table.d.ts +95 -0
  111. package/dist/esm/interface-table/interface-table.js +8 -0
  112. package/dist/esm/plugin/extend/chinese-path.d.ts +1 -1
  113. package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
  114. package/dist/esm/plugin/extend/custom-data.js +3 -3
  115. package/dist/esm/plugin/extend/json.js +4 -4
  116. package/dist/esm/plugin/extend/urlencoded.js +3 -3
  117. package/dist/esm/plugin/extend/web-socket.d.ts +2 -2
  118. package/dist/esm/plugin/extend/web-socket.js +3 -3
  119. package/dist/esm/plugin/plug.d.ts +1 -1
  120. package/dist/esm/server/server.d.ts +18 -5
  121. package/dist/esm/server/server.js +5 -4
  122. package/dist/esm/tools/tools.js +1 -1
  123. package/package.json +18 -8
  124. package/dist/cjs/interface/interface-logic.d.cts +0 -42
  125. package/dist/esm/bin/gen-type/bin.js +0 -17
  126. package/dist/esm/bin/gen-type/index.js +0 -7
  127. package/dist/esm/chunk-3ERQ6GCK.js +0 -101
  128. package/dist/esm/interface/interface-logic.d.ts +0 -42
  129. package/dist/esm/interface/interface-logic.js +0 -8
  130. /package/dist/bin/{gen-list → gen-api-list}/bin.d.cts +0 -0
  131. /package/dist/bin/{gen-list → gen-api-list}/index.d.cts +0 -0
  132. /package/dist/bin/{gen-type → gen-api-type}/addition.d.cts +0 -0
  133. /package/dist/bin/{gen-type → gen-api-type}/bin.d.cts +0 -0
  134. /package/dist/bin/{gen-type → gen-api-type}/index.d.cts +0 -0
  135. /package/dist/{cjs/bin/gen-list → bin/gen-table-list}/bin.d.cts +0 -0
  136. /package/dist/{cjs/bin/gen-list → bin/gen-table-list}/index.d.cts +0 -0
  137. /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/addition.d.cts +0 -0
  138. /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/bin.d.cts +0 -0
  139. /package/dist/{cjs/bin/gen-type → bin/gen-table-type}/index.d.cts +0 -0
  140. /package/dist/{esm/bin/gen-list/bin.d.ts → cjs/bin/gen-api-list/bin.d.cts} +0 -0
  141. /package/dist/{esm/bin/gen-list/index.d.ts → cjs/bin/gen-api-list/index.d.cts} +0 -0
  142. /package/dist/{esm/bin/gen-type/addition.d.ts → cjs/bin/gen-api-type/addition.d.cts} +0 -0
  143. /package/dist/{esm/bin/gen-type/bin.d.ts → cjs/bin/gen-api-type/bin.d.cts} +0 -0
  144. /package/dist/{esm/bin/gen-type/index.d.ts → cjs/bin/gen-api-type/index.d.cts} +0 -0
  145. /package/dist/cjs/{interface → interface-api}/interface-test.d.cts +0 -0
  146. /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 === void 0) {
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\u6210\u63A5\u53E3\u5217\u8868...");
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
- if (tsconfig\u5185\u5BB9.error) {
62
- await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
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 (!\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84))
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 (!\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA)
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 == filename);
101
- if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 != null)
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 == "true")
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] == true).map((a) => a[0]).filter((a) => a != null);
123
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
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 (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
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\u6D4B\u8BD5\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, outFilePath) => {
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 gen_list_exports = {};
32
- __export(gen_list_exports, {
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(gen_list_exports);
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 === void 0) {
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\u6210\u63A5\u53E3\u5217\u8868...");
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
- if (tsconfig\u5185\u5BB9.error) {
67
- await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
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 (!\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84))
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 (!\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA)
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 == filename);
106
- if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 != null)
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 == "true")
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] == true).map((a) => a[0]).filter((a) => a != null);
128
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
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 (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
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 === void 0) {
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
- if (tsconfig\u5185\u5BB9.error) {
175
- await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
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 (!\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84))
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 (!\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA)
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 == filename);
255
- if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 != null)
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 != "any" && a != "never" && a != "unknown")));
289
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
290
- let \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
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 (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
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\u6210\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
+ 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 gen_type_exports = {};
32
- __export(gen_type_exports, {
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(gen_type_exports);
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 === void 0) {
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
- if (tsconfig\u5185\u5BB9.error) {
180
- await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
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 (!\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84))
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 (!\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA)
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 == filename);
260
- if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 != null)
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 != "any" && a != "never" && a != "unknown")));
294
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C_JSON.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
295
- let \u6700\u7EC8\u7ED3\u679C_WS = Array.from(new Set(WS\u7ED3\u679C.filter((a) => a != "any" && a != "never" && a != "unknown")));
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 (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
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);