@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
@@ -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
@@ -38,6 +38,104 @@ var import_node_fs = __toESM(require("fs"), 1);
38
38
  var import_node_path = __toESM(require("path"), 1);
39
39
  var import_typescript = __toESM(require("typescript"), 1);
40
40
  var import_ts_log = require("@lsby/ts-log");
41
+
42
+ // src/bin/gen-type/addition.ts
43
+ var \u9644\u52A0\u4EE3\u7801 = [
44
+ "",
45
+ `type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never`,
46
+ "",
47
+ `type \u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
48
+ ` ? []`,
49
+ ` : A extends [infer x, ...infer xs]`,
50
+ ` ? 'path' extends keyof x`,
51
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
52
+ ` : never`,
53
+ ` : never`,
54
+ `type Get\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
55
+ ` ? []`,
56
+ ` : A extends [infer x, ...infer xs]`,
57
+ ` ? 'method' extends keyof x`,
58
+ ` ? x['method'] extends 'get'`,
59
+ ` ? 'path' extends keyof x`,
60
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
61
+ ` : never`,
62
+ ` : never`,
63
+ ` : never`,
64
+ ` : never`,
65
+ `type Post\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
66
+ ` ? []`,
67
+ ` : A extends [infer x, ...infer xs]`,
68
+ ` ? 'method' extends keyof x`,
69
+ ` ? x['method'] extends 'post'`,
70
+ ` ? 'path' extends keyof x`,
71
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
72
+ ` : never`,
73
+ ` : never`,
74
+ ` : never`,
75
+ ` : never`,
76
+ ``,
77
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType> = A extends []`,
78
+ ` ? []`,
79
+ ` : A extends [infer x, ...infer xs]`,
80
+ ` ? 'path' extends keyof x`,
81
+ ` ? x['path'] extends Path`,
82
+ ` ? 'input' extends keyof x`,
83
+ ` ? x['input']`,
84
+ ` : never`,
85
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>`,
86
+ ` : never`,
87
+ ` : never`,
88
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []`,
89
+ ` ? []`,
90
+ ` : A extends [infer x, ...infer xs]`,
91
+ ` ? 'path' extends keyof x`,
92
+ ` ? x['path'] extends Path`,
93
+ ` ? 'method' extends keyof x`,
94
+ ` ? x['method']`,
95
+ ` : never`,
96
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, xs>`,
97
+ ` : never`,
98
+ ` : never`,
99
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
100
+ ` ? []`,
101
+ ` : A extends [infer x, ...infer xs]`,
102
+ ` ? 'path' extends keyof x`,
103
+ ` ? x['path'] extends Path`,
104
+ ` ? 'successOutput' extends keyof x`,
105
+ ` ? x['successOutput']`,
106
+ ` : never`,
107
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, xs>`,
108
+ ` : never`,
109
+ ` : never`,
110
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
111
+ ` ? []`,
112
+ ` : A extends [infer x, ...infer xs]`,
113
+ ` ? 'path' extends keyof x`,
114
+ ` ? x['path'] extends Path`,
115
+ ` ? 'errorOutput' extends keyof x`,
116
+ ` ? x['errorOutput']`,
117
+ ` : never`,
118
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, xs>`,
119
+ ` : never`,
120
+ ` : never`,
121
+ ``,
122
+ `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>>(`,
123
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
124
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
125
+ ` \u65B9\u6CD5: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<\u8DEF\u5F84>,`,
126
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
127
+ `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>>(`,
128
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
129
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
130
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
131
+ `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>>(`,
132
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
133
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
134
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
135
+ ""
136
+ ];
137
+
138
+ // src/bin/gen-type/index.ts
41
139
  function \u63D0\u53D6\u53D8\u91CF\u8282\u70B9(\u6E90\u6587\u4EF6) {
42
140
  const \u53D8\u91CF\u8282\u70B9\u6570\u7EC4 = [];
43
141
  const \u8BBF\u95EE\u8282\u70B9 = (\u8282\u70B9) => {
@@ -57,22 +155,27 @@ function \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(\u5B57\u7B26\u4E32) {
57
155
  return "_" + \u5B57\u7B26\u4E32.replace(/[ !\-!@#$%^&*()\[\]{}\\|;:'",.\/?]/g, "_");
58
156
  }
59
157
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
60
- var \u65E5\u5FD7 = new import_ts_log.Log("@lsby:net-core").extend("gen-type");
61
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u7C7B\u578B...");
158
+ var log = new import_ts_log.Log("@lsby:net-core").extend("gen-type");
159
+ await log.debug("\u5F00\u59CB\u751F\u6210\u7C7B\u578B...");
160
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
161
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
162
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
62
163
  const tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
63
164
  if (tsconfig\u5185\u5BB9.error) {
165
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
64
166
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
65
167
  }
66
168
  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, ".."));
67
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
169
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
68
170
  const \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
69
171
  const \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
70
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
172
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
71
173
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
72
174
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
73
175
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF62.fileName);
74
176
  return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84);
75
177
  });
178
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
76
179
  const \u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
77
180
  (a) => \u63D0\u53D6\u53D8\u91CF\u8282\u70B9(a).map((x) => ({
78
181
  \u6587\u4EF6: a,
@@ -80,6 +183,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
80
183
  \u8BA1\u7B97\u8282\u70B9\u540D\u79F0: \u66FF\u6362\u975E\u6CD5\u5B57\u7B26((0, import_node_crypto.randomUUID)())
81
184
  }))
82
185
  );
186
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC.length} \u4E2A\u53D8\u91CF\u8282\u70B9`);
83
187
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC.map((a) => {
84
188
  var \u4EE3\u7801 = [];
85
189
  if (a.\u53D8\u91CF\u8282\u70B9.name.kind != import_typescript.default.SyntaxKind.Identifier) {
@@ -141,106 +245,14 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
141
245
  });
142
246
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
143
247
  }
144
- var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any")));
145
- var \u6700\u7EC8\u4EE3\u7801 = [
146
- `export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`,
147
- "",
148
- `type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never`,
149
- "",
150
- `type \u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
151
- ` ? []`,
152
- ` : A extends [infer x, ...infer xs]`,
153
- ` ? 'path' extends keyof x`,
154
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
155
- ` : never`,
156
- ` : never`,
157
- `type Get\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
158
- ` ? []`,
159
- ` : A extends [infer x, ...infer xs]`,
160
- ` ? 'method' extends keyof x`,
161
- ` ? x['method'] extends 'get'`,
162
- ` ? 'path' extends keyof x`,
163
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
164
- ` : never`,
165
- ` : never`,
166
- ` : never`,
167
- ` : never`,
168
- `type Post\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
169
- ` ? []`,
170
- ` : A extends [infer x, ...infer xs]`,
171
- ` ? 'method' extends keyof x`,
172
- ` ? x['method'] extends 'post'`,
173
- ` ? 'path' extends keyof x`,
174
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
175
- ` : never`,
176
- ` : never`,
177
- ` : never`,
178
- ` : never`,
179
- ``,
180
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType> = A extends []`,
181
- ` ? []`,
182
- ` : A extends [infer x, ...infer xs]`,
183
- ` ? 'path' extends keyof x`,
184
- ` ? x['path'] extends Path`,
185
- ` ? 'input' extends keyof x`,
186
- ` ? x['input']`,
187
- ` : never`,
188
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>`,
189
- ` : never`,
190
- ` : never`,
191
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []`,
192
- ` ? []`,
193
- ` : A extends [infer x, ...infer xs]`,
194
- ` ? 'path' extends keyof x`,
195
- ` ? x['path'] extends Path`,
196
- ` ? 'method' extends keyof x`,
197
- ` ? x['method']`,
198
- ` : never`,
199
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, xs>`,
200
- ` : never`,
201
- ` : never`,
202
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
203
- ` ? []`,
204
- ` : A extends [infer x, ...infer xs]`,
205
- ` ? 'path' extends keyof x`,
206
- ` ? x['path'] extends Path`,
207
- ` ? 'successOutput' extends keyof x`,
208
- ` ? x['successOutput']`,
209
- ` : never`,
210
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, xs>`,
211
- ` : never`,
212
- ` : never`,
213
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
214
- ` ? []`,
215
- ` : A extends [infer x, ...infer xs]`,
216
- ` ? 'path' extends keyof x`,
217
- ` ? x['path'] extends Path`,
218
- ` ? 'errorOutput' extends keyof x`,
219
- ` ? x['errorOutput']`,
220
- ` : never`,
221
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, xs>`,
222
- ` : never`,
223
- ` : never`,
224
- ``,
225
- `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>>(`,
226
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
227
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
228
- ` \u65B9\u6CD5: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<\u8DEF\u5F84>,`,
229
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
230
- `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>>(`,
231
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
232
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
233
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
234
- `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>>(`,
235
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
236
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
237
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
238
- ""
239
- ];
248
+ var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any" && a != "never")));
249
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
250
+ var \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, ...\u9644\u52A0\u4EE3\u7801];
240
251
  var \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
241
252
  if (!import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
242
253
  import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
243
254
  import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
255
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
244
256
  }
245
257
  // Annotate the CommonJS export names for ESM import in node:
246
258
  0 && (module.exports = {
@@ -227,15 +227,18 @@ var \u9519\u8BEFJSON\u7ED3\u679C = class extends \u9519\u8BEF\u7ED3\u679C {
227
227
 
228
228
  // src/interface/interface-inst.ts
229
229
  var \u63A5\u53E3 = class extends \u4E1A\u52A1\u884C\u4E3A {
230
+ API\u5B9E\u73B0(\u53C2\u6570) {
231
+ return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
232
+ }
230
233
  };
231
234
 
232
235
  // src/interface/extend/json-base.ts
233
236
  var JSON\u63A5\u53E3 = class extends \u63A5\u53E3 {
234
- async API\u5B9E\u73B0(\u53C2\u6570) {
235
- var \u4E1A\u52A1\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
236
- if (\u4E1A\u52A1\u7ED3\u679C.isLeft())
237
- return new \u9519\u8BEFJSON\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C.assertLeft().getLeft());
238
- return new \u6B63\u786EJSON\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C.assertRight().getRight());
237
+ async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
238
+ var c = await \u4E1A\u52A1\u7ED3\u679C;
239
+ if (c.isLeft())
240
+ return new \u9519\u8BEFJSON\u7ED3\u679C(c.assertLeft().getLeft());
241
+ return new \u6B63\u786EJSON\u7ED3\u679C(c.assertRight().getRight());
239
242
  }
240
243
  };
241
244
 
@@ -281,8 +284,8 @@ var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\
281
284
  }
282
285
  };
283
286
  var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
284
- async API\u5B9E\u73B0(\u53C2\u6570) {
285
- var c = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
287
+ async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
288
+ var c = await \u4E1A\u52A1\u7ED3\u679C;
286
289
  if (c.isLeft())
287
290
  return new \u9519\u8BEFJSON\u7ED3\u679C({ status: "fail", data: c.assertLeft().getLeft() });
288
291
  return new \u6B63\u786EJSON\u7ED3\u679C({ status: "success", data: c.assertRight().getRight() });
@@ -190,15 +190,18 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
190
190
 
191
191
  // src/interface/interface-inst.ts
192
192
  var \u63A5\u53E3 = class extends \u4E1A\u52A1\u884C\u4E3A {
193
+ API\u5B9E\u73B0(\u53C2\u6570) {
194
+ return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
195
+ }
193
196
  };
194
197
 
195
198
  // src/interface/extend/json-base.ts
196
199
  var JSON\u63A5\u53E3 = class extends \u63A5\u53E3 {
197
- async API\u5B9E\u73B0(\u53C2\u6570) {
198
- var \u4E1A\u52A1\u7ED3\u679C = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
199
- if (\u4E1A\u52A1\u7ED3\u679C.isLeft())
200
- return new \u9519\u8BEFJSON\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C.assertLeft().getLeft());
201
- return new \u6B63\u786EJSON\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C.assertRight().getRight());
200
+ async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
201
+ var c = await \u4E1A\u52A1\u7ED3\u679C;
202
+ if (c.isLeft())
203
+ return new \u9519\u8BEFJSON\u7ED3\u679C(c.assertLeft().getLeft());
204
+ return new \u6B63\u786EJSON\u7ED3\u679C(c.assertRight().getRight());
202
205
  }
203
206
  };
204
207
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,14 +1,14 @@
1
1
  import { z } from 'zod';
2
- import { 合并插件结果 as ______$1 } from '../../plugin/plug.cjs';
3
2
  import { 正确结果 as ____, 错误结果 as ____$1 } from '../../result/result.cjs';
4
- import { 接口 as __ } from '../interface-inst.cjs';
5
- import { 任意接口类型 as ______, 接口类型插件们 as _______, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1 } from '../interface-type.cjs';
3
+ import { 接口 as __, 计算接口返回 as ______$1 } from '../interface-inst.cjs';
4
+ import { 任意接口类型 as ______, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1 } from '../interface-type.cjs';
6
5
  import 'express';
7
6
  import '@lsby/ts-fp-data';
8
7
  import '../../action/action.cjs';
8
+ import '../../plugin/plug.cjs';
9
9
 
10
10
  declare abstract class JSON接口<接口类型描述 extends ______> extends __<接口类型描述> {
11
- API实现(参数: ______$1<_______<接口类型描述>>): Promise<____<z.infer<________<接口类型描述>>> | ____$1<z.infer<________$1<接口类型描述>>>>;
11
+ 转换业务结果到API结果(业务结果: ______$1<接口类型描述>): Promise<____<z.TypeOf<________<接口类型描述>>> | ____$1<z.TypeOf<________$1<接口类型描述>>>>;
12
12
  }
13
13
 
14
14
  export { JSON接口 };
@@ -192,6 +192,9 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
192
192
 
193
193
  // src/interface/interface-inst.ts
194
194
  var \u63A5\u53E3 = class extends \u4E1A\u52A1\u884C\u4E3A {
195
+ API\u5B9E\u73B0(\u53C2\u6570) {
196
+ return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
197
+ }
195
198
  };
196
199
 
197
200
  // src/interface/interface-type.ts
@@ -233,8 +236,8 @@ var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\
233
236
  }
234
237
  };
235
238
  var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
236
- async API\u5B9E\u73B0(\u53C2\u6570) {
237
- var c = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
239
+ async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
240
+ var c = await \u4E1A\u52A1\u7ED3\u679C;
238
241
  if (c.isLeft())
239
242
  return new \u9519\u8BEFJSON\u7ED3\u679C({ status: "fail", data: c.assertLeft().getLeft() });
240
243
  return new \u6B63\u786EJSON\u7ED3\u679C({ status: "success", data: c.assertRight().getRight() });
@@ -1,9 +1,9 @@
1
1
  import { z } from 'zod';
2
2
  import { Either } from '@lsby/ts-fp-data';
3
- import { 插件项类型 as _____, 合并插件结果 as ______$1 } from '../../plugin/plug.cjs';
3
+ import { 插件项类型 as _____ } from '../../plugin/plug.cjs';
4
4
  import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../../result/result.cjs';
5
- import { 接口 as __, 计算接口参数 as ______ } from '../interface-inst.cjs';
6
- import { 接口类型 as ____, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 接口类型插件们 as _______ } from '../interface-type.cjs';
5
+ import { 接口 as __, 计算接口参数 as ______, 计算接口返回 as ______$1 } from '../interface-inst.cjs';
6
+ import { 接口类型 as ____, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1 } from '../interface-type.cjs';
7
7
  import 'express';
8
8
  import '../../action/action.cjs';
9
9
 
@@ -20,7 +20,7 @@ type 任意的JSON状态接口类型 = JSON状态接口类型<any, any, any, any
20
20
  type 计算JSON状态接口返回<接口类型描述> = Promise<Either<z.infer<________<接口类型描述>>['data'], z.infer<________$1<接口类型描述>>['data']>>;
21
21
  declare abstract class JSON状态接口<接口类型描述 extends 任意的JSON状态接口类型> extends __<接口类型描述> {
22
22
  protected abstract 业务行为实现(参数: ______<接口类型描述>): 计算JSON状态接口返回<接口类型描述>;
23
- API实现(参数: ______$1<_______<接口类型描述>>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
23
+ 转换业务结果到API结果(业务结果: ______$1<接口类型描述>): Promise<____$1<z.TypeOf<________$1<接口类型描述>>> | ____$2<z.TypeOf<________<接口类型描述>>>>;
24
24
  }
25
25
 
26
26
  export { JSON状态接口, JSON状态接口类型, type 计算JSON状态接口返回 };
@@ -147,6 +147,9 @@ var \u4E1A\u52A1\u884C\u4E3A = class _\u4E1A\u52A1\u884C\u4E3A {
147
147
 
148
148
  // src/interface/interface-inst.ts
149
149
  var \u63A5\u53E3 = class extends \u4E1A\u52A1\u884C\u4E3A {
150
+ API\u5B9E\u73B0(\u53C2\u6570) {
151
+ return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
152
+ }
150
153
  };
151
154
  // Annotate the CommonJS export names for ESM import in node:
152
155
  0 && (module.exports = {