@lsby/net-core 0.4.0-beta.8 → 0.4.0
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.
- package/dist/bin/gen-table-type/addition.cjs +64 -5
- package/dist/bin/gen-table-type/bin.cjs +69 -11
- package/dist/bin/gen-table-type/index.cjs +69 -11
- package/dist/cjs/bin/gen-table-type/addition.cjs +64 -5
- package/dist/cjs/bin/gen-table-type/bin.cjs +69 -11
- package/dist/cjs/bin/gen-table-type/index.cjs +69 -11
- package/dist/cjs/global/global.cjs +15 -6
- package/dist/cjs/global/ws.cjs +15 -6
- package/dist/cjs/global/ws.d.cts +7 -5
- package/dist/cjs/index.cjs +46 -18
- package/dist/cjs/index.d.cts +1 -1
- package/dist/cjs/interface-api/interface-logic.cjs +15 -6
- package/dist/cjs/interface-table/interface-table.cjs +12 -0
- package/dist/cjs/interface-table/interface-table.d.cts +47 -10
- package/dist/cjs/plugin/extend/custom-data.cjs +15 -6
- package/dist/cjs/plugin/extend/json.cjs +15 -6
- package/dist/cjs/plugin/extend/urlencoded.cjs +15 -6
- package/dist/cjs/plugin/extend/web-socket.cjs +28 -12
- package/dist/cjs/plugin/extend/web-socket.d.cts +2 -1
- package/dist/cjs/server/server.cjs +21 -12
- package/dist/esm/bin/gen-table-type/addition.js +1 -1
- package/dist/esm/bin/gen-table-type/bin.js +2 -2
- package/dist/esm/bin/gen-table-type/index.js +2 -2
- package/dist/esm/{chunk-DGDZQLIJ.js → chunk-6OUBMR67.js} +1 -1
- package/dist/esm/{chunk-LLLXAZBC.js → chunk-7BWGQYV4.js} +1 -1
- package/dist/esm/chunk-7SYNHJKU.js +31 -0
- package/dist/esm/chunk-GN24MVWF.js +23 -0
- package/dist/esm/{chunk-2G4PSYTL.js → chunk-GXEQYEJ4.js} +1 -1
- package/dist/esm/{chunk-FDDZK2SW.js → chunk-HSGHMDHC.js} +6 -7
- package/dist/esm/{chunk-7RPSQQZA.js → chunk-JVIKC22S.js} +7 -7
- package/dist/esm/{chunk-43ZE4ZNH.js → chunk-LM4VEBKS.js} +1 -1
- package/dist/esm/{chunk-XOR7HWL4.js → chunk-NDNOPR5R.js} +14 -7
- package/dist/esm/{chunk-JXGP4GSQ.js → chunk-TELFIRYE.js} +1 -1
- package/dist/esm/chunk-V3CNI7QV.js +99 -0
- package/dist/esm/global/global.js +2 -2
- package/dist/esm/global/ws.d.ts +7 -5
- package/dist/esm/global/ws.js +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +14 -14
- package/dist/esm/interface-api/interface-logic.js +3 -3
- package/dist/esm/interface-table/interface-table.d.ts +47 -10
- package/dist/esm/interface-table/interface-table.js +1 -1
- package/dist/esm/plugin/extend/custom-data.js +3 -3
- package/dist/esm/plugin/extend/json.js +3 -3
- package/dist/esm/plugin/extend/urlencoded.js +3 -3
- package/dist/esm/plugin/extend/web-socket.d.ts +2 -1
- package/dist/esm/plugin/extend/web-socket.js +3 -3
- package/dist/esm/server/server.js +3 -3
- package/package.json +2 -2
- package/dist/esm/chunk-63YFVECY.js +0 -11
- package/dist/esm/chunk-FIQSBTYJ.js +0 -22
- package/dist/esm/chunk-S7XFYRUL.js +0 -40
|
@@ -29,8 +29,8 @@ export type \u6761\u4EF6<\u5217\u5B9A\u4E49> =
|
|
|
29
29
|
\u662Fany<\u5217\u5B9A\u4E49> extends true
|
|
30
30
|
? any
|
|
31
31
|
:
|
|
32
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K]
|
|
33
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C:
|
|
32
|
+
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K] } }[keyof \u5217\u5B9A\u4E49]
|
|
33
|
+
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C: \u5217\u5B9A\u4E49[K][] } }[keyof \u5217\u5B9A\u4E49]
|
|
34
34
|
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'is' | 'is not'; \u503C: null } }[keyof \u5217\u5B9A\u4E49]
|
|
35
35
|
| {
|
|
36
36
|
[K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends string ? { \u5217: K; \u7B26\u53F7: 'like' | 'not like'; \u503C: string } : never
|
|
@@ -54,9 +54,68 @@ export type \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<A> = A extends '\u5B57\u7
|
|
|
54
54
|
: A extends '\u5E03\u5C14'
|
|
55
55
|
? boolean
|
|
56
56
|
: never
|
|
57
|
-
export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
58
|
+
\u662Fany<\u5BF9\u8C61> extends true
|
|
59
|
+
? any
|
|
60
|
+
: { [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 }
|
|
61
|
+
export type \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
62
|
+
\u662Fany<\u5BF9\u8C61> extends true
|
|
63
|
+
? any
|
|
64
|
+
: {
|
|
65
|
+
[key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
|
|
66
|
+
? '\u53EF\u7A7A' extends keyof \u5BF9\u8C61[key]
|
|
67
|
+
? \u5BF9\u8C61[key]['\u53EF\u7A7A'] extends 'false'
|
|
68
|
+
? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
|
|
69
|
+
: \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | null
|
|
70
|
+
: never
|
|
71
|
+
: never
|
|
72
|
+
}
|
|
73
|
+
export type \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
74
|
+
\u662Fany<\u5BF9\u8C61> extends true
|
|
75
|
+
? any
|
|
76
|
+
: \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<
|
|
77
|
+
\u8054\u5408\u8F6C\u5143\u7EC4<
|
|
78
|
+
\u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<{
|
|
79
|
+
[key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
|
|
80
|
+
? '\u53EF\u9009' extends keyof \u5BF9\u8C61[key]
|
|
81
|
+
? \u5BF9\u8C61[key]['\u53EF\u9009'] extends 'false'
|
|
82
|
+
? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
|
|
83
|
+
: \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | undefined
|
|
84
|
+
: never
|
|
85
|
+
: never
|
|
86
|
+
}>
|
|
87
|
+
>
|
|
88
|
+
>
|
|
89
|
+
export type \u7FFB\u8BD1\u4FEE\u6539\u503C\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
90
|
+
\u662Fany<\u5BF9\u8C61> extends true
|
|
91
|
+
? any
|
|
92
|
+
: \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<
|
|
93
|
+
\u8054\u5408\u8F6C\u5143\u7EC4<
|
|
94
|
+
\u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<{
|
|
95
|
+
[key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
|
|
96
|
+
? '\u53EF\u7A7A' extends keyof \u5BF9\u8C61[key]
|
|
97
|
+
? \u5BF9\u8C61[key]['\u53EF\u7A7A'] extends 'false'
|
|
98
|
+
? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
|
|
99
|
+
: \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | null
|
|
100
|
+
: never
|
|
101
|
+
: never
|
|
102
|
+
}>
|
|
103
|
+
>
|
|
104
|
+
>
|
|
105
|
+
export type \u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<X> = {
|
|
106
|
+
[key in keyof X]: undefined extends X[key] ? { [k in key]?: X[key] } : { [k in key]: X[key] }
|
|
107
|
+
}[keyof X]
|
|
108
|
+
|
|
109
|
+
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
|
|
110
|
+
|
|
111
|
+
type \u8054\u5408\u8F6C\u6362\u6210\u51FD\u6570<X> = X extends any ? (a: (x: any) => X) => any : never
|
|
112
|
+
type \u51FD\u6570\u8F6C\u6362\u6210\u4E0E<X> = (X extends any ? X : never) extends (a: infer A) => any ? A : never
|
|
113
|
+
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
|
|
114
|
+
type \u8054\u5408\u8F6C\u5143\u7EC4<X> = [X] extends [never]
|
|
115
|
+
? []
|
|
116
|
+
: \u53D6\u6700\u540E\u4E00\u4E2A<X> extends infer Last
|
|
117
|
+
? [...\u8054\u5408\u8F6C\u5143\u7EC4<Exclude<X, Last>>, Last]
|
|
118
|
+
: never
|
|
60
119
|
`;
|
|
61
120
|
// Annotate the CommonJS export names for ESM import in node:
|
|
62
121
|
0 && (module.exports = {
|
|
@@ -41,8 +41,8 @@ export type \u6761\u4EF6<\u5217\u5B9A\u4E49> =
|
|
|
41
41
|
\u662Fany<\u5217\u5B9A\u4E49> extends true
|
|
42
42
|
? any
|
|
43
43
|
:
|
|
44
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K]
|
|
45
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C:
|
|
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
46
|
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'is' | 'is not'; \u503C: null } }[keyof \u5217\u5B9A\u4E49]
|
|
47
47
|
| {
|
|
48
48
|
[K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends string ? { \u5217: K; \u7B26\u53F7: 'like' | 'not like'; \u503C: string } : never
|
|
@@ -66,9 +66,68 @@ export type \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<A> = A extends '\u5B57\u7
|
|
|
66
66
|
: A extends '\u5E03\u5C14'
|
|
67
67
|
? boolean
|
|
68
68
|
: never
|
|
69
|
-
export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
70
|
-
|
|
71
|
-
|
|
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
|
|
72
131
|
`;
|
|
73
132
|
|
|
74
133
|
// src/bin/gen-table-type/index.ts
|
|
@@ -116,7 +175,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
116
175
|
await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
|
|
117
176
|
let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
|
|
118
177
|
let \u4EE3\u7801 = `
|
|
119
|
-
import { \u5206\u9875\u9009\u9879, \u6392\u5E8F\u9009\u9879, \u6761\u4EF6\u7EC4, \u7FFB\u8BD1\u5217\u63CF\u8FF0, \u7FFB\u8BD1\u5217\u63CF\u8FF0\
|
|
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'
|
|
120
179
|
import { z } from 'zod'
|
|
121
180
|
import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}",
|
|
122
181
|
|
|
@@ -138,11 +197,10 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
138
197
|
\u8DEF\u5F84: \u8DEF\u5F84
|
|
139
198
|
|
|
140
199
|
\u6784\u9020\u53C2\u6570: \u5BFC\u5165 extends \u865A\u62DF\u8868<infer X, any, any, any, any, any> ? z.infer<X> : never
|
|
141
|
-
\u5217\u7C7B\u578B: \u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>
|
|
142
200
|
|
|
143
|
-
\u589E\u53C2\u6570_\u6570\u636E\u4EEC:
|
|
201
|
+
\u589E\u53C2\u6570_\u6570\u636E\u4EEC: \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
|
|
144
202
|
\u5220\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
145
|
-
\u6539\u53C2\u6570_\u65B0\u503C: Partial<\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>>>
|
|
146
204
|
\u6539\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
147
205
|
\u67E5\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
148
206
|
\u67E5\u53C2\u6570_\u5206\u9875\u6761\u4EF6: \u5206\u9875\u9009\u9879
|
|
@@ -156,12 +214,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
156
214
|
\u589E\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
157
215
|
\u5220\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
158
216
|
\u6539\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
159
|
-
\u67E5\u539F\u59CB\u6B63\u786E\u503C: \u7FFB\u8BD1\u5217\u63CF\u8FF0
|
|
217
|
+
\u67E5\u539F\u59CB\u6B63\u786E\u503C: \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
|
|
160
218
|
|
|
161
219
|
\u589E\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u589E\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
162
220
|
\u5220\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u5220\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
163
221
|
\u6539\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u6539\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
164
|
-
\u67E5\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u67E5\u9519\u8BEF } | { status: 'success'; data: \u7FFB\u8BD1\u5217\u63CF\u8FF0
|
|
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>>[] }
|
|
165
223
|
}
|
|
166
224
|
: never
|
|
167
225
|
`;
|
|
@@ -46,8 +46,8 @@ export type \u6761\u4EF6<\u5217\u5B9A\u4E49> =
|
|
|
46
46
|
\u662Fany<\u5217\u5B9A\u4E49> extends true
|
|
47
47
|
? any
|
|
48
48
|
:
|
|
49
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K]
|
|
50
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C:
|
|
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
51
|
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'is' | 'is not'; \u503C: null } }[keyof \u5217\u5B9A\u4E49]
|
|
52
52
|
| {
|
|
53
53
|
[K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends string ? { \u5217: K; \u7B26\u53F7: 'like' | 'not like'; \u503C: string } : never
|
|
@@ -71,9 +71,68 @@ export type \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<A> = A extends '\u5B57\u7
|
|
|
71
71
|
: A extends '\u5E03\u5C14'
|
|
72
72
|
? boolean
|
|
73
73
|
: never
|
|
74
|
-
export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
75
|
-
|
|
76
|
-
|
|
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
|
|
77
136
|
`;
|
|
78
137
|
|
|
79
138
|
// src/bin/gen-table-type/index.ts
|
|
@@ -121,7 +180,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
121
180
|
await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
|
|
122
181
|
let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
|
|
123
182
|
let \u4EE3\u7801 = `
|
|
124
|
-
import { \u5206\u9875\u9009\u9879, \u6392\u5E8F\u9009\u9879, \u6761\u4EF6\u7EC4, \u7FFB\u8BD1\u5217\u63CF\u8FF0, \u7FFB\u8BD1\u5217\u63CF\u8FF0\
|
|
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'
|
|
125
184
|
import { z } from 'zod'
|
|
126
185
|
import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}",
|
|
127
186
|
|
|
@@ -143,11 +202,10 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
143
202
|
\u8DEF\u5F84: \u8DEF\u5F84
|
|
144
203
|
|
|
145
204
|
\u6784\u9020\u53C2\u6570: \u5BFC\u5165 extends \u865A\u62DF\u8868<infer X, any, any, any, any, any> ? z.infer<X> : never
|
|
146
|
-
\u5217\u7C7B\u578B: \u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>
|
|
147
205
|
|
|
148
|
-
\u589E\u53C2\u6570_\u6570\u636E\u4EEC:
|
|
206
|
+
\u589E\u53C2\u6570_\u6570\u636E\u4EEC: \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
|
|
149
207
|
\u5220\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
150
|
-
\u6539\u53C2\u6570_\u65B0\u503C: Partial<\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>>>
|
|
151
209
|
\u6539\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
152
210
|
\u67E5\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
153
211
|
\u67E5\u53C2\u6570_\u5206\u9875\u6761\u4EF6: \u5206\u9875\u9009\u9879
|
|
@@ -161,12 +219,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
161
219
|
\u589E\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
162
220
|
\u5220\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
163
221
|
\u6539\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
164
|
-
\u67E5\u539F\u59CB\u6B63\u786E\u503C: \u7FFB\u8BD1\u5217\u63CF\u8FF0
|
|
222
|
+
\u67E5\u539F\u59CB\u6B63\u786E\u503C: \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
|
|
165
223
|
|
|
166
224
|
\u589E\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u589E\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
167
225
|
\u5220\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u5220\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
168
226
|
\u6539\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u6539\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
169
|
-
\u67E5\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u67E5\u9519\u8BEF } | { status: 'success'; data: \u7FFB\u8BD1\u5217\u63CF\u8FF0
|
|
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>>[] }
|
|
170
228
|
}
|
|
171
229
|
: never
|
|
172
230
|
`;
|
|
@@ -29,8 +29,8 @@ export type \u6761\u4EF6<\u5217\u5B9A\u4E49> =
|
|
|
29
29
|
\u662Fany<\u5217\u5B9A\u4E49> extends true
|
|
30
30
|
? any
|
|
31
31
|
:
|
|
32
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K]
|
|
33
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C:
|
|
32
|
+
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K] } }[keyof \u5217\u5B9A\u4E49]
|
|
33
|
+
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C: \u5217\u5B9A\u4E49[K][] } }[keyof \u5217\u5B9A\u4E49]
|
|
34
34
|
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'is' | 'is not'; \u503C: null } }[keyof \u5217\u5B9A\u4E49]
|
|
35
35
|
| {
|
|
36
36
|
[K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends string ? { \u5217: K; \u7B26\u53F7: 'like' | 'not like'; \u503C: string } : never
|
|
@@ -54,9 +54,68 @@ export type \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<A> = A extends '\u5B57\u7
|
|
|
54
54
|
: A extends '\u5E03\u5C14'
|
|
55
55
|
? boolean
|
|
56
56
|
: never
|
|
57
|
-
export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
58
|
+
\u662Fany<\u5BF9\u8C61> extends true
|
|
59
|
+
? any
|
|
60
|
+
: { [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 }
|
|
61
|
+
export type \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
62
|
+
\u662Fany<\u5BF9\u8C61> extends true
|
|
63
|
+
? any
|
|
64
|
+
: {
|
|
65
|
+
[key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
|
|
66
|
+
? '\u53EF\u7A7A' extends keyof \u5BF9\u8C61[key]
|
|
67
|
+
? \u5BF9\u8C61[key]['\u53EF\u7A7A'] extends 'false'
|
|
68
|
+
? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
|
|
69
|
+
: \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | null
|
|
70
|
+
: never
|
|
71
|
+
: never
|
|
72
|
+
}
|
|
73
|
+
export type \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
74
|
+
\u662Fany<\u5BF9\u8C61> extends true
|
|
75
|
+
? any
|
|
76
|
+
: \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<
|
|
77
|
+
\u8054\u5408\u8F6C\u5143\u7EC4<
|
|
78
|
+
\u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<{
|
|
79
|
+
[key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
|
|
80
|
+
? '\u53EF\u9009' extends keyof \u5BF9\u8C61[key]
|
|
81
|
+
? \u5BF9\u8C61[key]['\u53EF\u9009'] extends 'false'
|
|
82
|
+
? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
|
|
83
|
+
: \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | undefined
|
|
84
|
+
: never
|
|
85
|
+
: never
|
|
86
|
+
}>
|
|
87
|
+
>
|
|
88
|
+
>
|
|
89
|
+
export type \u7FFB\u8BD1\u4FEE\u6539\u503C\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
90
|
+
\u662Fany<\u5BF9\u8C61> extends true
|
|
91
|
+
? any
|
|
92
|
+
: \u5F52\u7EA6\u6570\u7EC4\u5BF9\u8C61<
|
|
93
|
+
\u8054\u5408\u8F6C\u5143\u7EC4<
|
|
94
|
+
\u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<{
|
|
95
|
+
[key in keyof \u5BF9\u8C61]: '\u7C7B\u578B' extends keyof \u5BF9\u8C61[key]
|
|
96
|
+
? '\u53EF\u7A7A' extends keyof \u5BF9\u8C61[key]
|
|
97
|
+
? \u5BF9\u8C61[key]['\u53EF\u7A7A'] extends 'false'
|
|
98
|
+
? \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']>
|
|
99
|
+
: \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<\u5BF9\u8C61[key]['\u7C7B\u578B']> | null
|
|
100
|
+
: never
|
|
101
|
+
: never
|
|
102
|
+
}>
|
|
103
|
+
>
|
|
104
|
+
>
|
|
105
|
+
export type \u672A\u5B9A\u4E49\u5BF9\u8C61\u8F6C\u53EF\u9009\u5BF9\u8C61<X> = {
|
|
106
|
+
[key in keyof X]: undefined extends X[key] ? { [k in key]?: X[key] } : { [k in key]: X[key] }
|
|
107
|
+
}[keyof X]
|
|
108
|
+
|
|
109
|
+
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
|
|
110
|
+
|
|
111
|
+
type \u8054\u5408\u8F6C\u6362\u6210\u51FD\u6570<X> = X extends any ? (a: (x: any) => X) => any : never
|
|
112
|
+
type \u51FD\u6570\u8F6C\u6362\u6210\u4E0E<X> = (X extends any ? X : never) extends (a: infer A) => any ? A : never
|
|
113
|
+
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
|
|
114
|
+
type \u8054\u5408\u8F6C\u5143\u7EC4<X> = [X] extends [never]
|
|
115
|
+
? []
|
|
116
|
+
: \u53D6\u6700\u540E\u4E00\u4E2A<X> extends infer Last
|
|
117
|
+
? [...\u8054\u5408\u8F6C\u5143\u7EC4<Exclude<X, Last>>, Last]
|
|
118
|
+
: never
|
|
60
119
|
`;
|
|
61
120
|
// Annotate the CommonJS export names for ESM import in node:
|
|
62
121
|
0 && (module.exports = {
|
|
@@ -41,8 +41,8 @@ export type \u6761\u4EF6<\u5217\u5B9A\u4E49> =
|
|
|
41
41
|
\u662Fany<\u5217\u5B9A\u4E49> extends true
|
|
42
42
|
? any
|
|
43
43
|
:
|
|
44
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: '=' | '<>'; \u503C: \u5217\u5B9A\u4E49[K]
|
|
45
|
-
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'in' | 'not in'; \u503C:
|
|
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
46
|
| { [K in keyof \u5217\u5B9A\u4E49]: { \u5217: K; \u7B26\u53F7: 'is' | 'is not'; \u503C: null } }[keyof \u5217\u5B9A\u4E49]
|
|
47
47
|
| {
|
|
48
48
|
[K in keyof \u5217\u5B9A\u4E49]: \u5217\u5B9A\u4E49[K] extends string ? { \u5217: K; \u7B26\u53F7: 'like' | 'not like'; \u503C: string } : never
|
|
@@ -66,9 +66,68 @@ export type \u7FFB\u8BD1\u81EA\u5B9A\u4E49\u7C7B\u578B<A> = A extends '\u5B57\u7
|
|
|
66
66
|
: A extends '\u5E03\u5C14'
|
|
67
67
|
? boolean
|
|
68
68
|
: never
|
|
69
|
-
export type \u7FFB\u8BD1\u5217\u63CF\u8FF0<\u5BF9\u8C61> =
|
|
70
|
-
|
|
71
|
-
|
|
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
|
|
72
131
|
`;
|
|
73
132
|
|
|
74
133
|
// src/bin/gen-table-type/index.ts
|
|
@@ -116,7 +175,7 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
116
175
|
await log.debug(`\u7B5B\u9009\u51FA ${\u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.length} \u4E2A\u76F8\u5173\u6E90\u6587\u4EF6`);
|
|
117
176
|
let \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u6E90\u6587\u4EF6\u4EEC.map((a) => {
|
|
118
177
|
let \u4EE3\u7801 = `
|
|
119
|
-
import { \u5206\u9875\u9009\u9879, \u6392\u5E8F\u9009\u9879, \u6761\u4EF6\u7EC4, \u7FFB\u8BD1\u5217\u63CF\u8FF0, \u7FFB\u8BD1\u5217\u63CF\u8FF0\
|
|
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'
|
|
120
179
|
import { z } from 'zod'
|
|
121
180
|
import \u5BFC\u5165 from "./${a.fileName.split("/").at(-1)?.replaceAll(".ts", "")}",
|
|
122
181
|
|
|
@@ -138,11 +197,10 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
138
197
|
\u8DEF\u5F84: \u8DEF\u5F84
|
|
139
198
|
|
|
140
199
|
\u6784\u9020\u53C2\u6570: \u5BFC\u5165 extends \u865A\u62DF\u8868<infer X, any, any, any, any, any> ? z.infer<X> : never
|
|
141
|
-
\u5217\u7C7B\u578B: \u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>
|
|
142
200
|
|
|
143
|
-
\u589E\u53C2\u6570_\u6570\u636E\u4EEC:
|
|
201
|
+
\u589E\u53C2\u6570_\u6570\u636E\u4EEC: \u7FFB\u8BD1\u63D2\u5165\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
|
|
144
202
|
\u5220\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
145
|
-
\u6539\u53C2\u6570_\u65B0\u503C: Partial<\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>>>
|
|
146
204
|
\u6539\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
147
205
|
\u67E5\u53C2\u6570_\u7B5B\u9009\u6761\u4EF6: \u6761\u4EF6\u7EC4<\u7FFB\u8BD1\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>>
|
|
148
206
|
\u67E5\u53C2\u6570_\u5206\u9875\u6761\u4EF6: \u5206\u9875\u9009\u9879
|
|
@@ -156,12 +214,12 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
156
214
|
\u589E\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
157
215
|
\u5220\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
158
216
|
\u6539\u539F\u59CB\u6B63\u786E\u503C: {}
|
|
159
|
-
\u67E5\u539F\u59CB\u6B63\u786E\u503C: \u7FFB\u8BD1\u5217\u63CF\u8FF0
|
|
217
|
+
\u67E5\u539F\u59CB\u6B63\u786E\u503C: \u7FFB\u8BD1\u67E5\u8BE2\u5217\u63CF\u8FF0<z.infer<\u5217\u63CF\u8FF0Zod>>[]
|
|
160
218
|
|
|
161
219
|
\u589E\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u589E\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
162
220
|
\u5220\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u5220\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
163
221
|
\u6539\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u6539\u9519\u8BEF } | { status: 'success'; data:{} }
|
|
164
|
-
\u67E5\u5305\u88C5\u7ED3\u679C: { status: 'fail'; data: \u67E5\u9519\u8BEF } | { status: 'success'; data: \u7FFB\u8BD1\u5217\u63CF\u8FF0
|
|
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>>[] }
|
|
165
223
|
}
|
|
166
224
|
: never
|
|
167
225
|
`;
|