@lsby/net-core 0.4.0-beta.2 → 0.4.0-beta.3

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 (111) hide show
  1. package/dist/bin/gen-list/bin.cjs +15 -14
  2. package/dist/bin/gen-list/index.cjs +13 -12
  3. package/dist/bin/gen-table-list/bin.cjs +157 -0
  4. package/dist/bin/gen-table-list/bin.d.cts +1 -0
  5. package/dist/bin/gen-table-list/index.cjs +156 -0
  6. package/dist/bin/gen-table-list/index.d.cts +3 -0
  7. package/dist/bin/gen-table-type/addition.cjs +58 -0
  8. package/dist/bin/gen-table-type/addition.d.cts +3 -0
  9. package/dist/bin/gen-table-type/bin.cjs +208 -0
  10. package/dist/bin/gen-table-type/bin.d.cts +1 -0
  11. package/dist/bin/gen-table-type/index.cjs +207 -0
  12. package/dist/bin/gen-table-type/index.d.cts +3 -0
  13. package/dist/bin/gen-test/bin.cjs +16 -15
  14. package/dist/bin/gen-test/index.cjs +15 -14
  15. package/dist/bin/gen-type/bin.cjs +13 -12
  16. package/dist/bin/gen-type/index.cjs +12 -11
  17. package/dist/cjs/action/action.cjs +2 -2
  18. package/dist/cjs/bin/gen-list/bin.cjs +15 -14
  19. package/dist/cjs/bin/gen-list/index.cjs +13 -12
  20. package/dist/cjs/bin/gen-table-list/bin.cjs +157 -0
  21. package/dist/cjs/bin/gen-table-list/bin.d.cts +1 -0
  22. package/dist/cjs/bin/gen-table-list/index.cjs +156 -0
  23. package/dist/cjs/bin/gen-table-list/index.d.cts +3 -0
  24. package/dist/cjs/bin/gen-table-type/addition.cjs +58 -0
  25. package/dist/cjs/bin/gen-table-type/addition.d.cts +3 -0
  26. package/dist/cjs/bin/gen-table-type/bin.cjs +208 -0
  27. package/dist/cjs/bin/gen-table-type/bin.d.cts +1 -0
  28. package/dist/cjs/bin/gen-table-type/index.cjs +207 -0
  29. package/dist/cjs/bin/gen-table-type/index.d.cts +3 -0
  30. package/dist/cjs/bin/gen-test/bin.cjs +16 -15
  31. package/dist/cjs/bin/gen-test/index.cjs +15 -14
  32. package/dist/cjs/bin/gen-type/bin.cjs +13 -12
  33. package/dist/cjs/bin/gen-type/index.cjs +12 -11
  34. package/dist/cjs/global/global.cjs +2 -2
  35. package/dist/cjs/global/ws.cjs +2 -2
  36. package/dist/cjs/index.cjs +227 -87
  37. package/dist/cjs/index.d.cts +3 -2
  38. package/dist/cjs/interface/interface-base.d.cts +4 -4
  39. package/dist/cjs/interface/interface-logic.cjs +16 -10
  40. package/dist/cjs/interface/interface-logic.d.cts +34 -15
  41. package/dist/cjs/interface/interface-result.d.cts +2 -2
  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 +5 -5
  48. package/dist/cjs/plugin/extend/urlencoded.cjs +4 -4
  49. package/dist/cjs/plugin/extend/web-socket.cjs +7 -7
  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 +15 -2
  54. package/dist/cjs/tools/tools.cjs +1 -1
  55. package/dist/esm/action/action.js +1 -1
  56. package/dist/esm/bin/gen-list/bin.js +3 -3
  57. package/dist/esm/bin/gen-list/index.js +1 -1
  58. package/dist/esm/bin/gen-table-list/bin.d.ts +1 -0
  59. package/dist/esm/bin/gen-table-list/bin.js +16 -0
  60. package/dist/esm/bin/gen-table-list/index.d.ts +3 -0
  61. package/dist/esm/bin/gen-table-list/index.js +6 -0
  62. package/dist/esm/bin/gen-table-type/addition.d.ts +3 -0
  63. package/dist/esm/bin/gen-table-type/addition.js +6 -0
  64. package/dist/esm/bin/gen-table-type/bin.d.ts +1 -0
  65. package/dist/esm/bin/gen-table-type/bin.js +17 -0
  66. package/dist/esm/bin/gen-table-type/index.d.ts +3 -0
  67. package/dist/esm/bin/gen-table-type/index.js +7 -0
  68. package/dist/esm/bin/gen-test/bin.js +2 -2
  69. package/dist/esm/bin/gen-test/index.js +1 -1
  70. package/dist/esm/bin/gen-type/bin.js +2 -2
  71. package/dist/esm/bin/gen-type/index.js +1 -1
  72. package/dist/esm/{chunk-F7TZXXFE.js → chunk-2QVSQMI7.js} +13 -12
  73. package/dist/esm/{chunk-JX5MRJL6.js → chunk-43ZE4ZNH.js} +1 -1
  74. package/dist/esm/{chunk-5WR5VNYH.js → chunk-47ICFQXW.js} +2 -2
  75. package/dist/esm/{chunk-6AW5SSYA.js → chunk-6Y4UXWIN.js} +3 -3
  76. package/dist/esm/{chunk-GVIGQG5Y.js → chunk-7Y3YE4M5.js} +4 -4
  77. package/dist/esm/chunk-AAZFVBDH.js +144 -0
  78. package/dist/esm/chunk-CSKAQDJA.js +204 -0
  79. package/dist/esm/{chunk-AVB7KPZC.js → chunk-CSOONB3X.js} +6 -6
  80. package/dist/esm/{chunk-BC6IISWS.js → chunk-DGDZQLIJ.js} +1 -1
  81. package/dist/esm/{chunk-BOCS6H24.js → chunk-ELSBYQPF.js} +12 -11
  82. package/dist/esm/{chunk-EAVNASDB.js → chunk-FIQSBTYJ.js} +2 -2
  83. package/dist/esm/{chunk-PVE5VI5K.js → chunk-IGHJCQ2S.js} +1 -1
  84. package/dist/esm/chunk-IY26L2UM.js +122 -0
  85. package/dist/esm/{chunk-EZ7OJFSQ.js → chunk-QGSMHYVT.js} +15 -9
  86. package/dist/esm/chunk-RG6U5R37.js +34 -0
  87. package/dist/esm/chunk-XICLHBEA.js +34 -0
  88. package/dist/esm/{chunk-WIZEBP6C.js → chunk-YATLUSDZ.js} +15 -14
  89. package/dist/esm/global/global.js +2 -2
  90. package/dist/esm/global/ws.js +1 -1
  91. package/dist/esm/index.d.ts +3 -2
  92. package/dist/esm/index.js +16 -10
  93. package/dist/esm/interface/interface-base.d.ts +4 -4
  94. package/dist/esm/interface/interface-logic.d.ts +34 -15
  95. package/dist/esm/interface/interface-logic.js +3 -3
  96. package/dist/esm/interface/interface-result.d.ts +2 -2
  97. package/dist/esm/interface-table/interface-table.d.ts +95 -0
  98. package/dist/esm/interface-table/interface-table.js +8 -0
  99. package/dist/esm/plugin/extend/chinese-path.d.ts +1 -1
  100. package/dist/esm/plugin/extend/custom-data.d.ts +1 -1
  101. package/dist/esm/plugin/extend/custom-data.js +3 -3
  102. package/dist/esm/plugin/extend/json.js +4 -4
  103. package/dist/esm/plugin/extend/urlencoded.js +3 -3
  104. package/dist/esm/plugin/extend/web-socket.d.ts +2 -2
  105. package/dist/esm/plugin/extend/web-socket.js +3 -3
  106. package/dist/esm/plugin/plug.d.ts +1 -1
  107. package/dist/esm/server/server.d.ts +15 -2
  108. package/dist/esm/server/server.js +5 -4
  109. package/dist/esm/tools/tools.js +1 -1
  110. package/package.json +14 -4
  111. package/dist/esm/chunk-3ERQ6GCK.js +0 -101
@@ -24,19 +24,19 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  ));
25
25
 
26
26
  // src/bin/gen-list/bin.ts
27
- var import_node_path2 = __toESM(require("path"), 1);
28
27
  var import_commander = require("commander");
28
+ var import_node_path2 = __toESM(require("path"), 1);
29
29
 
30
30
  // src/bin/gen-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
  }
@@ -58,8 +58,9 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
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.err("\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,13 +114,13 @@ 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
+ 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);
123
124
  await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
124
125
  let \u6700\u7EC8\u4EE3\u7801 = [
125
126
  `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
@@ -133,7 +134,7 @@ 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}`);
@@ -141,7 +142,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
141
142
 
142
143
  // src/bin/gen-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\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) => {
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);
@@ -33,15 +33,15 @@ __export(gen_list_exports, {
33
33
  main: () => main
34
34
  });
35
35
  module.exports = __toCommonJS(gen_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
  }
@@ -63,8 +63,9 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
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.err("\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,13 +119,13 @@ 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
+ 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);
128
129
  await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
129
130
  let \u6700\u7EC8\u4EE3\u7801 = [
130
131
  `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
@@ -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}`);
@@ -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.err("\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);
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/bin/gen-table-list/index.ts
31
+ var gen_table_list_exports = {};
32
+ __export(gen_table_list_exports, {
33
+ main: () => main
34
+ });
35
+ module.exports = __toCommonJS(gen_table_list_exports);
36
+ var import_ts_log = require("@lsby/ts-log");
37
+ var import_lodash = __toESM(require("lodash"), 1);
38
+ var import_node_crypto = require("crypto");
39
+ var import_node_fs = __toESM(require("fs"), 1);
40
+ var import_node_path = __toESM(require("path"), 1);
41
+ var import_typescript = __toESM(require("typescript"), 1);
42
+ function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
43
+ let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = false;
44
+ import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (\u8282\u70B9) => {
45
+ if (import_typescript.default.isExportDeclaration(\u8282\u70B9)) {
46
+ let \u8282\u70B9\u5BFC\u51FA = \u8282\u70B9.exportClause ?? null;
47
+ if (\u8282\u70B9\u5BFC\u51FA !== null && import_typescript.default.isDefaultClause(\u8282\u70B9\u5BFC\u51FA) || import_typescript.default.isExportAssignment(\u8282\u70B9)) {
48
+ \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = true;
49
+ }
50
+ } else if (import_typescript.default.isClassDeclaration(\u8282\u70B9) && (\u8282\u70B9.modifiers?.some((mod) => mod.kind === import_typescript.default.SyntaxKind.DefaultKeyword) ?? false)) {
51
+ \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = true;
52
+ }
53
+ });
54
+ return \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA;
55
+ }
56
+ function \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(\u5B57\u7B26\u4E32) {
57
+ return "_" + \u5B57\u7B26\u4E32.replace(/[ !\-!@#$%^&*()\[\]{}\\|;:'",.\/?]/g, "_");
58
+ }
59
+ function \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a) {
60
+ return \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(import_node_path.default.relative(import_node_path.default.dirname(tsconfig\u8DEF\u5F84), a.fileName));
61
+ }
62
+ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a) {
63
+ return import_node_path.default.relative(import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a.fileName).replaceAll("\\", "/").replaceAll(".ts", "");
64
+ }
65
+ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
66
+ let log = new import_ts_log.Log("@lsby:net-core").extend("gen-table-list");
67
+ await log.debug("\u5F00\u59CB\u751F\u6210\u63A5\u53E3\u5217\u8868...");
68
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
69
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
70
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
71
+ let tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
72
+ let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
73
+ if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
74
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
75
+ throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
76
+ }
77
+ 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, ".."));
78
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
79
+ let \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
80
+ let \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
81
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
82
+ let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
83
+ let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
84
+ let \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF6.fileName);
85
+ if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
86
+ return false;
87
+ let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
88
+ if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
89
+ return false;
90
+ return true;
91
+ });
92
+ await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
93
+ let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
94
+ let \u4EE3\u7801 = [
95
+ `import { \u4EFB\u610F\u865A\u62DF\u8868 } from '@lsby/net-core'`,
96
+ `import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
97
+ ``,
98
+ `type \u8BA1\u7B97\u7ED3\u679C = \u5BFC\u5165 extends \u4EFB\u610F\u865A\u62DF\u8868 ? true : false`
99
+ ];
100
+ return import_typescript.default.createSourceFile(
101
+ a.fileName.replaceAll(".ts", "-" + (0, import_node_crypto.randomUUID)() + ".ts"),
102
+ \u4EE3\u7801.join("\n"),
103
+ import_typescript.default.ScriptTarget.Latest
104
+ );
105
+ });
106
+ let \u65B0\u9879\u76EE = import_typescript.default.createProgram({
107
+ rootNames: [...\u9879\u76EE.getSourceFiles().map((a) => a.fileName), ...\u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.map((a) => a.fileName)],
108
+ options: \u89E3\u6790\u540E\u7684tsconfig.options,
109
+ host: {
110
+ ...\u9879\u76EE\u4E3B\u673A,
111
+ getSourceFile: (filename) => {
112
+ let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
113
+ if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
114
+ return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
115
+ return \u9879\u76EE.getSourceFile(filename);
116
+ }
117
+ },
118
+ oldProgram: \u9879\u76EE
119
+ });
120
+ let \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
121
+ let \u68C0\u67E5\u7ED3\u679C = [];
122
+ for (let \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
123
+ let \u7ED3\u679C = false;
124
+ import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (node) => {
125
+ if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u8BA1\u7B97\u7ED3\u679C") {
126
+ let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
127
+ let \u6587\u672C\u7ED3\u679C = \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(type);
128
+ if (\u6587\u672C\u7ED3\u679C === "true")
129
+ \u7ED3\u679C = true;
130
+ }
131
+ });
132
+ \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
133
+ }
134
+ 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);
135
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
136
+ let \u6700\u7EC8\u4EE3\u7801 = [
137
+ `import { \u4EFB\u610F\u865A\u62DF\u8868 } from '@lsby/net-core'`,
138
+ "",
139
+ ...\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)}'`),
140
+ "",
141
+ `export let interfaceTableList: { new (\u6784\u9020\u53C2\u6570: any): \u4EFB\u610F\u865A\u62DF\u8868; \u8D44\u6E90\u8DEF\u5F84: string }[] = [`,
142
+ ...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` ${a},`),
143
+ `]`,
144
+ ""
145
+ ];
146
+ await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
147
+ let \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
148
+ if (import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
149
+ import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
150
+ import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
151
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
152
+ }
153
+ // Annotate the CommonJS export names for ESM import in node:
154
+ 0 && (module.exports = {
155
+ main
156
+ });
@@ -0,0 +1,3 @@
1
+ declare function main(tsconfig路径: string, 目标路径: string, 输出文件路径: string): Promise<void>;
2
+
3
+ export { main };
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/bin/gen-table-type/addition.ts
21
+ var addition_exports = {};
22
+ __export(addition_exports, {
23
+ \u9644\u52A0\u4EE3\u7801: () => \u9644\u52A0\u4EE3\u7801
24
+ });
25
+ module.exports = __toCommonJS(addition_exports);
26
+ var \u9644\u52A0\u4EE3\u7801 = `
27
+ export type \u57FA\u672C\u7C7B\u578B = string | number | boolean | null
28
+ export type \u6761\u4EF6<\u5217\u540D\u79F0\u4EEC> =
29
+ | { \u5217\u540D\u79F0: \u5217\u540D\u79F0\u4EEC; \u7B26\u53F7: '=' | '<>'; \u503C: \u57FA\u672C\u7C7B\u578B }
30
+ | { \u5217\u540D\u79F0: \u5217\u540D\u79F0\u4EEC; \u7B26\u53F7: '>' | '<' | '>=' | '<='; \u503C: number | string }
31
+ | { \u5217\u540D\u79F0: \u5217\u540D\u79F0\u4EEC; \u7B26\u53F7: 'like' | 'not like'; \u503C: string }
32
+ | { \u5217\u540D\u79F0: \u5217\u540D\u79F0\u4EEC; \u7B26\u53F7: 'in' | 'not in'; \u503C: \u57FA\u672C\u7C7B\u578B[] }
33
+ | { \u5217\u540D\u79F0: \u5217\u540D\u79F0\u4EEC; \u7B26\u53F7: 'is' | 'is not'; \u503C: \u57FA\u672C\u7C7B\u578B }
34
+ export type \u6761\u4EF6\u7EC4<\u5217\u540D\u79F0\u4EEC> =
35
+ | { \u6A21\u5F0F: '\u76F4\u63A5\u6761\u4EF6'; \u503C: \u6761\u4EF6<\u5217\u540D\u79F0\u4EEC> }
36
+ | { \u6A21\u5F0F: '\u7EC4\u5408\u6761\u4EF6'; \u7EC4\u5408\u6A21\u5F0F: '\u4E0E' | '\u6216'; \u6761\u4EF6\u4EEC: \u6761\u4EF6<\u5217\u540D\u79F0\u4EEC>[] }
37
+ export type \u6241\u5E73\u5316\u6761\u4EF6\u7EC4\u9879<\u5217\u540D\u79F0\u4EEC> = { \u7EC4\u5408\u6A21\u5F0F: '\u4E0E' | '\u6216'; \u6761\u4EF6: \u6761\u4EF6<\u5217\u540D\u79F0\u4EEC> }
38
+ export type \u5206\u9875\u9009\u9879 = {
39
+ \u9875\u6570: number
40
+ \u5927\u5C0F: number
41
+ }
42
+ export type \u6392\u5E8F\u9009\u9879<\u5217\u540D\u79F0\u4EEC> = {
43
+ \u6392\u5E8F\u5217: \u5217\u540D\u79F0\u4EEC
44
+ \u6392\u5E8F\u6A21\u5F0F: '\u6B63\u5E8F' | '\u5012\u5E8F'
45
+ }
46
+ export type \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<A> = A extends '\u5B57\u7B26\u4E32'
47
+ ? string
48
+ : A extends '\u6570\u5B57'
49
+ ? number
50
+ : A extends '\u5E03\u5C14'
51
+ ? boolean
52
+ : never
53
+ export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> = { [key in keyof \u5BF9\u8C61]: \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]> }
54
+ `;
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ \u9644\u52A0\u4EE3\u7801
58
+ });
@@ -0,0 +1,3 @@
1
+ declare let 附加代码: string;
2
+
3
+ export { 附加代码 };