@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
@@ -11,7 +11,8 @@ type 计算接口返回<接口类型描述> = Promise<Either<z.infer<________<
11
11
  declare abstract class 接口<接口类型描述 extends ______$1> extends ____<计算接口参数<接口类型描述>, z.infer<________<接口类型描述>>, z.infer<________$1<接口类型描述>>> {
12
12
  protected abstract 业务行为实现(参数: 计算接口参数<接口类型描述>): 计算接口返回<接口类型描述>;
13
13
  abstract 获得API类型(): 接口类型描述;
14
- abstract API实现(参数: 计算接口参数<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
14
+ API实现(参数: 计算接口参数<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
15
+ abstract 转换业务结果到API结果(业务结果: 计算接口返回<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
15
16
  }
16
17
  type 任意接口 = 接口<any>;
17
18
 
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "../../chunk-TMRT3MBS.js";
4
+ } from "../../chunk-33UG5J6F.js";
5
5
 
6
6
  // src/bin/gen-list/bin.ts
7
7
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  main
3
- } from "../../chunk-TMRT3MBS.js";
3
+ } from "../../chunk-33UG5J6F.js";
4
4
  export {
5
5
  main
6
6
  };
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "../../chunk-B5W4H32C.js";
4
+ } from "../../chunk-QXOTCD4X.js";
5
5
 
6
6
  // src/bin/gen-test/bin.ts
7
7
  import path from "node:path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  main
3
- } from "../../chunk-B5W4H32C.js";
3
+ } from "../../chunk-QXOTCD4X.js";
4
4
  export {
5
5
  main
6
6
  };
@@ -0,0 +1,3 @@
1
+ declare var 附加代码: string[];
2
+
3
+ export { 附加代码 };
@@ -0,0 +1,6 @@
1
+ import {
2
+ 附加代码
3
+ } from "../../chunk-TW4ZMOLY.js";
4
+ export {
5
+ \u9644\u52A0\u4EE3\u7801
6
+ };
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  main
4
- } from "../../chunk-MMAAGHJW.js";
4
+ } from "../../chunk-LA44GRGO.js";
5
+ import "../../chunk-TW4ZMOLY.js";
5
6
 
6
7
  // src/bin/gen-type/bin.ts
7
8
  import path from "node:path";
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  main
3
- } from "../../chunk-MMAAGHJW.js";
3
+ } from "../../chunk-LA44GRGO.js";
4
+ import "../../chunk-TW4ZMOLY.js";
4
5
  export {
5
6
  main
6
7
  };
@@ -26,28 +26,34 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
26
26
  return path.relative(path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a["\u6587\u4EF6"].fileName).replaceAll("\\", "/").replaceAll(".ts", "");
27
27
  }
28
28
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
29
- var \u65E5\u5FD7 = new Log("@lsby:net-core").extend("gen-list");
30
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u5217\u8868...");
29
+ var log = new Log("@lsby:net-core").extend("gen-list");
30
+ await log.debug("\u5F00\u59CB\u751F\u6210\u63A5\u53E3\u5217\u8868...");
31
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
32
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
33
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
31
34
  const tsconfig\u5185\u5BB9 = ts.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, fs.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
32
35
  if (tsconfig\u5185\u5BB9.error) {
36
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9.error.messageText);
33
37
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
34
38
  }
35
39
  const \u89E3\u6790\u540E\u7684tsconfig = ts.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, ts.sys, path.resolve(tsconfig\u8DEF\u5F84, ".."));
36
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
40
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
37
41
  const \u9879\u76EE\u4E3B\u673A = ts.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
38
42
  const \u9879\u76EE = ts.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
39
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
43
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
40
44
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
41
45
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
42
46
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = path.normalize(\u6E90\u6587\u4EF62.fileName);
43
47
  return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84);
44
48
  });
49
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
45
50
  const \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
46
51
  (a) => \u63D0\u53D6\u9876\u7EA7\u5BFC\u51FA\u7C7B\u8282\u70B9(a).map((x) => ({
47
52
  \u6587\u4EF6: a,
48
53
  \u7C7B\u8282\u70B9: x
49
54
  }))
50
55
  );
56
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.length} \u4E2A\u7C7B\u8282\u70B9`);
51
57
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
52
58
  var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
53
59
  var \u4EE3\u7801 = [
@@ -90,6 +96,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
90
96
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
91
97
  }
92
98
  var \u6700\u7EC8\u7ED3\u679C = L.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
99
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
93
100
  var \u6700\u7EC8\u4EE3\u7801 = [
94
101
  `import { \u4EFB\u610F\u63A5\u53E3 } from '@lsby/net-core'`,
95
102
  "",
@@ -102,10 +109,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
102
109
  `]`,
103
110
  ""
104
111
  ];
112
+ await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
105
113
  var \u8F93\u51FA\u6587\u4EF6\u5939 = path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
106
114
  if (!fs.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
107
115
  fs.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
108
116
  fs.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
117
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
109
118
  }
110
119
 
111
120
  export {
@@ -4,6 +4,9 @@ import {
4
4
 
5
5
  // src/interface/interface-inst.ts
6
6
  var \u63A5\u53E3 = class extends \u4E1A\u52A1\u884C\u4E3A {
7
+ API\u5B9E\u73B0(\u53C2\u6570) {
8
+ return this.\u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570));
9
+ }
7
10
  };
8
11
 
9
12
  export {
@@ -1,3 +1,7 @@
1
+ import {
2
+ 附加代码
3
+ } from "./chunk-TW4ZMOLY.js";
4
+
1
5
  // src/bin/gen-type/index.ts
2
6
  import { randomUUID } from "node:crypto";
3
7
  import fs from "node:fs";
@@ -23,22 +27,27 @@ function \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(\u5B57\u7B26\u4E32) {
23
27
  return "_" + \u5B57\u7B26\u4E32.replace(/[ !\-!@#$%^&*()\[\]{}\\|;:'",.\/?]/g, "_");
24
28
  }
25
29
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
26
- var \u65E5\u5FD7 = new Log("@lsby:net-core").extend("gen-type");
27
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u7C7B\u578B...");
30
+ var log = new Log("@lsby:net-core").extend("gen-type");
31
+ await log.debug("\u5F00\u59CB\u751F\u6210\u7C7B\u578B...");
32
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
33
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
34
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
28
35
  const tsconfig\u5185\u5BB9 = ts.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, fs.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
29
36
  if (tsconfig\u5185\u5BB9.error) {
37
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
30
38
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
31
39
  }
32
40
  const \u89E3\u6790\u540E\u7684tsconfig = ts.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, ts.sys, path.resolve(tsconfig\u8DEF\u5F84, ".."));
33
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
41
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
34
42
  const \u9879\u76EE\u4E3B\u673A = ts.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
35
43
  const \u9879\u76EE = ts.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
36
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
44
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
37
45
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
38
46
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
39
47
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = path.normalize(\u6E90\u6587\u4EF62.fileName);
40
48
  return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84);
41
49
  });
50
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
42
51
  const \u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
43
52
  (a) => \u63D0\u53D6\u53D8\u91CF\u8282\u70B9(a).map((x) => ({
44
53
  \u6587\u4EF6: a,
@@ -46,6 +55,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
46
55
  \u8BA1\u7B97\u8282\u70B9\u540D\u79F0: \u66FF\u6362\u975E\u6CD5\u5B57\u7B26(randomUUID())
47
56
  }))
48
57
  );
58
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC.length} \u4E2A\u53D8\u91CF\u8282\u70B9`);
49
59
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u53D8\u91CF\u8282\u70B9\u4EEC.map((a) => {
50
60
  var \u4EE3\u7801 = [];
51
61
  if (a.\u53D8\u91CF\u8282\u70B9.name.kind != ts.SyntaxKind.Identifier) {
@@ -107,106 +117,14 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
107
117
  });
108
118
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
109
119
  }
110
- var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any")));
111
- var \u6700\u7EC8\u4EE3\u7801 = [
112
- `export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`,
113
- "",
114
- `type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never`,
115
- "",
116
- `type \u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
117
- ` ? []`,
118
- ` : A extends [infer x, ...infer xs]`,
119
- ` ? 'path' extends keyof x`,
120
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
121
- ` : never`,
122
- ` : never`,
123
- `type Get\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
124
- ` ? []`,
125
- ` : A extends [infer x, ...infer xs]`,
126
- ` ? 'method' extends keyof x`,
127
- ` ? x['method'] extends 'get'`,
128
- ` ? 'path' extends keyof x`,
129
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
130
- ` : never`,
131
- ` : never`,
132
- ` : never`,
133
- ` : never`,
134
- `type Post\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
135
- ` ? []`,
136
- ` : A extends [infer x, ...infer xs]`,
137
- ` ? 'method' extends keyof x`,
138
- ` ? x['method'] extends 'post'`,
139
- ` ? 'path' extends keyof x`,
140
- ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
141
- ` : never`,
142
- ` : never`,
143
- ` : never`,
144
- ` : never`,
145
- ``,
146
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType> = A extends []`,
147
- ` ? []`,
148
- ` : A extends [infer x, ...infer xs]`,
149
- ` ? 'path' extends keyof x`,
150
- ` ? x['path'] extends Path`,
151
- ` ? 'input' extends keyof x`,
152
- ` ? x['input']`,
153
- ` : never`,
154
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>`,
155
- ` : never`,
156
- ` : never`,
157
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []`,
158
- ` ? []`,
159
- ` : A extends [infer x, ...infer xs]`,
160
- ` ? 'path' extends keyof x`,
161
- ` ? x['path'] extends Path`,
162
- ` ? 'method' extends keyof x`,
163
- ` ? x['method']`,
164
- ` : never`,
165
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, xs>`,
166
- ` : never`,
167
- ` : never`,
168
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
169
- ` ? []`,
170
- ` : A extends [infer x, ...infer xs]`,
171
- ` ? 'path' extends keyof x`,
172
- ` ? x['path'] extends Path`,
173
- ` ? 'successOutput' extends keyof x`,
174
- ` ? x['successOutput']`,
175
- ` : never`,
176
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, xs>`,
177
- ` : never`,
178
- ` : never`,
179
- `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
180
- ` ? []`,
181
- ` : A extends [infer x, ...infer xs]`,
182
- ` ? 'path' extends keyof x`,
183
- ` ? x['path'] extends Path`,
184
- ` ? 'errorOutput' extends keyof x`,
185
- ` ? x['errorOutput']`,
186
- ` : never`,
187
- ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, xs>`,
188
- ` : never`,
189
- ` : never`,
190
- ``,
191
- `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>>(`,
192
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
193
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
194
- ` \u65B9\u6CD5: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<\u8DEF\u5F84>,`,
195
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
196
- `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>>(`,
197
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
198
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
199
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
200
- `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>>(`,
201
- ` \u8DEF\u5F84: \u8DEF\u5F84,`,
202
- ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
203
- `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
204
- ""
205
- ];
120
+ var \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u68C0\u67E5\u7ED3\u679C.filter((a) => a != "any" && a != "never")));
121
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u7C7B\u578B`);
122
+ var \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, ...\u9644\u52A0\u4EE3\u7801];
206
123
  var \u8F93\u51FA\u6587\u4EF6\u5939 = path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
207
124
  if (!fs.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
208
125
  fs.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
209
126
  fs.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
127
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
210
128
  }
211
129
 
212
130
  export {
@@ -1,13 +1,13 @@
1
- import {
2
- 正确JSON结果,
3
- 错误JSON结果
4
- } from "./chunk-IPDMEQ3O.js";
5
1
  import {
6
2
  接口
7
- } from "./chunk-IZ623QVE.js";
3
+ } from "./chunk-5FTVDMDL.js";
8
4
  import {
9
5
  接口类型
10
6
  } from "./chunk-SF5Z34AP.js";
7
+ import {
8
+ 正确JSON结果,
9
+ 错误JSON结果
10
+ } from "./chunk-IPDMEQ3O.js";
11
11
 
12
12
  // src/interface/extend/json-wrap.ts
13
13
  import { z } from "zod";
@@ -23,8 +23,8 @@ var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\
23
23
  }
24
24
  };
25
25
  var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
26
- async API\u5B9E\u73B0(\u53C2\u6570) {
27
- var c = await this.\u4E1A\u52A1\u884C\u4E3A\u5B9E\u73B0(\u53C2\u6570);
26
+ async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
27
+ var c = await \u4E1A\u52A1\u7ED3\u679C;
28
28
  if (c.isLeft())
29
29
  return new \u9519\u8BEFJSON\u7ED3\u679C({ status: "fail", data: c.assertLeft().getLeft() });
30
30
  return new \u6B63\u786EJSON\u7ED3\u679C({ status: "success", data: c.assertRight().getRight() });
@@ -26,28 +26,36 @@ function \u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F
26
26
  return path.relative(path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84), a["\u6587\u4EF6"].fileName).replaceAll("\\", "/").replaceAll(".ts", "");
27
27
  }
28
28
  async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F) {
29
- var \u65E5\u5FD7 = new Log("@lsby:net-core").extend("gen-test");
30
- await \u65E5\u5FD7.debug("\u51C6\u5907\u751F\u6210\u63A5\u53E3\u6D4B\u8BD5...");
29
+ var log = new Log("@lsby:net-core").extend("gen-test");
30
+ await log.debug("\u5F00\u59CB\u751F\u6210\u6D4B\u8BD5...");
31
+ await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
32
+ await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
33
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
34
+ await log.debug(`\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F: ${\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F}`);
31
35
  const tsconfig\u5185\u5BB9 = ts.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, fs.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
32
36
  if (tsconfig\u5185\u5BB9.error) {
37
+ await log.err("\u65E0\u6CD5\u89E3\u6790 tsconfig.json", tsconfig\u5185\u5BB9.error);
33
38
  throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
34
39
  }
35
40
  const \u89E3\u6790\u540E\u7684tsconfig = ts.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, ts.sys, path.resolve(tsconfig\u8DEF\u5F84, ".."));
36
- await \u65E5\u5FD7.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
41
+ await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
37
42
  const \u9879\u76EE\u4E3B\u673A = ts.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
38
43
  const \u9879\u76EE = ts.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
39
- await \u65E5\u5FD7.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
44
+ await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
40
45
  var \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
41
46
  var \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF62) => {
42
47
  var \u6E90\u6587\u4EF6\u8DEF\u5F84 = path.normalize(\u6E90\u6587\u4EF62.fileName);
43
- 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);
48
+ var \u7B26\u5408\u8FC7\u6EE4\u8868\u8FBE\u5F0F = new RegExp(\u6587\u4EF6\u8FC7\u6EE4\u8868\u8FBE\u5F0F || ".*").test(\u6E90\u6587\u4EF6\u8DEF\u5F84);
49
+ return \u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) && \u7B26\u5408\u8FC7\u6EE4\u8868\u8FBE\u5F0F;
44
50
  });
51
+ await log.debug(`\u7B5B\u9009\u51FA ${\u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
45
52
  const \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC = \u6240\u6709\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.flatMap(
46
53
  (a) => \u63D0\u53D6\u9876\u7EA7\u5BFC\u51FA\u7C7B\u8282\u70B9(a).map((x) => ({
47
54
  \u6587\u4EF6: a,
48
55
  \u7C7B\u8282\u70B9: x
49
56
  }))
50
57
  );
58
+ await log.debug(`\u63D0\u53D6\u5230 ${\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.length} \u4E2A\u7C7B\u8282\u70B9`);
51
59
  var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
52
60
  var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
53
61
  var \u4EE3\u7801 = [
@@ -90,6 +98,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
90
98
  \u68C0\u67E5\u7ED3\u679C.push(\u7ED3\u679C);
91
99
  }
92
100
  var \u6700\u7EC8\u7ED3\u679C = L.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
101
+ await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u6D4B\u8BD5\u7528\u4F8B`);
93
102
  var \u6700\u7EC8\u4EE3\u7801 = [
94
103
  "import { test } from 'vitest'",
95
104
  "import './unit-test-prefix'",
@@ -101,10 +110,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
101
110
  ...\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())`),
102
111
  ""
103
112
  ];
113
+ await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
104
114
  var \u8F93\u51FA\u6587\u4EF6\u5939 = path.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
105
- if (!fs.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939))
115
+ if (!fs.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939)) {
106
116
  fs.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
117
+ }
107
118
  fs.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
119
+ await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
108
120
  }
109
121
 
110
122
  export {
@@ -0,0 +1,99 @@
1
+ // src/bin/gen-type/addition.ts
2
+ var \u9644\u52A0\u4EE3\u7801 = [
3
+ "",
4
+ `type \u5143\u7EC4\u8F6C\u8054\u5408<T> = T extends any[] ? T[number] : never`,
5
+ "",
6
+ `type \u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
7
+ ` ? []`,
8
+ ` : A extends [infer x, ...infer xs]`,
9
+ ` ? 'path' extends keyof x`,
10
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
11
+ ` : never`,
12
+ ` : never`,
13
+ `type Get\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
14
+ ` ? []`,
15
+ ` : A extends [infer x, ...infer xs]`,
16
+ ` ? 'method' extends keyof x`,
17
+ ` ? x['method'] extends 'get'`,
18
+ ` ? 'path' extends keyof x`,
19
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
20
+ ` : never`,
21
+ ` : never`,
22
+ ` : never`,
23
+ ` : never`,
24
+ `type Post\u63A5\u53E3\u8DEF\u5F84\u4EEC<A = InterfaceType> = A extends []`,
25
+ ` ? []`,
26
+ ` : A extends [infer x, ...infer xs]`,
27
+ ` ? 'method' extends keyof x`,
28
+ ` ? x['method'] extends 'post'`,
29
+ ` ? 'path' extends keyof x`,
30
+ ` ? [x['path'], ...\u6240\u6709\u63A5\u53E3\u8DEF\u5F84\u4EEC<xs>]`,
31
+ ` : never`,
32
+ ` : never`,
33
+ ` : never`,
34
+ ` : never`,
35
+ ``,
36
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, A = InterfaceType> = A extends []`,
37
+ ` ? []`,
38
+ ` : A extends [infer x, ...infer xs]`,
39
+ ` ? 'path' extends keyof x`,
40
+ ` ? x['path'] extends Path`,
41
+ ` ? 'input' extends keyof x`,
42
+ ` ? x['input']`,
43
+ ` : never`,
44
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<Path, xs>`,
45
+ ` : never`,
46
+ ` : never`,
47
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, A = InterfaceType> = A extends []`,
48
+ ` ? []`,
49
+ ` : A extends [infer x, ...infer xs]`,
50
+ ` ? 'path' extends keyof x`,
51
+ ` ? x['path'] extends Path`,
52
+ ` ? 'method' extends keyof x`,
53
+ ` ? x['method']`,
54
+ ` : never`,
55
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<Path, xs>`,
56
+ ` : never`,
57
+ ` : never`,
58
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
59
+ ` ? []`,
60
+ ` : A extends [infer x, ...infer xs]`,
61
+ ` ? 'path' extends keyof x`,
62
+ ` ? x['path'] extends Path`,
63
+ ` ? 'successOutput' extends keyof x`,
64
+ ` ? x['successOutput']`,
65
+ ` : never`,
66
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<Path, xs>`,
67
+ ` : never`,
68
+ ` : never`,
69
+ `type \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, A = InterfaceType> = A extends []`,
70
+ ` ? []`,
71
+ ` : A extends [infer x, ...infer xs]`,
72
+ ` ? 'path' extends keyof x`,
73
+ ` ? x['path'] extends Path`,
74
+ ` ? 'errorOutput' extends keyof x`,
75
+ ` ? x['errorOutput']`,
76
+ ` : never`,
77
+ ` : \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<Path, xs>`,
78
+ ` : never`,
79
+ ` : never`,
80
+ ``,
81
+ `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>>(`,
82
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
83
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
84
+ ` \u65B9\u6CD5: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u65B9\u6CD5<\u8DEF\u5F84>,`,
85
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
86
+ `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>>(`,
87
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
88
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
89
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
90
+ `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>>(`,
91
+ ` \u8DEF\u5F84: \u8DEF\u5F84,`,
92
+ ` \u53C2\u6570: \u4ECE\u8DEF\u5F84\u83B7\u5F97\u53C2\u6570<\u8DEF\u5F84>,`,
93
+ `) => Promise<\u4ECE\u8DEF\u5F84\u83B7\u5F97\u6B63\u786E\u8FD4\u56DE<\u8DEF\u5F84> | \u4ECE\u8DEF\u5F84\u83B7\u5F97\u9519\u8BEF\u8FD4\u56DE<\u8DEF\u5F84>>`,
94
+ ""
95
+ ];
96
+
97
+ export {
98
+ 附加代码
99
+ };
@@ -0,0 +1,21 @@
1
+ import {
2
+ 接口
3
+ } from "./chunk-5FTVDMDL.js";
4
+ import {
5
+ 正确JSON结果,
6
+ 错误JSON结果
7
+ } from "./chunk-IPDMEQ3O.js";
8
+
9
+ // src/interface/extend/json-base.ts
10
+ var JSON\u63A5\u53E3 = class extends \u63A5\u53E3 {
11
+ async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230API\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
12
+ var c = await \u4E1A\u52A1\u7ED3\u679C;
13
+ if (c.isLeft())
14
+ return new \u9519\u8BEFJSON\u7ED3\u679C(c.assertLeft().getLeft());
15
+ return new \u6B63\u786EJSON\u7ED3\u679C(c.assertRight().getRight());
16
+ }
17
+ };
18
+
19
+ export {
20
+ JSON接口
21
+ };
package/dist/esm/index.js CHANGED
@@ -1,7 +1,10 @@
1
+ import {
2
+ JSON接口
3
+ } from "./chunk-URPOOM7V.js";
1
4
  import {
2
5
  JSON状态接口,
3
6
  JSON状态接口类型
4
- } from "./chunk-3WT6TRYJ.js";
7
+ } from "./chunk-QX7F45LO.js";
5
8
  import {
6
9
  中文路径支持插件
7
10
  } from "./chunk-KW3M3VXP.js";
@@ -15,19 +18,11 @@ import {
15
18
  表单解析插件
16
19
  } from "./chunk-XTHURYQM.js";
17
20
  import {
18
- JSON接口
19
- } from "./chunk-P6ML63XI.js";
20
- import {
21
- 正确JSON结果,
22
- 正确结果,
23
- 正确自定义结果,
24
- 结果,
25
- 错误JSON结果,
26
- 错误结果
27
- } from "./chunk-IPDMEQ3O.js";
21
+ 插件
22
+ } from "./chunk-N4NY37XI.js";
28
23
  import {
29
24
  接口
30
- } from "./chunk-IZ623QVE.js";
25
+ } from "./chunk-5FTVDMDL.js";
31
26
  import {
32
27
  业务行为
33
28
  } from "./chunk-V3S5HDZD.js";
@@ -38,8 +33,13 @@ import {
38
33
  接口类型
39
34
  } from "./chunk-SF5Z34AP.js";
40
35
  import {
41
- 插件
42
- } from "./chunk-N4NY37XI.js";
36
+ 正确JSON结果,
37
+ 正确结果,
38
+ 正确自定义结果,
39
+ 结果,
40
+ 错误JSON结果,
41
+ 错误结果
42
+ } from "./chunk-IPDMEQ3O.js";
43
43
  import {
44
44
  服务器
45
45
  } from "./chunk-N7VWAPFU.js";
@@ -1,14 +1,14 @@
1
1
  import { z } from 'zod';
2
- import { 合并插件结果 as ______$1 } from '../../plugin/plug.js';
3
2
  import { 正确结果 as ____, 错误结果 as ____$1 } from '../../result/result.js';
4
- import { 接口 as __ } from '../interface-inst.js';
5
- import { 任意接口类型 as ______, 接口类型插件们 as _______, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1 } from '../interface-type.js';
3
+ import { 接口 as __, 计算接口返回 as ______$1 } from '../interface-inst.js';
4
+ import { 任意接口类型 as ______, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1 } from '../interface-type.js';
6
5
  import 'express';
7
6
  import '@lsby/ts-fp-data';
8
7
  import '../../action/action.js';
8
+ import '../../plugin/plug.js';
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接口 };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  JSON接口
3
- } from "../../chunk-P6ML63XI.js";
4
- import "../../chunk-IPDMEQ3O.js";
5
- import "../../chunk-IZ623QVE.js";
3
+ } from "../../chunk-URPOOM7V.js";
4
+ import "../../chunk-5FTVDMDL.js";
6
5
  import "../../chunk-V3S5HDZD.js";
6
+ import "../../chunk-IPDMEQ3O.js";
7
7
  import "../../chunk-AHCV3LQ7.js";
8
8
  export {
9
9
  JSON\u63A5\u53E3
@@ -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.js';
3
+ import { 插件项类型 as _____ } from '../../plugin/plug.js';
4
4
  import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../../result/result.js';
5
- import { 接口 as __, 计算接口参数 as ______ } from '../interface-inst.js';
6
- import { 接口类型 as ____, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 接口类型插件们 as _______ } from '../interface-type.js';
5
+ import { 接口 as __, 计算接口参数 as ______, 计算接口返回 as ______$1 } from '../interface-inst.js';
6
+ import { 接口类型 as ____, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1 } from '../interface-type.js';
7
7
  import 'express';
8
8
  import '../../action/action.js';
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状态接口返回 };