@lsby/net-core 0.4.7 → 0.5.0-beta.2

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 (53) hide show
  1. package/dist/cjs/action/{action.cjs → action.bak.cjs} +4 -4
  2. package/dist/cjs/index.cjs +2 -92
  3. package/dist/cjs/index.d.cts +1 -2
  4. package/dist/cjs/server/server.cjs +1 -88
  5. package/dist/cjs/server/server.d.cts +1 -8
  6. package/dist/esm/action/{action.js → action.bak.js} +1 -1
  7. package/dist/esm/{chunk-UQ3SZP4A.js → chunk-AXMWOH7L.js} +1 -72
  8. package/dist/esm/{chunk-47ICFQXW.js → chunk-CE4M2QA4.js} +1 -1
  9. package/dist/esm/index.d.ts +1 -2
  10. package/dist/esm/index.js +3 -7
  11. package/dist/esm/server/server.d.ts +1 -8
  12. package/dist/esm/server/server.js +1 -2
  13. package/package.json +1 -3
  14. package/dist/bin/gen-table-list/bin.cjs +0 -157
  15. package/dist/bin/gen-table-list/bin.d.cts +0 -1
  16. package/dist/bin/gen-table-list/index.cjs +0 -156
  17. package/dist/bin/gen-table-list/index.d.cts +0 -3
  18. package/dist/bin/gen-table-type/addition.cjs +0 -123
  19. package/dist/bin/gen-table-type/addition.d.cts +0 -3
  20. package/dist/bin/gen-table-type/bin.cjs +0 -277
  21. package/dist/bin/gen-table-type/bin.d.cts +0 -1
  22. package/dist/bin/gen-table-type/index.cjs +0 -276
  23. package/dist/bin/gen-table-type/index.d.cts +0 -3
  24. package/dist/cjs/bin/gen-table-list/bin.cjs +0 -157
  25. package/dist/cjs/bin/gen-table-list/bin.d.cts +0 -1
  26. package/dist/cjs/bin/gen-table-list/index.cjs +0 -156
  27. package/dist/cjs/bin/gen-table-list/index.d.cts +0 -3
  28. package/dist/cjs/bin/gen-table-type/addition.cjs +0 -123
  29. package/dist/cjs/bin/gen-table-type/addition.d.cts +0 -3
  30. package/dist/cjs/bin/gen-table-type/bin.cjs +0 -277
  31. package/dist/cjs/bin/gen-table-type/bin.d.cts +0 -1
  32. package/dist/cjs/bin/gen-table-type/index.cjs +0 -276
  33. package/dist/cjs/bin/gen-table-type/index.d.cts +0 -3
  34. package/dist/cjs/interface-table/interface-table.cjs +0 -47
  35. package/dist/cjs/interface-table/interface-table.d.cts +0 -142
  36. package/dist/esm/bin/gen-table-list/bin.d.ts +0 -1
  37. package/dist/esm/bin/gen-table-list/bin.js +0 -16
  38. package/dist/esm/bin/gen-table-list/index.d.ts +0 -3
  39. package/dist/esm/bin/gen-table-list/index.js +0 -6
  40. package/dist/esm/bin/gen-table-type/addition.d.ts +0 -3
  41. package/dist/esm/bin/gen-table-type/addition.js +0 -6
  42. package/dist/esm/bin/gen-table-type/bin.d.ts +0 -1
  43. package/dist/esm/bin/gen-table-type/bin.js +0 -17
  44. package/dist/esm/bin/gen-table-type/index.d.ts +0 -3
  45. package/dist/esm/bin/gen-table-type/index.js +0 -7
  46. package/dist/esm/chunk-4T2MZJJ5.js +0 -122
  47. package/dist/esm/chunk-GN24MVWF.js +0 -23
  48. package/dist/esm/chunk-HSGHMDHC.js +0 -148
  49. package/dist/esm/chunk-V3CNI7QV.js +0 -99
  50. package/dist/esm/interface-table/interface-table.d.ts +0 -142
  51. package/dist/esm/interface-table/interface-table.js +0 -6
  52. /package/dist/cjs/action/{action.d.cts → action.bak.d.cts} +0 -0
  53. /package/dist/esm/action/{action.d.ts → action.bak.d.ts} +0 -0
@@ -1,277 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
- // If the importer is in node compatibility mode or this is not an ESM
19
- // file that has been converted to a CommonJS file using a Babel-
20
- // compatible transform (i.e. "__esModule" has not been set), then set
21
- // "default" to the CommonJS "module.exports" for node compatibility.
22
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
- mod
24
- ));
25
-
26
- // src/bin/gen-table-type/bin.ts
27
- var import_commander = require("commander");
28
- var import_node_path2 = __toESM(require("path"), 1);
29
-
30
- // src/bin/gen-table-type/index.ts
31
- var import_ts_log = require("@lsby/ts-log");
32
- var import_node_crypto = require("crypto");
33
- var import_node_fs = __toESM(require("fs"), 1);
34
- var import_node_path = __toESM(require("path"), 1);
35
- var import_typescript = __toESM(require("typescript"), 1);
36
-
37
- // src/bin/gen-table-type/addition.ts
38
- var \u9644\u52A0\u4EE3\u7801 = `
39
- export type \u662Fany<T> = 0 extends 1 & T ? true : false
40
- export type \u6761\u4EF6<\u5217\u5B9A\u4E49> =
41
- \u662Fany<\u5217\u5B9A\u4E49> extends true
42
- ? any
43
- :
44
- | { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K] } }[keyof \u5217\u5B9A\u4E49]
45
- | { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C: \u5217\u5B9A\u4E49[K][] } }[keyof \u5217\u5B9A\u4E49]
46
- | { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'is' | 'is not'; \u503C: null } }[keyof \u5217\u5B9A\u4E49]
47
- | {
48
- [K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends string ? { \u5217: K; \u7B26\u53F7: 'like' | 'not like'; \u503C: string } : never
49
- }[keyof \u5217\u5B9A\u4E49]
50
- | {
51
- [K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends number ? { \u5217: K; \u7B26\u53F7: '>' | '<' | '>=' | '<='; \u503C: number } : never
52
- }[keyof \u5217\u5B9A\u4E49]
53
- export type \u6761\u4EF6\u7EC4<\u5217\u5B9A\u4E49 extends object> = \u6761\u4EF6<\u5217\u5B9A\u4E49>[]
54
- export type \u5206\u9875\u9009\u9879 = {
55
- \u9875\u6570: number
56
- \u5927\u5C0F: number
57
- }
58
- export type \u6392\u5E8F\u9009\u9879<\u5217\u540D\u79F0\u4EEC> = {
59
- \u6392\u5E8F\u5217: \u5217\u540D\u79F0\u4EEC
60
- \u6392\u5E8F\u6A21\u5F0F: '\u6B63\u5E8F' | '\u5012\u5E8F'
61
- }
62
- export type \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<A> = A extends '\u5B57\u7B26\u4E32'
63
- ? string
64
- : A extends '\u6570\u5B57'
65
- ? number
66
- : A extends '\u5E03\u5C14'
67
- ? boolean
68
- : never
69
- export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
70
- \u662Fany<\u5BF9\u8C61> extends true
71
- ? any
72
- : { [key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key] ? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> : never }
73
- export type \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
74
- \u662Fany<\u5BF9\u8C61> extends true
75
- ? any
76
- : {
77
- [key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
78
- ? '\u53EF\u7A7A' extends keyof \u5BF9\u8C61[key]
79
- ? \u5BF9\u8C61[key]['\u53EF\u7A7A'] extends 'false'
80
- ? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
81
- : \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | null
82
- : never
83
- : never
84
- }
85
- export type \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
86
- \u662Fany<\u5BF9\u8C61> extends true
87
- ? any
88
- : \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<
89
- \u8054\u5408\u8F6C\u5143\u7EC4<
90
- \u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<{
91
- [key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
92
- ? '\u53EF\u9009' extends keyof \u5BF9\u8C61[key]
93
- ? \u5BF9\u8C61[key]['\u53EF\u9009'] extends 'false'
94
- ? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
95
- : \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | undefined
96
- : never
97
- : never
98
- }>
99
- >
100
- >
101
- export type \u7FFB\u8BD1\u4FEE\u6539\u503C\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
102
- \u662Fany<\u5BF9\u8C61> extends true
103
- ? any
104
- : \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<
105
- \u8054\u5408\u8F6C\u5143\u7EC4<
106
- \u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<{
107
- [key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
108
- ? '\u53EF\u7A7A' extends keyof \u5BF9\u8C61[key]
109
- ? \u5BF9\u8C61[key]['\u53EF\u7A7A'] extends 'false'
110
- ? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
111
- : \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | null
112
- : never
113
- : never
114
- }>
115
- >
116
- >
117
- export type \u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<X> = {
118
- [key in keyof X]: undefined extends X[key] ? { [k in key]?: X[key] } : { [k in key]: X[key] }
119
- }[keyof X]
120
-
121
- type \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<Arr> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x & \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<xs> : never
122
-
123
- type \u8054\u5408\u8F6C\u6362\u6210\u51FD\u6570<X> = X extends any ? (a: (x: any) => X) => any : never
124
- type \u51FD\u6570\u8F6C\u6362\u6210\u4E0E<X> = (X extends any ? X : never) extends (a: infer A) => any ? A : never
125
- type \u53D6\u6700\u540E\u4E00\u4E2A<X> = \u51FD\u6570\u8F6C\u6362\u6210\u4E0E<\u8054\u5408\u8F6C\u6362\u6210\u51FD\u6570<X>> extends (x: any) => infer A ? A : never
126
- type \u8054\u5408\u8F6C\u5143\u7EC4<X> = [X] extends [never]
127
- ? []
128
- : \u53D6\u6700\u540E\u4E00\u4E2A<X> extends infer Last
129
- ? [...\u8054\u5408\u8F6C\u5143\u7EC4<Exclude<X, Last>>, Last]
130
- : never
131
- `;
132
-
133
- // src/bin/gen-table-type/index.ts
134
- function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
135
- let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = false;
136
- import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (\u8282\u70B9) => {
137
- if (import_typescript.default.isExportDeclaration(\u8282\u70B9)) {
138
- let \u8282\u70B9\u5BFC\u51FA = \u8282\u70B9.exportClause ?? null;
139
- if (\u8282\u70B9\u5BFC\u51FA !== null && import_typescript.default.isDefaultClause(\u8282\u70B9\u5BFC\u51FA) || import_typescript.default.isExportAssignment(\u8282\u70B9)) {
140
- \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = true;
141
- }
142
- } else if (import_typescript.default.isClassDeclaration(\u8282\u70B9) && (\u8282\u70B9.modifiers?.some((mod) => mod.kind === import_typescript.default.SyntaxKind.DefaultKeyword) ?? false)) {
143
- \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = true;
144
- }
145
- });
146
- return \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA;
147
- }
148
- async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
149
- let log = new import_ts_log.Log("@lsby:net-core").extend("gen-table-type");
150
- await log.debug("\u5F00\u59CB\u751F\u6210\u7C7B\u578B...");
151
- await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
152
- await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
153
- await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
154
- let tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
155
- let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
156
- if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
157
- await log.error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
158
- throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
159
- }
160
- let \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
161
- await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
162
- let \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
163
- let \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
164
- await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
165
- let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
166
- let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
167
- let \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF6.fileName);
168
- if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
169
- return false;
170
- let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
171
- if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
172
- return false;
173
- return true;
174
- });
175
- await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
176
- let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
177
- let \u4EE3\u7801 = `
178
- import { \u5206\u9875\u9009\u9879, \u6392\u5E8F\u9009\u9879, \u6761\u4EF6\u7EC4, \u7FFB\u8BD1\u5217\u63CF\u8FF0, \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0, \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0, \u865A\u62DF\u8868, \u7FFB\u8BD1\u4FEE\u6539\u503C\u5217\u63CF\u8FF0 } from '@lsby/net-core'
179
- import { z } from 'zod'
180
- import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}",
181
-
182
- // \u8DEF\u5F84
183
- type \u8DEF\u5F84 = (typeof \u5BFC\u5165)['\u8D44\u6E90\u8DEF\u5F84']
184
-
185
- // \u5217
186
- type \u5217\u63CF\u8FF0Zod = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, infer X, any, any, any, any> ? X : never
187
-
188
- // \u9519\u8BEF
189
- type \u589E\u9519\u8BEF = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, any, infer X, any, any, any> ? z.infer<X> : never
190
- type \u5220\u9519\u8BEF = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, any, any, infer X, any, any> ? z.infer<X> : never
191
- type \u6539\u9519\u8BEF = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, any, any, any, infer X, any> ? z.infer<X> : never
192
- type \u67E5\u9519\u8BEF = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, any, any, any, any, infer X> ? z.infer<X> : never
193
-
194
- // \u6700\u7EC8\u8F93\u51FA
195
- type \u6700\u7EC8\u8F93\u51FA = \u8DEF\u5F84 extends infer _
196
- ? {
197
- \u8DEF\u5F84: \u8DEF\u5F84
198
-
199
- \u6784\u9020\u53C2\u6570: \u5BFC\u5165 extends \u865A\u62DF\u8868<infer X, any, any, any, any, any> ? z.infer<X> : never
200
-
201
- \u589E\u53C2\u6570_\u6570\u636E\u4EEC: \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
202
- \u5220\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
203
- \u6539\u53C2\u6570_\u65B0\u503C: Partial<\u7FFB\u8BD1\u4FEE\u6539\u503C\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
204
- \u6539\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
205
- \u67E5\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
206
- \u67E5\u53C2\u6570_\u5206\u9875\u6761\u4EF6: \u5206\u9875\u9009\u9879
207
- \u67E5\u53C2\u6570_\u6392\u5E8F\u6761\u4EF6: \u6392\u5E8F\u9009\u9879<z.infer<ReturnType<\u5217\u63CF\u8FF0Zod['keyof']>>>
208
-
209
- \u589E\u539F\u59CB\u9519\u8BEF\u503C: \u589E\u9519\u8BEF
210
- \u5220\u539F\u59CB\u9519\u8BEF\u503C: \u5220\u9519\u8BEF
211
- \u6539\u539F\u59CB\u9519\u8BEF\u503C: \u6539\u9519\u8BEF
212
- \u67E5\u539F\u59CB\u9519\u8BEF\u503C: \u67E5\u9519\u8BEF
213
-
214
- \u589E\u539F\u59CB\u6B63\u786E\u503C: {}
215
- \u5220\u539F\u59CB\u6B63\u786E\u503C: {}
216
- \u6539\u539F\u59CB\u6B63\u786E\u503C: {}
217
- \u67E5\u539F\u59CB\u6B63\u786E\u503C: \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
218
-
219
- \u589E\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u589E\u9519\u8BEF } | { status: 'success'; data:{} }
220
- \u5220\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u5220\u9519\u8BEF } | { status: 'success'; data:{} }
221
- \u6539\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u6539\u9519\u8BEF } | { status: 'success'; data:{} }
222
- \u67E5\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u67E5\u9519\u8BEF } | { status: 'success'; data: \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[] }
223
- }
224
- : never
225
- `;
226
- return import_typescript.default.createSourceFile(a.fileName.replaceAll(".ts", "-" + (0, import_node_crypto.randomUUID)() + ".ts"), \u4EE3\u7801, import_typescript.default.ScriptTarget.Latest);
227
- });
228
- let \u65B0\u9879\u76EE = import_typescript.default.createProgram({
229
- rootNames: [...\u9879\u76EE.getSourceFiles().map((a) => a.fileName), ...\u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.map((a) => a.fileName)],
230
- options: \u89E3\u6790\u540E\u7684tsconfig.options,
231
- host: {
232
- ...\u9879\u76EE\u4E3B\u673A,
233
- getSourceFile: (filename) => {
234
- let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
235
- if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
236
- return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
237
- return \u9879\u76EE.getSourceFile(filename);
238
- }
239
- },
240
- oldProgram: \u9879\u76EE
241
- });
242
- let \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
243
- let \u7ED3\u679C = [];
244
- for (let \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
245
- import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (node) => {
246
- if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u6700\u7EC8\u8F93\u51FA") {
247
- let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
248
- \u7ED3\u679C.push(
249
- \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
250
- type,
251
- void 0,
252
- import_typescript.default.TypeFormatFlags.NoTruncation | import_typescript.default.TypeFormatFlags.NoTypeReduction | import_typescript.default.TypeFormatFlags.AllowUniqueESSymbolType | import_typescript.default.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
253
- )
254
- );
255
- }
256
- });
257
- }
258
- let \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u7ED3\u679C.filter((a) => a !== "any" && a !== "never" && a !== "unknown")));
259
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u8868\u7C7B\u578B`);
260
- let \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceTableType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, \u9644\u52A0\u4EE3\u7801];
261
- await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
262
- let \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
263
- if (import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
264
- import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
265
- import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
266
- await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
267
- }
268
-
269
- // src/bin/gen-table-type/bin.ts
270
- var program = new import_commander.Command();
271
- program.name("\u751F\u6210\u8868\u7C7B\u578B\u6587\u4EF6").argument("<tsconfigPath>", "tsconfig\u6587\u4EF6\u8DEF\u5F84").argument("<interfaceFolderPath>", "\u63A5\u53E3\u6587\u4EF6\u5939\u8DEF\u5F84").argument("<outFilePath>", "\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84").action(async (tsconfigPath, interfaceFolderPath, outputPath) => {
272
- let absoluteTsconfigPath = import_node_path2.default.resolve(tsconfigPath);
273
- let absoluteApiFolderPath = import_node_path2.default.resolve(interfaceFolderPath);
274
- let absoluteOutputPath = import_node_path2.default.resolve(outputPath);
275
- await main(absoluteTsconfigPath, absoluteApiFolderPath, absoluteOutputPath);
276
- });
277
- program.parse(process.argv);
@@ -1 +0,0 @@
1
- #!/usr/bin/env node
@@ -1,276 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // src/bin/gen-table-type/index.ts
31
- var gen_table_type_exports = {};
32
- __export(gen_table_type_exports, {
33
- main: () => main
34
- });
35
- module.exports = __toCommonJS(gen_table_type_exports);
36
- var import_ts_log = require("@lsby/ts-log");
37
- var import_node_crypto = require("crypto");
38
- var import_node_fs = __toESM(require("fs"), 1);
39
- var import_node_path = __toESM(require("path"), 1);
40
- var import_typescript = __toESM(require("typescript"), 1);
41
-
42
- // src/bin/gen-table-type/addition.ts
43
- var \u9644\u52A0\u4EE3\u7801 = `
44
- export type \u662Fany<T> = 0 extends 1 & T ? true : false
45
- export type \u6761\u4EF6<\u5217\u5B9A\u4E49> =
46
- \u662Fany<\u5217\u5B9A\u4E49> extends true
47
- ? any
48
- :
49
- | { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K] } }[keyof \u5217\u5B9A\u4E49]
50
- | { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C: \u5217\u5B9A\u4E49[K][] } }[keyof \u5217\u5B9A\u4E49]
51
- | { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'is' | 'is not'; \u503C: null } }[keyof \u5217\u5B9A\u4E49]
52
- | {
53
- [K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends string ? { \u5217: K; \u7B26\u53F7: 'like' | 'not like'; \u503C: string } : never
54
- }[keyof \u5217\u5B9A\u4E49]
55
- | {
56
- [K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends number ? { \u5217: K; \u7B26\u53F7: '>' | '<' | '>=' | '<='; \u503C: number } : never
57
- }[keyof \u5217\u5B9A\u4E49]
58
- export type \u6761\u4EF6\u7EC4<\u5217\u5B9A\u4E49 extends object> = \u6761\u4EF6<\u5217\u5B9A\u4E49>[]
59
- export type \u5206\u9875\u9009\u9879 = {
60
- \u9875\u6570: number
61
- \u5927\u5C0F: number
62
- }
63
- export type \u6392\u5E8F\u9009\u9879<\u5217\u540D\u79F0\u4EEC> = {
64
- \u6392\u5E8F\u5217: \u5217\u540D\u79F0\u4EEC
65
- \u6392\u5E8F\u6A21\u5F0F: '\u6B63\u5E8F' | '\u5012\u5E8F'
66
- }
67
- export type \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<A> = A extends '\u5B57\u7B26\u4E32'
68
- ? string
69
- : A extends '\u6570\u5B57'
70
- ? number
71
- : A extends '\u5E03\u5C14'
72
- ? boolean
73
- : never
74
- export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
75
- \u662Fany<\u5BF9\u8C61> extends true
76
- ? any
77
- : { [key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key] ? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> : never }
78
- export type \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
79
- \u662Fany<\u5BF9\u8C61> extends true
80
- ? any
81
- : {
82
- [key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
83
- ? '\u53EF\u7A7A' extends keyof \u5BF9\u8C61[key]
84
- ? \u5BF9\u8C61[key]['\u53EF\u7A7A'] extends 'false'
85
- ? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
86
- : \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | null
87
- : never
88
- : never
89
- }
90
- export type \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
91
- \u662Fany<\u5BF9\u8C61> extends true
92
- ? any
93
- : \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<
94
- \u8054\u5408\u8F6C\u5143\u7EC4<
95
- \u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<{
96
- [key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
97
- ? '\u53EF\u9009' extends keyof \u5BF9\u8C61[key]
98
- ? \u5BF9\u8C61[key]['\u53EF\u9009'] extends 'false'
99
- ? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
100
- : \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | undefined
101
- : never
102
- : never
103
- }>
104
- >
105
- >
106
- export type \u7FFB\u8BD1\u4FEE\u6539\u503C\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
107
- \u662Fany<\u5BF9\u8C61> extends true
108
- ? any
109
- : \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<
110
- \u8054\u5408\u8F6C\u5143\u7EC4<
111
- \u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<{
112
- [key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
113
- ? '\u53EF\u7A7A' extends keyof \u5BF9\u8C61[key]
114
- ? \u5BF9\u8C61[key]['\u53EF\u7A7A'] extends 'false'
115
- ? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
116
- : \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | null
117
- : never
118
- : never
119
- }>
120
- >
121
- >
122
- export type \u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<X> = {
123
- [key in keyof X]: undefined extends X[key] ? { [k in key]?: X[key] } : { [k in key]: X[key] }
124
- }[keyof X]
125
-
126
- type \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<Arr> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x & \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<xs> : never
127
-
128
- type \u8054\u5408\u8F6C\u6362\u6210\u51FD\u6570<X> = X extends any ? (a: (x: any) => X) => any : never
129
- type \u51FD\u6570\u8F6C\u6362\u6210\u4E0E<X> = (X extends any ? X : never) extends (a: infer A) => any ? A : never
130
- type \u53D6\u6700\u540E\u4E00\u4E2A<X> = \u51FD\u6570\u8F6C\u6362\u6210\u4E0E<\u8054\u5408\u8F6C\u6362\u6210\u51FD\u6570<X>> extends (x: any) => infer A ? A : never
131
- type \u8054\u5408\u8F6C\u5143\u7EC4<X> = [X] extends [never]
132
- ? []
133
- : \u53D6\u6700\u540E\u4E00\u4E2A<X> extends infer Last
134
- ? [...\u8054\u5408\u8F6C\u5143\u7EC4<Exclude<X, Last>>, Last]
135
- : never
136
- `;
137
-
138
- // src/bin/gen-table-type/index.ts
139
- function \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6) {
140
- let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = false;
141
- import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (\u8282\u70B9) => {
142
- if (import_typescript.default.isExportDeclaration(\u8282\u70B9)) {
143
- let \u8282\u70B9\u5BFC\u51FA = \u8282\u70B9.exportClause ?? null;
144
- if (\u8282\u70B9\u5BFC\u51FA !== null && import_typescript.default.isDefaultClause(\u8282\u70B9\u5BFC\u51FA) || import_typescript.default.isExportAssignment(\u8282\u70B9)) {
145
- \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = true;
146
- }
147
- } else if (import_typescript.default.isClassDeclaration(\u8282\u70B9) && (\u8282\u70B9.modifiers?.some((mod) => mod.kind === import_typescript.default.SyntaxKind.DefaultKeyword) ?? false)) {
148
- \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = true;
149
- }
150
- });
151
- return \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA;
152
- }
153
- async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84) {
154
- let log = new import_ts_log.Log("@lsby:net-core").extend("gen-table-type");
155
- await log.debug("\u5F00\u59CB\u751F\u6210\u7C7B\u578B...");
156
- await log.debug(`tsconfig\u8DEF\u5F84: ${tsconfig\u8DEF\u5F84}`);
157
- await log.debug(`\u76EE\u6807\u8DEF\u5F84: ${\u76EE\u6807\u8DEF\u5F84}`);
158
- await log.debug(`\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
159
- let tsconfig\u5185\u5BB9 = import_typescript.default.parseConfigFileTextToJson(tsconfig\u8DEF\u5F84, import_node_fs.default.readFileSync(tsconfig\u8DEF\u5F84, "utf8"));
160
- let tsconfig\u5185\u5BB9\u9519\u8BEF = tsconfig\u5185\u5BB9.error ?? null;
161
- if (tsconfig\u5185\u5BB9\u9519\u8BEF !== null) {
162
- await log.error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json: " + tsconfig\u5185\u5BB9\u9519\u8BEF.messageText);
163
- throw new Error("\u65E0\u6CD5\u89E3\u6790 tsconfig.json");
164
- }
165
- let \u89E3\u6790\u540E\u7684tsconfig = import_typescript.default.parseJsonConfigFileContent(tsconfig\u5185\u5BB9.config, import_typescript.default.sys, import_node_path.default.resolve(tsconfig\u8DEF\u5F84, ".."));
166
- await log.debug("\u6210\u529F\u89E3\u6790 tsconfig \u6587\u4EF6...");
167
- let \u9879\u76EE\u4E3B\u673A = import_typescript.default.createCompilerHost(\u89E3\u6790\u540E\u7684tsconfig.options);
168
- let \u9879\u76EE = import_typescript.default.createProgram(\u89E3\u6790\u540E\u7684tsconfig.fileNames, \u89E3\u6790\u540E\u7684tsconfig.options, \u9879\u76EE\u4E3B\u673A);
169
- await log.debug("\u6210\u529F\u8BFB\u53D6\u9879\u76EE...");
170
- let \u6240\u6709\u6E90\u6587\u4EF6 = \u9879\u76EE.getSourceFiles();
171
- let \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC = \u6240\u6709\u6E90\u6587\u4EF6.filter((\u6E90\u6587\u4EF6) => {
172
- let \u6E90\u6587\u4EF6\u8DEF\u5F84 = import_node_path.default.normalize(\u6E90\u6587\u4EF6.fileName);
173
- if (\u6E90\u6587\u4EF6\u8DEF\u5F84.includes(\u76EE\u6807\u8DEF\u5F84) === false)
174
- return false;
175
- let \u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA = \u68C0\u67E5\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA(\u6E90\u6587\u4EF6);
176
- if (\u5B58\u5728\u9ED8\u8BA4\u5BFC\u51FA === false)
177
- return false;
178
- return true;
179
- });
180
- await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
181
- let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
182
- let \u4EE3\u7801 = `
183
- import { \u5206\u9875\u9009\u9879, \u6392\u5E8F\u9009\u9879, \u6761\u4EF6\u7EC4, \u7FFB\u8BD1\u5217\u63CF\u8FF0, \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0, \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0, \u865A\u62DF\u8868, \u7FFB\u8BD1\u4FEE\u6539\u503C\u5217\u63CF\u8FF0 } from '@lsby/net-core'
184
- import { z } from 'zod'
185
- import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}",
186
-
187
- // \u8DEF\u5F84
188
- type \u8DEF\u5F84 = (typeof \u5BFC\u5165)['\u8D44\u6E90\u8DEF\u5F84']
189
-
190
- // \u5217
191
- type \u5217\u63CF\u8FF0Zod = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, infer X, any, any, any, any> ? X : never
192
-
193
- // \u9519\u8BEF
194
- type \u589E\u9519\u8BEF = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, any, infer X, any, any, any> ? z.infer<X> : never
195
- type \u5220\u9519\u8BEF = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, any, any, infer X, any, any> ? z.infer<X> : never
196
- type \u6539\u9519\u8BEF = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, any, any, any, infer X, any> ? z.infer<X> : never
197
- type \u67E5\u9519\u8BEF = \u5BFC\u5165 extends \u865A\u62DF\u8868<any, any, any, any, any, infer X> ? z.infer<X> : never
198
-
199
- // \u6700\u7EC8\u8F93\u51FA
200
- type \u6700\u7EC8\u8F93\u51FA = \u8DEF\u5F84 extends infer _
201
- ? {
202
- \u8DEF\u5F84: \u8DEF\u5F84
203
-
204
- \u6784\u9020\u53C2\u6570: \u5BFC\u5165 extends \u865A\u62DF\u8868<infer X, any, any, any, any, any> ? z.infer<X> : never
205
-
206
- \u589E\u53C2\u6570_\u6570\u636E\u4EEC: \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
207
- \u5220\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
208
- \u6539\u53C2\u6570_\u65B0\u503C: Partial<\u7FFB\u8BD1\u4FEE\u6539\u503C\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
209
- \u6539\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
210
- \u67E5\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
211
- \u67E5\u53C2\u6570_\u5206\u9875\u6761\u4EF6: \u5206\u9875\u9009\u9879
212
- \u67E5\u53C2\u6570_\u6392\u5E8F\u6761\u4EF6: \u6392\u5E8F\u9009\u9879<z.infer<ReturnType<\u5217\u63CF\u8FF0Zod['keyof']>>>
213
-
214
- \u589E\u539F\u59CB\u9519\u8BEF\u503C: \u589E\u9519\u8BEF
215
- \u5220\u539F\u59CB\u9519\u8BEF\u503C: \u5220\u9519\u8BEF
216
- \u6539\u539F\u59CB\u9519\u8BEF\u503C: \u6539\u9519\u8BEF
217
- \u67E5\u539F\u59CB\u9519\u8BEF\u503C: \u67E5\u9519\u8BEF
218
-
219
- \u589E\u539F\u59CB\u6B63\u786E\u503C: {}
220
- \u5220\u539F\u59CB\u6B63\u786E\u503C: {}
221
- \u6539\u539F\u59CB\u6B63\u786E\u503C: {}
222
- \u67E5\u539F\u59CB\u6B63\u786E\u503C: \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
223
-
224
- \u589E\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u589E\u9519\u8BEF } | { status: 'success'; data:{} }
225
- \u5220\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u5220\u9519\u8BEF } | { status: 'success'; data:{} }
226
- \u6539\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u6539\u9519\u8BEF } | { status: 'success'; data:{} }
227
- \u67E5\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u67E5\u9519\u8BEF } | { status: 'success'; data: \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[] }
228
- }
229
- : never
230
- `;
231
- return import_typescript.default.createSourceFile(a.fileName.replaceAll(".ts", "-" + (0, import_node_crypto.randomUUID)() + ".ts"), \u4EE3\u7801, import_typescript.default.ScriptTarget.Latest);
232
- });
233
- let \u65B0\u9879\u76EE = import_typescript.default.createProgram({
234
- rootNames: [...\u9879\u76EE.getSourceFiles().map((a) => a.fileName), ...\u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.map((a) => a.fileName)],
235
- options: \u89E3\u6790\u540E\u7684tsconfig.options,
236
- host: {
237
- ...\u9879\u76EE\u4E3B\u673A,
238
- getSourceFile: (filename) => {
239
- let \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 = \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC.find((a) => a.fileName === filename) ?? null;
240
- if (\u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6 !== null)
241
- return \u627E\u5230\u7684\u865A\u62DF\u6587\u4EF6;
242
- return \u9879\u76EE.getSourceFile(filename);
243
- }
244
- },
245
- oldProgram: \u9879\u76EE
246
- });
247
- let \u7C7B\u578B\u68C0\u67E5\u5668 = \u65B0\u9879\u76EE.getTypeChecker();
248
- let \u7ED3\u679C = [];
249
- for (let \u6E90\u6587\u4EF6 of \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC) {
250
- import_typescript.default.forEachChild(\u6E90\u6587\u4EF6, (node) => {
251
- if (import_typescript.default.isTypeAliasDeclaration(node) && node.name.text === "\u6700\u7EC8\u8F93\u51FA") {
252
- let type = \u7C7B\u578B\u68C0\u67E5\u5668.getTypeAtLocation(node);
253
- \u7ED3\u679C.push(
254
- \u7C7B\u578B\u68C0\u67E5\u5668.typeToString(
255
- type,
256
- void 0,
257
- import_typescript.default.TypeFormatFlags.NoTruncation | import_typescript.default.TypeFormatFlags.NoTypeReduction | import_typescript.default.TypeFormatFlags.AllowUniqueESSymbolType | import_typescript.default.TypeFormatFlags.UseAliasDefinedOutsideCurrentScope
258
- )
259
- );
260
- }
261
- });
262
- }
263
- let \u6700\u7EC8\u7ED3\u679C = Array.from(new Set(\u7ED3\u679C.filter((a) => a !== "any" && a !== "never" && a !== "unknown")));
264
- await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u8868\u7C7B\u578B`);
265
- let \u6700\u7EC8\u4EE3\u7801 = [`export type InterfaceTableType = [${\u6700\u7EC8\u7ED3\u679C.join(",")}]`, \u9644\u52A0\u4EE3\u7801];
266
- await log.debug("\u6700\u7EC8\u4EE3\u7801\u751F\u6210\u5B8C\u6210");
267
- let \u8F93\u51FA\u6587\u4EF6\u5939 = import_node_path.default.dirname(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84);
268
- if (import_node_fs.default.existsSync(\u8F93\u51FA\u6587\u4EF6\u5939) === false)
269
- import_node_fs.default.mkdirSync(\u8F93\u51FA\u6587\u4EF6\u5939, { recursive: true });
270
- import_node_fs.default.writeFileSync(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, \u6700\u7EC8\u4EE3\u7801.join("\n"));
271
- await log.debug(`\u8F93\u51FA\u6587\u4EF6\u5199\u5165\u5B8C\u6210: ${\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84}`);
272
- }
273
- // Annotate the CommonJS export names for ESM import in node:
274
- 0 && (module.exports = {
275
- main
276
- });
@@ -1,3 +0,0 @@
1
- declare function main(tsconfig路径: string, 目标路径: string, 输出文件路径: string): Promise<void>;
2
-
3
- export { main };