@lsby/net-core 0.3.23 → 0.3.25

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 (47) hide show
  1. package/dist/bin/gen-list/bin.cjs +13 -4
  2. package/dist/bin/gen-list/index.cjs +13 -4
  3. package/dist/bin/gen-test/bin.cjs +18 -6
  4. package/dist/bin/gen-test/index.cjs +18 -6
  5. package/dist/bin/gen-type/addition.cjs +123 -0
  6. package/dist/bin/gen-type/addition.d.cts +3 -0
  7. package/dist/bin/gen-type/bin.cjs +112 -100
  8. package/dist/bin/gen-type/index.cjs +112 -100
  9. package/dist/cjs/bin/gen-list/bin.cjs +13 -4
  10. package/dist/cjs/bin/gen-list/index.cjs +13 -4
  11. package/dist/cjs/bin/gen-test/bin.cjs +18 -6
  12. package/dist/cjs/bin/gen-test/index.cjs +18 -6
  13. package/dist/cjs/bin/gen-type/addition.cjs +123 -0
  14. package/dist/cjs/bin/gen-type/addition.d.cts +3 -0
  15. package/dist/cjs/bin/gen-type/bin.cjs +112 -100
  16. package/dist/cjs/bin/gen-type/index.cjs +112 -100
  17. package/dist/cjs/index.cjs +10 -7
  18. package/dist/cjs/interface/extend/json-base.cjs +8 -5
  19. package/dist/cjs/interface/extend/json-base.d.cts +4 -4
  20. package/dist/cjs/interface/extend/json-wrap.cjs +5 -2
  21. package/dist/cjs/interface/extend/json-wrap.d.cts +4 -4
  22. package/dist/cjs/interface/interface-inst.cjs +3 -0
  23. package/dist/cjs/interface/interface-inst.d.cts +2 -1
  24. package/dist/esm/bin/gen-list/bin.js +1 -1
  25. package/dist/esm/bin/gen-list/index.js +1 -1
  26. package/dist/esm/bin/gen-test/bin.js +1 -1
  27. package/dist/esm/bin/gen-test/index.js +1 -1
  28. package/dist/esm/bin/gen-type/addition.d.ts +3 -0
  29. package/dist/esm/bin/gen-type/addition.js +6 -0
  30. package/dist/esm/bin/gen-type/bin.js +2 -1
  31. package/dist/esm/bin/gen-type/index.js +2 -1
  32. package/dist/esm/{chunk-TMRT3MBS.js → chunk-33UG5J6F.js} +13 -4
  33. package/dist/esm/{chunk-IZ623QVE.js → chunk-5FTVDMDL.js} +3 -0
  34. package/dist/esm/{chunk-MMAAGHJW.js → chunk-LA44GRGO.js} +18 -100
  35. package/dist/esm/{chunk-3WT6TRYJ.js → chunk-QX7F45LO.js} +7 -7
  36. package/dist/esm/{chunk-B5W4H32C.js → chunk-QXOTCD4X.js} +18 -6
  37. package/dist/esm/chunk-TW4ZMOLY.js +99 -0
  38. package/dist/esm/chunk-URPOOM7V.js +21 -0
  39. package/dist/esm/index.js +14 -14
  40. package/dist/esm/interface/extend/json-base.d.ts +4 -4
  41. package/dist/esm/interface/extend/json-base.js +3 -3
  42. package/dist/esm/interface/extend/json-wrap.d.ts +4 -4
  43. package/dist/esm/interface/extend/json-wrap.js +3 -3
  44. package/dist/esm/interface/interface-inst.d.ts +2 -1
  45. package/dist/esm/interface/interface-inst.js +1 -1
  46. package/package.json +1 -1
  47. package/dist/esm/chunk-P6ML63XI.js +0 -21
@@ -55,28 +55,34 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
55
55
  return import_node_path.default.relative(import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a["\u6587\u4EF6"].fileName).replaceAll("\\", "/").replaceAll(".ts", "");
56
56
  }
57
57
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
58
- var \u65E5\u5FD7 = new import_ts_log.Log("@lsby:net-core").extend("gen-list");
59
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u5217\u8868...");
58
+ var log = new import_ts_log.Log("@lsby:net-core").extend("gen-list");
59
+ await log.debug("\u5F00\u59CB\u751F\u6210\u63A5\u53E3\u5217\u8868...");
60
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
61
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
62
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
60
63
  const tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
61
64
  if (tsconfig\u5185\u5BB9.error) {
65
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
62
66
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
63
67
  }
64
68
  const \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
65
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
69
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
66
70
  const \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
67
71
  const \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
68
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
72
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
69
73
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
70
74
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
71
75
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF62.fileName);
72
76
  return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84);
73
77
  });
78
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
74
79
  const \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
75
80
  (a) => \u63D0\u53D6\u9876\u7EA7\u5BFC\u51FA\u7C7B\u8282\u70B9(a).map((x) => ({
76
81
  \u6587\u4EF6: a,
77
82
  \u7C7B\u8282\u70B9: x
78
83
  }))
79
84
  );
85
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.length} \u4E2A\u7C7B\u8282\u70B9`);
80
86
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
81
87
  var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
82
88
  var \u4EE3\u7801 = [
@@ -119,6 +125,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
119
125
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
120
126
  }
121
127
  var \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u7C7B\u8282\u70B9\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`);
122
129
  var \u6700\u7EC8\u4EE3\u7801 = [
123
130
  `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
124
131
  "",
@@ -131,10 +138,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
131
138
  `]`,
132
139
  ""
133
140
  ];
141
+ await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
134
142
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
135
143
  if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
136
144
  import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
137
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}`);
138
147
  }
139
148
 
140
149
  // src/bin/gen-list/bin.ts
@@ -60,28 +60,34 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
60
60
  return import_node_path.default.relative(import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a["\u6587\u4EF6"].fileName).replaceAll("\\", "/").replaceAll(".ts", "");
61
61
  }
62
62
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
63
- var \u65E5\u5FD7 = new import_ts_log.Log("@lsby:net-core").extend("gen-list");
64
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u5217\u8868...");
63
+ var log = new import_ts_log.Log("@lsby:net-core").extend("gen-list");
64
+ await log.debug("\u5F00\u59CB\u751F\u6210\u63A5\u53E3\u5217\u8868...");
65
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
66
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
67
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
65
68
  const tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
66
69
  if (tsconfig\u5185\u5BB9.error) {
70
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
67
71
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
68
72
  }
69
73
  const \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
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
74
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
71
75
  const \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
72
76
  const \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
73
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
77
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
74
78
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
75
79
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
76
80
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF62.fileName);
77
81
  return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84);
78
82
  });
83
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
79
84
  const \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
80
85
  (a) => \u63D0\u53D6\u9876\u7EA7\u5BFC\u51FA\u7C7B\u8282\u70B9(a).map((x) => ({
81
86
  \u6587\u4EF6: a,
82
87
  \u7C7B\u8282\u70B9: x
83
88
  }))
84
89
  );
90
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.length} \u4E2A\u7C7B\u8282\u70B9`);
85
91
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
86
92
  var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
87
93
  var \u4EE3\u7801 = [
@@ -124,6 +130,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
124
130
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
125
131
  }
126
132
  var \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
133
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
127
134
  var \u6700\u7EC8\u4EE3\u7801 = [
128
135
  `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
129
136
  "",
@@ -136,10 +143,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
136
143
  `]`,
137
144
  ""
138
145
  ];
146
+ await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
139
147
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
140
148
  if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
141
149
  import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
142
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}`);
143
152
  }
144
153
  // Annotate the CommonJS export names for ESM import in node:
145
154
  0 && (module.exports = {
@@ -55,28 +55,36 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
55
55
  return import_node_path.default.relative(import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a["\u6587\u4EF6"].fileName).replaceAll("\\", "/").replaceAll(".ts", "");
56
56
  }
57
57
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F) {
58
- var \u65E5\u5FD7 = new import_ts_log.Log("@lsby:net-core").extend("gen-test");
59
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u6D4B\u8BD5...");
58
+ var log = new import_ts_log.Log("@lsby:net-core").extend("gen-test");
59
+ await log.debug("\u5F00\u59CB\u751F\u6210\u6D4B\u8BD5...");
60
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
61
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
62
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
63
+ await log.debug(`\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F: ${\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F}`);
60
64
  const tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
61
65
  if (tsconfig\u5185\u5BB9.error) {
66
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json", tsconfig\u5185\u5BB9.error);
62
67
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
63
68
  }
64
69
  const \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
65
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
70
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
66
71
  const \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
67
72
  const \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
68
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
73
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
69
74
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
70
75
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
71
76
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF62.fileName);
72
- return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) && new RegExp(\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F || ".*").test(\u6E90\u6587\u4EF6\u8DEF\u5F84);
77
+ var \u7B26\u5408\u8FC7\u6EE4\u8868\u8FBE\u5F0F = new RegExp(\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F || ".*").test(\u6E90\u6587\u4EF6\u8DEF\u5F84);
78
+ return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) && \u7B26\u5408\u8FC7\u6EE4\u8868\u8FBE\u5F0F;
73
79
  });
80
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
74
81
  const \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
75
82
  (a) => \u63D0\u53D6\u9876\u7EA7\u5BFC\u51FA\u7C7B\u8282\u70B9(a).map((x) => ({
76
83
  \u6587\u4EF6: a,
77
84
  \u7C7B\u8282\u70B9: x
78
85
  }))
79
86
  );
87
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.length} \u4E2A\u7C7B\u8282\u70B9`);
80
88
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
81
89
  var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
82
90
  var \u4EE3\u7801 = [
@@ -119,6 +127,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
119
127
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
120
128
  }
121
129
  var \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
130
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u6D4B\u8BD5\u7528\u4F8B`);
122
131
  var \u6700\u7EC8\u4EE3\u7801 = [
123
132
  "import { test } from 'vitest'",
124
133
  "import './unit-test-prefix'",
@@ -130,10 +139,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
130
139
  ...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => `test('${a}', async () => await new ${a}().\u8FD0\u884C())`),
131
140
  ""
132
141
  ];
142
+ await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
133
143
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
134
- if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
144
+ if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939)) {
135
145
  import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
146
+ }
136
147
  import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
148
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
137
149
  }
138
150
 
139
151
  // src/bin/gen-test/bin.ts
@@ -60,28 +60,36 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
60
60
  return import_node_path.default.relative(import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a["\u6587\u4EF6"].fileName).replaceAll("\\", "/").replaceAll(".ts", "");
61
61
  }
62
62
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F) {
63
- var \u65E5\u5FD7 = new import_ts_log.Log("@lsby:net-core").extend("gen-test");
64
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u6D4B\u8BD5...");
63
+ var log = new import_ts_log.Log("@lsby:net-core").extend("gen-test");
64
+ await log.debug("\u5F00\u59CB\u751F\u6210\u6D4B\u8BD5...");
65
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
66
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
67
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
68
+ await log.debug(`\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F: ${\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F}`);
65
69
  const tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
66
70
  if (tsconfig\u5185\u5BB9.error) {
71
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json", tsconfig\u5185\u5BB9.error);
67
72
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
68
73
  }
69
74
  const \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
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
75
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
71
76
  const \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
72
77
  const \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
73
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
78
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
74
79
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
75
80
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
76
81
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF62.fileName);
77
- return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) && new RegExp(\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F || ".*").test(\u6E90\u6587\u4EF6\u8DEF\u5F84);
82
+ var \u7B26\u5408\u8FC7\u6EE4\u8868\u8FBE\u5F0F = new RegExp(\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F || ".*").test(\u6E90\u6587\u4EF6\u8DEF\u5F84);
83
+ return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) && \u7B26\u5408\u8FC7\u6EE4\u8868\u8FBE\u5F0F;
78
84
  });
85
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
79
86
  const \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
80
87
  (a) => \u63D0\u53D6\u9876\u7EA7\u5BFC\u51FA\u7C7B\u8282\u70B9(a).map((x) => ({
81
88
  \u6587\u4EF6: a,
82
89
  \u7C7B\u8282\u70B9: x
83
90
  }))
84
91
  );
92
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.length} \u4E2A\u7C7B\u8282\u70B9`);
85
93
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
86
94
  var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
87
95
  var \u4EE3\u7801 = [
@@ -124,6 +132,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
124
132
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
125
133
  }
126
134
  var \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
135
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u6D4B\u8BD5\u7528\u4F8B`);
127
136
  var \u6700\u7EC8\u4EE3\u7801 = [
128
137
  "import { test } from 'vitest'",
129
138
  "import './unit-test-prefix'",
@@ -135,10 +144,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
135
144
  ...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => `test('${a}', async () => await new ${a}().\u8FD0\u884C())`),
136
145
  ""
137
146
  ];
147
+ await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
138
148
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
139
- if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
149
+ if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939)) {
140
150
  import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
151
+ }
141
152
  import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
153
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
142
154
  }
143
155
  // Annotate the CommonJS export names for ESM import in node:
144
156
  0 && (module.exports = {
@@ -0,0 +1,123 @@
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-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
+ "",
28
+ `type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never`,
29
+ "",
30
+ `type \u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
31
+ ` ? []`,
32
+ ` : A extends [infer x, ...infer xs]`,
33
+ ` ? 'path' extends keyof x`,
34
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
35
+ ` : never`,
36
+ ` : never`,
37
+ `type Get\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
38
+ ` ? []`,
39
+ ` : A extends [infer x, ...infer xs]`,
40
+ ` ? 'method' extends keyof x`,
41
+ ` ? x['method'] extends 'get'`,
42
+ ` ? 'path' extends keyof x`,
43
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
44
+ ` : never`,
45
+ ` : never`,
46
+ ` : never`,
47
+ ` : never`,
48
+ `type Post\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
49
+ ` ? []`,
50
+ ` : A extends [infer x, ...infer xs]`,
51
+ ` ? 'method' extends keyof x`,
52
+ ` ? x['method'] extends 'post'`,
53
+ ` ? 'path' extends keyof x`,
54
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
55
+ ` : never`,
56
+ ` : never`,
57
+ ` : never`,
58
+ ` : never`,
59
+ ``,
60
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType> = A extends []`,
61
+ ` ? []`,
62
+ ` : A extends [infer x, ...infer xs]`,
63
+ ` ? 'path' extends keyof x`,
64
+ ` ? x['path'] extends Path`,
65
+ ` ? 'input' extends keyof x`,
66
+ ` ? x['input']`,
67
+ ` : never`,
68
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>`,
69
+ ` : never`,
70
+ ` : never`,
71
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []`,
72
+ ` ? []`,
73
+ ` : A extends [infer x, ...infer xs]`,
74
+ ` ? 'path' extends keyof x`,
75
+ ` ? x['path'] extends Path`,
76
+ ` ? 'method' extends keyof x`,
77
+ ` ? x['method']`,
78
+ ` : never`,
79
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, xs>`,
80
+ ` : never`,
81
+ ` : never`,
82
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
83
+ ` ? []`,
84
+ ` : A extends [infer x, ...infer xs]`,
85
+ ` ? 'path' extends keyof x`,
86
+ ` ? x['path'] extends Path`,
87
+ ` ? 'successOutput' extends keyof x`,
88
+ ` ? x['successOutput']`,
89
+ ` : never`,
90
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, xs>`,
91
+ ` : never`,
92
+ ` : never`,
93
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
94
+ ` ? []`,
95
+ ` : A extends [infer x, ...infer xs]`,
96
+ ` ? 'path' extends keyof x`,
97
+ ` ? x['path'] extends Path`,
98
+ ` ? 'errorOutput' extends keyof x`,
99
+ ` ? x['errorOutput']`,
100
+ ` : never`,
101
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, xs>`,
102
+ ` : never`,
103
+ ` : never`,
104
+ ``,
105
+ `export type \u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
106
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
107
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
108
+ ` \u65B9\u6CD5: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<\u8DEF\u5F84>,`,
109
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
110
+ `export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Get\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
111
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
112
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
113
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
114
+ `export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
115
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
116
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
117
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
118
+ ""
119
+ ];
120
+ // Annotate the CommonJS export names for ESM import in node:
121
+ 0 && (module.exports = {
122
+ \u9644\u52A0\u4EE3\u7801
123
+ });
@@ -0,0 +1,3 @@
1
+ declare var 附加代码: string[];
2
+
3
+ export { 附加代码 };
@@ -33,6 +33,104 @@ var import_node_fs = __toESM(require("fs"), 1);
33
33
  var import_node_path = __toESM(require("path"), 1);
34
34
  var import_typescript = __toESM(require("typescript"), 1);
35
35
  var import_ts_log = require("@lsby/ts-log");
36
+
37
+ // src/bin/gen-type/addition.ts
38
+ var \u9644\u52A0\u4EE3\u7801 = [
39
+ "",
40
+ `type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never`,
41
+ "",
42
+ `type \u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
43
+ ` ? []`,
44
+ ` : A extends [infer x, ...infer xs]`,
45
+ ` ? 'path' extends keyof x`,
46
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
47
+ ` : never`,
48
+ ` : never`,
49
+ `type Get\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
50
+ ` ? []`,
51
+ ` : A extends [infer x, ...infer xs]`,
52
+ ` ? 'method' extends keyof x`,
53
+ ` ? x['method'] extends 'get'`,
54
+ ` ? 'path' extends keyof x`,
55
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
56
+ ` : never`,
57
+ ` : never`,
58
+ ` : never`,
59
+ ` : never`,
60
+ `type Post\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
61
+ ` ? []`,
62
+ ` : A extends [infer x, ...infer xs]`,
63
+ ` ? 'method' extends keyof x`,
64
+ ` ? x['method'] extends 'post'`,
65
+ ` ? 'path' extends keyof x`,
66
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
67
+ ` : never`,
68
+ ` : never`,
69
+ ` : never`,
70
+ ` : never`,
71
+ ``,
72
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType> = A extends []`,
73
+ ` ? []`,
74
+ ` : A extends [infer x, ...infer xs]`,
75
+ ` ? 'path' extends keyof x`,
76
+ ` ? x['path'] extends Path`,
77
+ ` ? 'input' extends keyof x`,
78
+ ` ? x['input']`,
79
+ ` : never`,
80
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>`,
81
+ ` : never`,
82
+ ` : never`,
83
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []`,
84
+ ` ? []`,
85
+ ` : A extends [infer x, ...infer xs]`,
86
+ ` ? 'path' extends keyof x`,
87
+ ` ? x['path'] extends Path`,
88
+ ` ? 'method' extends keyof x`,
89
+ ` ? x['method']`,
90
+ ` : never`,
91
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, xs>`,
92
+ ` : never`,
93
+ ` : never`,
94
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
95
+ ` ? []`,
96
+ ` : A extends [infer x, ...infer xs]`,
97
+ ` ? 'path' extends keyof x`,
98
+ ` ? x['path'] extends Path`,
99
+ ` ? 'successOutput' extends keyof x`,
100
+ ` ? x['successOutput']`,
101
+ ` : never`,
102
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, xs>`,
103
+ ` : never`,
104
+ ` : never`,
105
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
106
+ ` ? []`,
107
+ ` : A extends [infer x, ...infer xs]`,
108
+ ` ? 'path' extends keyof x`,
109
+ ` ? x['path'] extends Path`,
110
+ ` ? 'errorOutput' extends keyof x`,
111
+ ` ? x['errorOutput']`,
112
+ ` : never`,
113
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, xs>`,
114
+ ` : never`,
115
+ ` : never`,
116
+ ``,
117
+ `export type \u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
118
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
119
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
120
+ ` \u65B9\u6CD5: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<\u8DEF\u5F84>,`,
121
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
122
+ `export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Get\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
123
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
124
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
125
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
126
+ `export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
127
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
128
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
129
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
130
+ ""
131
+ ];
132
+
133
+ // src/bin/gen-type/index.ts
36
134
  function \u63D0\u53D6\u53D8\u91CF\u8282\u70B9(\u6E90\u6587\u4EF6) {
37
135
  const \u53D8\u91CF\u8282\u70B9\u6570\u7EC4 = [];
38
136
  const \u8BBF\u95EE\u8282\u70B9 = (\u8282\u70B9) => {
@@ -52,22 +150,27 @@ function \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(\u5B57\u7B26\u4E32) {
52
150
  return "_" + \u5B57\u7B26\u4E32.replace(/[ !\-!@#$%^&*()\[\]{}\\|;:'",.\/?]/g, "_");
53
151
  }
54
152
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
55
- var \u65E5\u5FD7 = new import_ts_log.Log("@lsby:net-core").extend("gen-type");
56
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u7C7B\u578B...");
153
+ var log = new import_ts_log.Log("@lsby:net-core").extend("gen-type");
154
+ await log.debug("\u5F00\u59CB\u751F\u6210\u7C7B\u578B...");
155
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
156
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
157
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
57
158
  const tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
58
159
  if (tsconfig\u5185\u5BB9.error) {
160
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
59
161
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
60
162
  }
61
163
  const \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
62
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
164
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
63
165
  const \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
64
166
  const \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
65
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
167
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
66
168
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
67
169
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
68
170
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF62.fileName);
69
171
  return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84);
70
172
  });
173
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
71
174
  const \u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
72
175
  (a) => \u63D0\u53D6\u53D8\u91CF\u8282\u70B9(a).map((x) => ({
73
176
  \u6587\u4EF6: a,
@@ -75,6 +178,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
75
178
  \u8BA1\u7B97\u8282\u70B9\u540D\u79F0: \u66FF\u6362\u975E\u6CD5\u5B57\u7B26((0, import_node_crypto.randomUUID)())
76
179
  }))
77
180
  );
181
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC.length} \u4E2A\u53D8\u91CF\u8282\u70B9`);
78
182
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC.map((a) => {
79
183
  var \u4EE3\u7801 = [];
80
184
  if (a.\u53D8\u91CF\u8282\u70B9.name.kind != import_typescript.default.SyntaxKind.Identifier) {
@@ -136,106 +240,14 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
136
240
  });
137
241
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
138
242
  }
139
- var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any")));
140
- var \u6700\u7EC8\u4EE3\u7801 = [
141
- `export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`,
142
- "",
143
- `type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never`,
144
- "",
145
- `type \u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
146
- ` ? []`,
147
- ` : A extends [infer x, ...infer xs]`,
148
- ` ? 'path' extends keyof x`,
149
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
150
- ` : never`,
151
- ` : never`,
152
- `type Get\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
153
- ` ? []`,
154
- ` : A extends [infer x, ...infer xs]`,
155
- ` ? 'method' extends keyof x`,
156
- ` ? x['method'] extends 'get'`,
157
- ` ? 'path' extends keyof x`,
158
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
159
- ` : never`,
160
- ` : never`,
161
- ` : never`,
162
- ` : never`,
163
- `type Post\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
164
- ` ? []`,
165
- ` : A extends [infer x, ...infer xs]`,
166
- ` ? 'method' extends keyof x`,
167
- ` ? x['method'] extends 'post'`,
168
- ` ? 'path' extends keyof x`,
169
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
170
- ` : never`,
171
- ` : never`,
172
- ` : never`,
173
- ` : never`,
174
- ``,
175
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType> = A extends []`,
176
- ` ? []`,
177
- ` : A extends [infer x, ...infer xs]`,
178
- ` ? 'path' extends keyof x`,
179
- ` ? x['path'] extends Path`,
180
- ` ? 'input' extends keyof x`,
181
- ` ? x['input']`,
182
- ` : never`,
183
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>`,
184
- ` : never`,
185
- ` : never`,
186
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []`,
187
- ` ? []`,
188
- ` : A extends [infer x, ...infer xs]`,
189
- ` ? 'path' extends keyof x`,
190
- ` ? x['path'] extends Path`,
191
- ` ? 'method' extends keyof x`,
192
- ` ? x['method']`,
193
- ` : never`,
194
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, xs>`,
195
- ` : never`,
196
- ` : never`,
197
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
198
- ` ? []`,
199
- ` : A extends [infer x, ...infer xs]`,
200
- ` ? 'path' extends keyof x`,
201
- ` ? x['path'] extends Path`,
202
- ` ? 'successOutput' extends keyof x`,
203
- ` ? x['successOutput']`,
204
- ` : never`,
205
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, xs>`,
206
- ` : never`,
207
- ` : never`,
208
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
209
- ` ? []`,
210
- ` : A extends [infer x, ...infer xs]`,
211
- ` ? 'path' extends keyof x`,
212
- ` ? x['path'] extends Path`,
213
- ` ? 'errorOutput' extends keyof x`,
214
- ` ? x['errorOutput']`,
215
- ` : never`,
216
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, xs>`,
217
- ` : never`,
218
- ` : never`,
219
- ``,
220
- `export type \u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
221
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
222
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
223
- ` \u65B9\u6CD5: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<\u8DEF\u5F84>,`,
224
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
225
- `export type Get\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Get\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
226
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
227
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
228
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
229
- `export type Post\u8BF7\u6C42\u540E\u7AEF\u51FD\u6570\u7C7B\u578B = <\u8DEF\u5F84 extends \u5143\u7EC4\u8F6C\u8054\u5408<Post\u63A5\u53E3\u8DEF\u5F84\u4EEC>>(`,
230
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
231
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
232
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
233
- ""
234
- ];
243
+ var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any" && a != "never")));
244
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
245
+ var \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, ...\u9644\u52A0\u4EE3\u7801];
235
246
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
236
247
  if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
237
248
  import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
238
249
  import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
250
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
239
251
  }
240
252
 
241
253
  // src/bin/gen-type/bin.ts