@lsby/net-core 0.3.26 → 0.3.27
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-list/bin.cjs +17 -4
- package/dist/bin/gen-list/index.cjs +17 -4
- package/dist/bin/gen-type/bin.cjs +12 -9
- package/dist/bin/gen-type/index.cjs +12 -9
- package/dist/cjs/bin/gen-list/bin.cjs +17 -4
- package/dist/cjs/bin/gen-list/index.cjs +17 -4
- package/dist/cjs/bin/gen-type/bin.cjs +12 -9
- package/dist/cjs/bin/gen-type/index.cjs +12 -9
- package/dist/cjs/index.cjs +18 -9
- package/dist/cjs/index.d.cts +3 -3
- package/dist/cjs/interface/extend/json-wrap.cjs +13 -3
- package/dist/cjs/interface/extend/json-wrap.d.cts +14 -12
- package/dist/cjs/interface/interface-inst.d.cts +3 -3
- package/dist/cjs/interface/interface-type.d.cts +3 -2
- package/dist/cjs/plugin/extend/json.cjs +3 -4
- package/dist/cjs/plugin/extend/json.d.cts +2 -4
- package/dist/cjs/plugin/extend/urlencoded.cjs +2 -2
- package/dist/cjs/plugin/extend/urlencoded.d.cts +1 -3
- package/dist/cjs/server/server.d.cts +2 -2
- package/dist/esm/bin/gen-list/bin.js +1 -1
- package/dist/esm/bin/gen-list/index.js +1 -1
- package/dist/esm/bin/gen-type/bin.js +1 -1
- package/dist/esm/bin/gen-type/index.js +1 -1
- package/dist/esm/{chunk-KFTP2JZZ.js → chunk-6QNJCAAV.js} +12 -9
- package/dist/esm/{chunk-AYTYZZMN.js → chunk-7OIWSU4D.js} +6 -7
- package/dist/esm/{chunk-343YQDPA.js → chunk-DERN3VFQ.js} +13 -3
- package/dist/esm/{chunk-XTHURYQM.js → chunk-KZPZVZ2B.js} +2 -2
- package/dist/esm/{chunk-33UG5J6F.js → chunk-L6B3BHT7.js} +17 -4
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +6 -6
- package/dist/esm/interface/extend/json-wrap.d.ts +14 -12
- package/dist/esm/interface/extend/json-wrap.js +1 -1
- package/dist/esm/interface/interface-inst.d.ts +3 -3
- package/dist/esm/interface/interface-type.d.ts +3 -2
- package/dist/esm/plugin/extend/json.d.ts +2 -4
- package/dist/esm/plugin/extend/json.js +2 -2
- package/dist/esm/plugin/extend/urlencoded.d.ts +1 -3
- package/dist/esm/plugin/extend/urlencoded.js +1 -1
- package/dist/esm/server/server.d.ts +2 -2
- package/package.json +1 -1
|
@@ -86,9 +86,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
86
86
|
var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
|
|
87
87
|
var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
|
|
88
88
|
var \u4EE3\u7801 = [
|
|
89
|
-
`import { \
|
|
89
|
+
`import { \u63A5\u53E3\u7C7B\u578B } from '@lsby/net-core'`,
|
|
90
90
|
`import {${\u7C7B\u540D\u5B57}} from "./${a.\u6587\u4EF6.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
|
|
91
|
-
`
|
|
91
|
+
`
|
|
92
|
+
type \u8BA1\u7B97\u7ED3\u679C =
|
|
93
|
+
ReturnType<${\u7C7B\u540D\u5B57}['\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B']> extends \u63A5\u53E3\u7C7B\u578B<
|
|
94
|
+
infer \u8DEF\u5F84,
|
|
95
|
+
infer \u65B9\u6CD5,
|
|
96
|
+
infer \u63D2\u4EF6\u4EEC,
|
|
97
|
+
infer \u6B63\u786E\u7ED3\u679C\u7C7B\u578B,
|
|
98
|
+
infer \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B
|
|
99
|
+
>
|
|
100
|
+
? \u8DEF\u5F84 extends string
|
|
101
|
+
? true
|
|
102
|
+
: false
|
|
103
|
+
: false
|
|
104
|
+
`
|
|
92
105
|
];
|
|
93
106
|
return import_typescript.default.createSourceFile(
|
|
94
107
|
a.\u6587\u4EF6.fileName.replaceAll(".ts", "-" + (0, import_node_crypto.randomUUID)() + ".ts"),
|
|
@@ -127,13 +140,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
127
140
|
var \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
|
|
128
141
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
|
|
129
142
|
var \u6700\u7EC8\u4EE3\u7801 = [
|
|
130
|
-
`import { \
|
|
143
|
+
`import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
131
144
|
"",
|
|
132
145
|
...\u6700\u7EC8\u7ED3\u679C.map(
|
|
133
146
|
(a) => `import {${a.\u7C7B\u8282\u70B9.name?.text} as ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)}} from '${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`
|
|
134
147
|
),
|
|
135
148
|
"",
|
|
136
|
-
`export var interfaceList: \
|
|
149
|
+
`export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
|
|
137
150
|
...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` new ${a}(),`),
|
|
138
151
|
`]`,
|
|
139
152
|
""
|
|
@@ -91,9 +91,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
91
91
|
var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
|
|
92
92
|
var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
|
|
93
93
|
var \u4EE3\u7801 = [
|
|
94
|
-
`import { \
|
|
94
|
+
`import { \u63A5\u53E3\u7C7B\u578B } from '@lsby/net-core'`,
|
|
95
95
|
`import {${\u7C7B\u540D\u5B57}} from "./${a.\u6587\u4EF6.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
|
|
96
|
-
`
|
|
96
|
+
`
|
|
97
|
+
type \u8BA1\u7B97\u7ED3\u679C =
|
|
98
|
+
ReturnType<${\u7C7B\u540D\u5B57}['\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B']> extends \u63A5\u53E3\u7C7B\u578B<
|
|
99
|
+
infer \u8DEF\u5F84,
|
|
100
|
+
infer \u65B9\u6CD5,
|
|
101
|
+
infer \u63D2\u4EF6\u4EEC,
|
|
102
|
+
infer \u6B63\u786E\u7ED3\u679C\u7C7B\u578B,
|
|
103
|
+
infer \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B
|
|
104
|
+
>
|
|
105
|
+
? \u8DEF\u5F84 extends string
|
|
106
|
+
? true
|
|
107
|
+
: false
|
|
108
|
+
: false
|
|
109
|
+
`
|
|
97
110
|
];
|
|
98
111
|
return import_typescript.default.createSourceFile(
|
|
99
112
|
a.\u6587\u4EF6.fileName.replaceAll(".ts", "-" + (0, import_node_crypto.randomUUID)() + ".ts"),
|
|
@@ -132,13 +145,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
132
145
|
var \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
|
|
133
146
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
|
|
134
147
|
var \u6700\u7EC8\u4EE3\u7801 = [
|
|
135
|
-
`import { \
|
|
148
|
+
`import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
136
149
|
"",
|
|
137
150
|
...\u6700\u7EC8\u7ED3\u679C.map(
|
|
138
151
|
(a) => `import {${a.\u7C7B\u8282\u70B9.name?.text} as ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)}} from '${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`
|
|
139
152
|
),
|
|
140
153
|
"",
|
|
141
|
-
`export var interfaceList: \
|
|
154
|
+
`export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
|
|
142
155
|
...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` new ${a}(),`),
|
|
143
156
|
`]`,
|
|
144
157
|
""
|
|
@@ -192,15 +192,18 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
192
192
|
`import * as ${netcore\u5F15\u5165} from '@lsby/net-core'`,
|
|
193
193
|
`import { z as ${zod\u5F15\u5165} } from 'zod'`,
|
|
194
194
|
`
|
|
195
|
-
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
195
|
+
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
196
|
+
typeof ${\u53D8\u91CF\u540D\u79F0} extends ${netcore\u5F15\u5165}.\u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
|
|
197
|
+
? Path extends string
|
|
198
|
+
? {
|
|
199
|
+
path: Path
|
|
200
|
+
method: Method
|
|
201
|
+
input: ${netcore\u5F15\u5165}.\u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C<PreApis>
|
|
202
|
+
successOutput: ${zod\u5F15\u5165}.infer<SuccessSchema>
|
|
203
|
+
errorOutput: ${zod\u5F15\u5165}.infer<ErrorSchema>
|
|
204
|
+
}
|
|
205
|
+
: never
|
|
206
|
+
: never
|
|
204
207
|
`
|
|
205
208
|
];
|
|
206
209
|
}
|
|
@@ -197,15 +197,18 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
197
197
|
`import * as ${netcore\u5F15\u5165} from '@lsby/net-core'`,
|
|
198
198
|
`import { z as ${zod\u5F15\u5165} } from 'zod'`,
|
|
199
199
|
`
|
|
200
|
-
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
200
|
+
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
201
|
+
typeof ${\u53D8\u91CF\u540D\u79F0} extends ${netcore\u5F15\u5165}.\u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
|
|
202
|
+
? Path extends string
|
|
203
|
+
? {
|
|
204
|
+
path: Path
|
|
205
|
+
method: Method
|
|
206
|
+
input: ${netcore\u5F15\u5165}.\u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C<PreApis>
|
|
207
|
+
successOutput: ${zod\u5F15\u5165}.infer<SuccessSchema>
|
|
208
|
+
errorOutput: ${zod\u5F15\u5165}.infer<ErrorSchema>
|
|
209
|
+
}
|
|
210
|
+
: never
|
|
211
|
+
: never
|
|
209
212
|
`
|
|
210
213
|
];
|
|
211
214
|
}
|
|
@@ -86,9 +86,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
86
86
|
var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
|
|
87
87
|
var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
|
|
88
88
|
var \u4EE3\u7801 = [
|
|
89
|
-
`import { \
|
|
89
|
+
`import { \u63A5\u53E3\u7C7B\u578B } from '@lsby/net-core'`,
|
|
90
90
|
`import {${\u7C7B\u540D\u5B57}} from "./${a.\u6587\u4EF6.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
|
|
91
|
-
`
|
|
91
|
+
`
|
|
92
|
+
type \u8BA1\u7B97\u7ED3\u679C =
|
|
93
|
+
ReturnType<${\u7C7B\u540D\u5B57}['\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B']> extends \u63A5\u53E3\u7C7B\u578B<
|
|
94
|
+
infer \u8DEF\u5F84,
|
|
95
|
+
infer \u65B9\u6CD5,
|
|
96
|
+
infer \u63D2\u4EF6\u4EEC,
|
|
97
|
+
infer \u6B63\u786E\u7ED3\u679C\u7C7B\u578B,
|
|
98
|
+
infer \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B
|
|
99
|
+
>
|
|
100
|
+
? \u8DEF\u5F84 extends string
|
|
101
|
+
? true
|
|
102
|
+
: false
|
|
103
|
+
: false
|
|
104
|
+
`
|
|
92
105
|
];
|
|
93
106
|
return import_typescript.default.createSourceFile(
|
|
94
107
|
a.\u6587\u4EF6.fileName.replaceAll(".ts", "-" + (0, import_node_crypto.randomUUID)() + ".ts"),
|
|
@@ -127,13 +140,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
127
140
|
var \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
|
|
128
141
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
|
|
129
142
|
var \u6700\u7EC8\u4EE3\u7801 = [
|
|
130
|
-
`import { \
|
|
143
|
+
`import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
131
144
|
"",
|
|
132
145
|
...\u6700\u7EC8\u7ED3\u679C.map(
|
|
133
146
|
(a) => `import {${a.\u7C7B\u8282\u70B9.name?.text} as ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)}} from '${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`
|
|
134
147
|
),
|
|
135
148
|
"",
|
|
136
|
-
`export var interfaceList: \
|
|
149
|
+
`export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
|
|
137
150
|
...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` new ${a}(),`),
|
|
138
151
|
`]`,
|
|
139
152
|
""
|
|
@@ -91,9 +91,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
91
91
|
var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
|
|
92
92
|
var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
|
|
93
93
|
var \u4EE3\u7801 = [
|
|
94
|
-
`import { \
|
|
94
|
+
`import { \u63A5\u53E3\u7C7B\u578B } from '@lsby/net-core'`,
|
|
95
95
|
`import {${\u7C7B\u540D\u5B57}} from "./${a.\u6587\u4EF6.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
|
|
96
|
-
`
|
|
96
|
+
`
|
|
97
|
+
type \u8BA1\u7B97\u7ED3\u679C =
|
|
98
|
+
ReturnType<${\u7C7B\u540D\u5B57}['\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B']> extends \u63A5\u53E3\u7C7B\u578B<
|
|
99
|
+
infer \u8DEF\u5F84,
|
|
100
|
+
infer \u65B9\u6CD5,
|
|
101
|
+
infer \u63D2\u4EF6\u4EEC,
|
|
102
|
+
infer \u6B63\u786E\u7ED3\u679C\u7C7B\u578B,
|
|
103
|
+
infer \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B
|
|
104
|
+
>
|
|
105
|
+
? \u8DEF\u5F84 extends string
|
|
106
|
+
? true
|
|
107
|
+
: false
|
|
108
|
+
: false
|
|
109
|
+
`
|
|
97
110
|
];
|
|
98
111
|
return import_typescript.default.createSourceFile(
|
|
99
112
|
a.\u6587\u4EF6.fileName.replaceAll(".ts", "-" + (0, import_node_crypto.randomUUID)() + ".ts"),
|
|
@@ -132,13 +145,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
132
145
|
var \u6700\u7EC8\u7ED3\u679C = import_lodash.default.zip(\u76F8\u5173\u7C7B\u8282\u70B9\u4EEC, \u68C0\u67E5\u7ED3\u679C).filter((a) => a[1] == true).map((a) => a[0]).filter((a) => a != null);
|
|
133
146
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
|
|
134
147
|
var \u6700\u7EC8\u4EE3\u7801 = [
|
|
135
|
-
`import { \
|
|
148
|
+
`import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
136
149
|
"",
|
|
137
150
|
...\u6700\u7EC8\u7ED3\u679C.map(
|
|
138
151
|
(a) => `import {${a.\u7C7B\u8282\u70B9.name?.text} as ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)}} from '${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`
|
|
139
152
|
),
|
|
140
153
|
"",
|
|
141
|
-
`export var interfaceList: \
|
|
154
|
+
`export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
|
|
142
155
|
...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` new ${a}(),`),
|
|
143
156
|
`]`,
|
|
144
157
|
""
|
|
@@ -192,15 +192,18 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
192
192
|
`import * as ${netcore\u5F15\u5165} from '@lsby/net-core'`,
|
|
193
193
|
`import { z as ${zod\u5F15\u5165} } from 'zod'`,
|
|
194
194
|
`
|
|
195
|
-
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
195
|
+
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
196
|
+
typeof ${\u53D8\u91CF\u540D\u79F0} extends ${netcore\u5F15\u5165}.\u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
|
|
197
|
+
? Path extends string
|
|
198
|
+
? {
|
|
199
|
+
path: Path
|
|
200
|
+
method: Method
|
|
201
|
+
input: ${netcore\u5F15\u5165}.\u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C<PreApis>
|
|
202
|
+
successOutput: ${zod\u5F15\u5165}.infer<SuccessSchema>
|
|
203
|
+
errorOutput: ${zod\u5F15\u5165}.infer<ErrorSchema>
|
|
204
|
+
}
|
|
205
|
+
: never
|
|
206
|
+
: never
|
|
204
207
|
`
|
|
205
208
|
];
|
|
206
209
|
}
|
|
@@ -197,15 +197,18 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
197
197
|
`import * as ${netcore\u5F15\u5165} from '@lsby/net-core'`,
|
|
198
198
|
`import { z as ${zod\u5F15\u5165} } from 'zod'`,
|
|
199
199
|
`
|
|
200
|
-
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
200
|
+
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
201
|
+
typeof ${\u53D8\u91CF\u540D\u79F0} extends ${netcore\u5F15\u5165}.\u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
|
|
202
|
+
? Path extends string
|
|
203
|
+
? {
|
|
204
|
+
path: Path
|
|
205
|
+
method: Method
|
|
206
|
+
input: ${netcore\u5F15\u5165}.\u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C<PreApis>
|
|
207
|
+
successOutput: ${zod\u5F15\u5165}.infer<SuccessSchema>
|
|
208
|
+
errorOutput: ${zod\u5F15\u5165}.infer<ErrorSchema>
|
|
209
|
+
}
|
|
210
|
+
: never
|
|
211
|
+
: never
|
|
209
212
|
`
|
|
210
213
|
];
|
|
211
214
|
}
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -273,17 +273,27 @@ var \u63A5\u53E3\u7C7B\u578B = class {
|
|
|
273
273
|
|
|
274
274
|
// src/interface/extend/json-wrap.ts
|
|
275
275
|
var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\u578B {
|
|
276
|
-
constructor(path, method, \u63D2\u4EF6\u4EEC, \u6B63\u786E\
|
|
276
|
+
constructor(path, method, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C\u7C7B\u578B, \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B) {
|
|
277
277
|
super(
|
|
278
278
|
path,
|
|
279
279
|
method,
|
|
280
280
|
\u63D2\u4EF6\u4EEC,
|
|
281
|
-
import_zod.z.object({ status: import_zod.z.literal("success"), data: \u6B63\u786E\
|
|
282
|
-
import_zod.z.object({ status: import_zod.z.literal("fail"), data: \u9519\u8BEF\
|
|
281
|
+
import_zod.z.object({ status: import_zod.z.literal("success"), data: \u6B63\u786E\u7ED3\u679C\u7C7B\u578B }),
|
|
282
|
+
import_zod.z.object({ status: import_zod.z.literal("fail"), data: \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B })
|
|
283
283
|
);
|
|
284
284
|
}
|
|
285
285
|
};
|
|
286
286
|
var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
287
|
+
\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
|
|
288
|
+
var c = this.\u83B7\u5F97JSON\u63A5\u53E3\u7C7B\u578B();
|
|
289
|
+
return new \u63A5\u53E3\u7C7B\u578B(
|
|
290
|
+
c.\u83B7\u5F97\u8DEF\u5F84(),
|
|
291
|
+
c.\u83B7\u5F97\u65B9\u6CD5(),
|
|
292
|
+
c.\u83B7\u5F97\u63D2\u4EF6\u4EEC(),
|
|
293
|
+
c.\u83B7\u5F97\u6B63\u786E\u7ED3\u679C\u7C7B\u578B().shape.data,
|
|
294
|
+
c.\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B().shape.data
|
|
295
|
+
);
|
|
296
|
+
}
|
|
287
297
|
async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230\u63A5\u53E3\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
|
|
288
298
|
var c = await \u4E1A\u52A1\u7ED3\u679C;
|
|
289
299
|
if (c.isLeft())
|
|
@@ -344,11 +354,10 @@ var \u81EA\u5B9A\u4E49\u6570\u636E\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
344
354
|
// src/plugin/extend/json.ts
|
|
345
355
|
var import_node_util = require("util");
|
|
346
356
|
var import_express = __toESM(require("express"), 1);
|
|
347
|
-
var import_zod3 = require("zod");
|
|
348
357
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
349
358
|
log = Global.getItem("log");
|
|
350
359
|
constructor(t, opt) {
|
|
351
|
-
super(
|
|
360
|
+
super(t, async (req, res) => {
|
|
352
361
|
var log = (await this.log).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
353
362
|
await new Promise(
|
|
354
363
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
@@ -356,12 +365,12 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
356
365
|
})
|
|
357
366
|
);
|
|
358
367
|
await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", req.body);
|
|
359
|
-
const parseResult =
|
|
368
|
+
const parseResult = t.safeParse(req.body);
|
|
360
369
|
if (!parseResult.success) {
|
|
361
370
|
await log.err("\u89E3\u6790 JSON \u5931\u8D25\uFF1A%o", parseResult.error);
|
|
362
371
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %O", parseResult.error));
|
|
363
372
|
}
|
|
364
|
-
await log.debug("\u6210\u529F\u89E3\u6790 JSON\uFF1A%o", parseResult.data
|
|
373
|
+
await log.debug("\u6210\u529F\u89E3\u6790 JSON\uFF1A%o", parseResult.data);
|
|
365
374
|
return parseResult.data;
|
|
366
375
|
});
|
|
367
376
|
}
|
|
@@ -378,10 +387,10 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
378
387
|
pRes(null);
|
|
379
388
|
})
|
|
380
389
|
);
|
|
381
|
-
const parseResult = t.safeParse(
|
|
390
|
+
const parseResult = t.safeParse(req.body);
|
|
382
391
|
if (!parseResult.success)
|
|
383
392
|
throw new Error((0, import_node_util2.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
|
|
384
|
-
return
|
|
393
|
+
return parseResult.data;
|
|
385
394
|
});
|
|
386
395
|
}
|
|
387
396
|
};
|
package/dist/cjs/index.d.cts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { 业务行为, 业务行为参数类型, 业务行为返回类型, 业务行为错误类型, 计算业务行为参数, 计算业务行为返回, 计算业务行为错误 } from './action/action.cjs';
|
|
2
2
|
export { JSON接口 } from './interface/extend/json-base.cjs';
|
|
3
|
-
export { JSON状态接口, JSON状态接口类型, 计算JSON
|
|
4
|
-
export {
|
|
3
|
+
export { JSON状态接口, JSON状态接口类型, 计算JSON状态接口返回, 转换状态接口描述 } from './interface/extend/json-wrap.cjs';
|
|
4
|
+
export { 接口, 有效的接口, 计算接口参数, 计算接口返回 } from './interface/interface-inst.cjs';
|
|
5
5
|
export { 接口测试 } from './interface/interface-test.cjs';
|
|
6
|
-
export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果, 获得接口插件们 } from './interface/interface-type.cjs';
|
|
6
|
+
export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果, 有效的接口类型, 获得接口插件们 } from './interface/interface-type.cjs';
|
|
7
7
|
export { 中文路径支持插件 } from './plugin/extend/chinese-path.cjs';
|
|
8
8
|
export { 自定义数据插件 } from './plugin/extend/custom-data.cjs';
|
|
9
9
|
export { JSON解析插件, 从接口类型获得JSON参数, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.cjs';
|
|
@@ -225,17 +225,27 @@ var \u63A5\u53E3\u7C7B\u578B = class {
|
|
|
225
225
|
|
|
226
226
|
// src/interface/extend/json-wrap.ts
|
|
227
227
|
var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\u578B {
|
|
228
|
-
constructor(path, method, \u63D2\u4EF6\u4EEC, \u6B63\u786E\
|
|
228
|
+
constructor(path, method, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C\u7C7B\u578B, \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B) {
|
|
229
229
|
super(
|
|
230
230
|
path,
|
|
231
231
|
method,
|
|
232
232
|
\u63D2\u4EF6\u4EEC,
|
|
233
|
-
import_zod.z.object({ status: import_zod.z.literal("success"), data: \u6B63\u786E\
|
|
234
|
-
import_zod.z.object({ status: import_zod.z.literal("fail"), data: \u9519\u8BEF\
|
|
233
|
+
import_zod.z.object({ status: import_zod.z.literal("success"), data: \u6B63\u786E\u7ED3\u679C\u7C7B\u578B }),
|
|
234
|
+
import_zod.z.object({ status: import_zod.z.literal("fail"), data: \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B })
|
|
235
235
|
);
|
|
236
236
|
}
|
|
237
237
|
};
|
|
238
238
|
var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
239
|
+
\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
|
|
240
|
+
var c = this.\u83B7\u5F97JSON\u63A5\u53E3\u7C7B\u578B();
|
|
241
|
+
return new \u63A5\u53E3\u7C7B\u578B(
|
|
242
|
+
c.\u83B7\u5F97\u8DEF\u5F84(),
|
|
243
|
+
c.\u83B7\u5F97\u65B9\u6CD5(),
|
|
244
|
+
c.\u83B7\u5F97\u63D2\u4EF6\u4EEC(),
|
|
245
|
+
c.\u83B7\u5F97\u6B63\u786E\u7ED3\u679C\u7C7B\u578B().shape.data,
|
|
246
|
+
c.\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B().shape.data
|
|
247
|
+
);
|
|
248
|
+
}
|
|
239
249
|
async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230\u63A5\u53E3\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
|
|
240
250
|
var c = await \u4E1A\u52A1\u7ED3\u679C;
|
|
241
251
|
if (c.isLeft())
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { Either } from '@lsby/ts-fp-data';
|
|
3
2
|
import { 插件项类型 as _____ } from '../../plugin/plug.cjs';
|
|
4
3
|
import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../../result/result.cjs';
|
|
5
|
-
import {
|
|
6
|
-
import { 接口类型 as ____,
|
|
4
|
+
import { 计算接口返回 as ______, 接口 as __ } from '../interface-inst.cjs';
|
|
5
|
+
import { 接口类型 as ____, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1 } from '../interface-type.cjs';
|
|
7
6
|
import 'express';
|
|
7
|
+
import '@lsby/ts-fp-data';
|
|
8
8
|
import '../../action/action.cjs';
|
|
9
9
|
|
|
10
|
-
declare class JSON状态接口类型<路径 extends string, 方法 extends 'get' | 'post', 插件们 extends Array<_____>,
|
|
10
|
+
declare class JSON状态接口类型<路径 extends string | null, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> extends ____<路径, 方法, 插件们, z.ZodObject<{
|
|
11
11
|
status: z.ZodLiteral<'success'>;
|
|
12
|
-
data:
|
|
12
|
+
data: 正确结果类型;
|
|
13
13
|
}>, z.ZodObject<{
|
|
14
14
|
status: z.ZodLiteral<'fail'>;
|
|
15
|
-
data:
|
|
15
|
+
data: 错误结果类型;
|
|
16
16
|
}>> {
|
|
17
|
-
constructor(path: 路径, method: 方法, 插件们: [...插件们],
|
|
17
|
+
constructor(path: 路径, method: 方法, 插件们: [...插件们], 正确结果类型: 正确结果类型, 错误结果类型: 错误结果类型);
|
|
18
18
|
}
|
|
19
19
|
type 任意的JSON状态接口类型 = JSON状态接口类型<any, any, any, any, any>;
|
|
20
|
-
type
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
type 转换状态接口描述<A> = A extends JSON状态接口类型<infer 路径, infer 方法, infer 插件们, infer 正确结果类型, infer 错误结果类型> ? ____<路径, 方法, 插件们, 正确结果类型, 错误结果类型> : never;
|
|
21
|
+
type 计算JSON状态接口返回<接口类型描述> = ______<转换状态接口描述<接口类型描述>>;
|
|
22
|
+
declare abstract class JSON状态接口<接口类型描述 extends 任意的JSON状态接口类型> extends __<转换状态接口描述<接口类型描述>> {
|
|
23
|
+
abstract 获得JSON接口类型(): 接口类型描述;
|
|
24
|
+
获得接口类型(): 转换状态接口描述<接口类型描述>;
|
|
25
|
+
转换业务结果到接口结果(业务结果: ______<接口类型描述>): Promise<____$1<z.TypeOf<________<接口类型描述>>> | ____$2<z.TypeOf<________$1<接口类型描述>>>>;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
export { JSON状态接口, JSON状态接口类型, type 计算JSON
|
|
28
|
+
export { JSON状态接口, JSON状态接口类型, type 计算JSON状态接口返回, type 转换状态接口描述 };
|
|
@@ -3,7 +3,7 @@ import { Either } from '@lsby/ts-fp-data';
|
|
|
3
3
|
import { 业务行为 as ____ } from '../action/action.cjs';
|
|
4
4
|
import { 合并插件结果 as ______ } from '../plugin/plug.cjs';
|
|
5
5
|
import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../result/result.cjs';
|
|
6
|
-
import { 接口类型插件们 as _______, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 任意接口类型 as ______$1 } from './interface-type.cjs';
|
|
6
|
+
import { 接口类型插件们 as _______, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 任意接口类型 as ______$1, 有效的接口类型 as _______$1 } from './interface-type.cjs';
|
|
7
7
|
import 'express';
|
|
8
8
|
|
|
9
9
|
type 计算接口参数<接口类型描述> = ______<_______<接口类型描述>>;
|
|
@@ -14,6 +14,6 @@ declare abstract class 接口<接口类型描述 extends ______$1> extends ____<
|
|
|
14
14
|
接口实现(参数: 计算接口参数<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
|
|
15
15
|
abstract 转换业务结果到接口结果(业务结果: 计算接口返回<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
|
|
16
16
|
}
|
|
17
|
-
type
|
|
17
|
+
type 有效的接口 = 接口<_______$1>;
|
|
18
18
|
|
|
19
|
-
export { type
|
|
19
|
+
export { 接口, type 有效的接口, type 计算接口参数, type 计算接口返回 };
|
|
@@ -8,7 +8,7 @@ type 接口类型方法<A> = A extends 接口类型<infer _A1, infer A2, infer _
|
|
|
8
8
|
type 接口类型插件们<A> = A extends 接口类型<infer _A1, infer _A2, infer A3, infer _A4, infer _A5> ? A3 : never;
|
|
9
9
|
type 接口类型正确结果<A> = A extends 接口类型<infer _A1, infer _A2, infer _A3, infer A4, infer _A5> ? A4 : never;
|
|
10
10
|
type 接口类型错误结果<A> = A extends 接口类型<infer _A1, infer _A2, infer _A3, infer _A4, infer A5> ? A5 : never;
|
|
11
|
-
declare class 接口类型<路径 extends string, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> {
|
|
11
|
+
declare class 接口类型<路径 extends string | null, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> {
|
|
12
12
|
private 路径;
|
|
13
13
|
private 方法;
|
|
14
14
|
private 插件们;
|
|
@@ -23,6 +23,7 @@ declare class 接口类型<路径 extends string, 方法 extends 'get' | 'post',
|
|
|
23
23
|
获得错误结果类型(): 错误结果类型;
|
|
24
24
|
}
|
|
25
25
|
type 任意接口类型 = 接口类型<any, any, any, any, any>;
|
|
26
|
+
type 有效的接口类型 = 接口类型<string, any, any, any, any>;
|
|
26
27
|
type 获得接口插件们<接口类型描述> = 接口类型描述 extends 接口类型<any, any, infer 插件, any, any> ? 插件 : never;
|
|
27
28
|
|
|
28
|
-
export { type 任意接口类型, 接口类型, type 接口类型插件们, type 接口类型方法, type 接口类型正确结果, type 接口类型路径, type 接口类型错误结果, type 获得接口插件们 };
|
|
29
|
+
export { type 任意接口类型, 接口类型, type 接口类型插件们, type 接口类型方法, type 接口类型正确结果, type 接口类型路径, type 接口类型错误结果, type 有效的接口类型, type 获得接口插件们 };
|
|
@@ -35,7 +35,6 @@ __export(json_exports, {
|
|
|
35
35
|
module.exports = __toCommonJS(json_exports);
|
|
36
36
|
var import_node_util = require("util");
|
|
37
37
|
var import_express = __toESM(require("express"), 1);
|
|
38
|
-
var import_zod = require("zod");
|
|
39
38
|
|
|
40
39
|
// src/global/global.ts
|
|
41
40
|
var import_ts_global = require("@lsby/ts-global");
|
|
@@ -64,7 +63,7 @@ var \u63D2\u4EF6 = class {
|
|
|
64
63
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
65
64
|
log = Global.getItem("log");
|
|
66
65
|
constructor(t, opt) {
|
|
67
|
-
super(
|
|
66
|
+
super(t, async (req, res) => {
|
|
68
67
|
var log = (await this.log).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
69
68
|
await new Promise(
|
|
70
69
|
(pRes, _rej) => import_express.default.json(opt)(req, res, () => {
|
|
@@ -72,12 +71,12 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
72
71
|
})
|
|
73
72
|
);
|
|
74
73
|
await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", req.body);
|
|
75
|
-
const parseResult =
|
|
74
|
+
const parseResult = t.safeParse(req.body);
|
|
76
75
|
if (!parseResult.success) {
|
|
77
76
|
await log.err("\u89E3\u6790 JSON \u5931\u8D25\uFF1A%o", parseResult.error);
|
|
78
77
|
throw new Error((0, import_node_util.format)("\u89E3\u6790 JSON \u5931\u8D25: %O", parseResult.error));
|
|
79
78
|
}
|
|
80
|
-
await log.debug("\u6210\u529F\u89E3\u6790 JSON\uFF1A%o", parseResult.data
|
|
79
|
+
await log.debug("\u6210\u529F\u89E3\u6790 JSON\uFF1A%o", parseResult.data);
|
|
81
80
|
return parseResult.data;
|
|
82
81
|
});
|
|
83
82
|
}
|
|
@@ -4,15 +4,13 @@ import { 获得接口插件们 as _______ } from '../../interface/interface-type
|
|
|
4
4
|
import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取Task插件内部类型 as _Task______, 合并插件结果 as ______ } from '../plug.cjs';
|
|
5
5
|
import '@lsby/ts-fp-data';
|
|
6
6
|
|
|
7
|
-
declare class JSON解析插件<Result extends AnyZodObject> extends __<
|
|
8
|
-
body: Result;
|
|
9
|
-
}>> {
|
|
7
|
+
declare class JSON解析插件<Result extends AnyZodObject> extends __<Result> {
|
|
10
8
|
private log;
|
|
11
9
|
constructor(t: Result, opt: Parameters<typeof express.json>[0]);
|
|
12
10
|
}
|
|
13
11
|
type 任意JSON解析插件 = JSON解析插件<any>;
|
|
14
12
|
type 任意JSON解析插件项 = _____<任意JSON解析插件>;
|
|
15
|
-
type 合并JSON插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意JSON解析插件项 ? z.infer<_Task______<插件项>>
|
|
13
|
+
type 合并JSON插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意JSON解析插件项 ? z.infer<_Task______<插件项>> & ______<xs> : 合并JSON插件结果<xs> : {} : {} : {};
|
|
16
14
|
type 从接口类型获得JSON参数<接口类型描述> = 合并JSON插件结果<_______<接口类型描述>>;
|
|
17
15
|
|
|
18
16
|
export { JSON解析插件, type 从接口类型获得JSON参数, type 任意JSON解析插件, type 任意JSON解析插件项, type 合并JSON插件结果 };
|
|
@@ -59,10 +59,10 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
59
59
|
pRes(null);
|
|
60
60
|
})
|
|
61
61
|
);
|
|
62
|
-
const parseResult = t.safeParse(
|
|
62
|
+
const parseResult = t.safeParse(req.body);
|
|
63
63
|
if (!parseResult.success)
|
|
64
64
|
throw new Error((0, import_node_util.format)("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
|
|
65
|
-
return
|
|
65
|
+
return parseResult.data;
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
68
|
};
|
|
@@ -3,9 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
import { 插件 as __ } from '../plug.cjs';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
|
|
6
|
-
declare class 表单解析插件<Result extends z.
|
|
7
|
-
body: z.AnyZodObject;
|
|
8
|
-
}>> extends __<Result> {
|
|
6
|
+
declare class 表单解析插件<Result extends z.AnyZodObject> extends __<Result> {
|
|
9
7
|
constructor(t: Result, opt: Parameters<typeof express.urlencoded>[0]);
|
|
10
8
|
}
|
|
11
9
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as http from 'node:http';
|
|
2
|
-
import {
|
|
2
|
+
import { 有效的接口 as _____ } from '../interface/interface-inst.cjs';
|
|
3
3
|
import 'zod';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import '../action/action.cjs';
|
|
@@ -13,7 +13,7 @@ declare class 服务器 {
|
|
|
13
13
|
private 端口;
|
|
14
14
|
private 静态资源路径?;
|
|
15
15
|
private log;
|
|
16
|
-
constructor(接口们:
|
|
16
|
+
constructor(接口们: _____[], 端口: number, 静态资源路径?: string | undefined);
|
|
17
17
|
run(): Promise<{
|
|
18
18
|
ip: string[];
|
|
19
19
|
server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|
|
@@ -69,15 +69,18 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
69
69
|
`import * as ${netcore\u5F15\u5165} from '@lsby/net-core'`,
|
|
70
70
|
`import { z as ${zod\u5F15\u5165} } from 'zod'`,
|
|
71
71
|
`
|
|
72
|
-
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
72
|
+
type ${a.\u8BA1\u7B97\u8282\u70B9\u540D\u79F0} =
|
|
73
|
+
typeof ${\u53D8\u91CF\u540D\u79F0} extends ${netcore\u5F15\u5165}.\u63A5\u53E3\u7C7B\u578B<infer Path, infer Method, infer PreApis, infer SuccessSchema, infer ErrorSchema>
|
|
74
|
+
? Path extends string
|
|
75
|
+
? {
|
|
76
|
+
path: Path
|
|
77
|
+
method: Method
|
|
78
|
+
input: ${netcore\u5F15\u5165}.\u5408\u5E76JSON\u63D2\u4EF6\u7ED3\u679C<PreApis>
|
|
79
|
+
successOutput: ${zod\u5F15\u5165}.infer<SuccessSchema>
|
|
80
|
+
errorOutput: ${zod\u5F15\u5165}.infer<ErrorSchema>
|
|
81
|
+
}
|
|
82
|
+
: never
|
|
83
|
+
: never
|
|
81
84
|
`
|
|
82
85
|
];
|
|
83
86
|
}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Global
|
|
3
|
-
} from "./chunk-AHCV3LQ7.js";
|
|
4
1
|
import {
|
|
5
2
|
插件
|
|
6
3
|
} from "./chunk-N4NY37XI.js";
|
|
4
|
+
import {
|
|
5
|
+
Global
|
|
6
|
+
} from "./chunk-AHCV3LQ7.js";
|
|
7
7
|
|
|
8
8
|
// src/plugin/extend/json.ts
|
|
9
9
|
import { format } from "node:util";
|
|
10
10
|
import express from "express";
|
|
11
|
-
import { z } from "zod";
|
|
12
11
|
var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
13
12
|
log = Global.getItem("log");
|
|
14
13
|
constructor(t, opt) {
|
|
15
|
-
super(
|
|
14
|
+
super(t, async (req, res) => {
|
|
16
15
|
var log = (await this.log).extend("JSON\u89E3\u6790\u63D2\u4EF6");
|
|
17
16
|
await new Promise(
|
|
18
17
|
(pRes, _rej) => express.json(opt)(req, res, () => {
|
|
@@ -20,12 +19,12 @@ var JSON\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
20
19
|
})
|
|
21
20
|
);
|
|
22
21
|
await log.debug("\u51C6\u5907\u89E3\u6790 JSON\uFF1A%o", req.body);
|
|
23
|
-
const parseResult =
|
|
22
|
+
const parseResult = t.safeParse(req.body);
|
|
24
23
|
if (!parseResult.success) {
|
|
25
24
|
await log.err("\u89E3\u6790 JSON \u5931\u8D25\uFF1A%o", parseResult.error);
|
|
26
25
|
throw new Error(format("\u89E3\u6790 JSON \u5931\u8D25: %O", parseResult.error));
|
|
27
26
|
}
|
|
28
|
-
await log.debug("\u6210\u529F\u89E3\u6790 JSON\uFF1A%o", parseResult.data
|
|
27
|
+
await log.debug("\u6210\u529F\u89E3\u6790 JSON\uFF1A%o", parseResult.data);
|
|
29
28
|
return parseResult.data;
|
|
30
29
|
});
|
|
31
30
|
}
|
|
@@ -12,17 +12,27 @@ import {
|
|
|
12
12
|
// src/interface/extend/json-wrap.ts
|
|
13
13
|
import { z } from "zod";
|
|
14
14
|
var JSON\u72B6\u6001\u63A5\u53E3\u7C7B\u578B = class extends \u63A5\u53E3\u7C7B\u578B {
|
|
15
|
-
constructor(path, method, \u63D2\u4EF6\u4EEC, \u6B63\u786E\
|
|
15
|
+
constructor(path, method, \u63D2\u4EF6\u4EEC, \u6B63\u786E\u7ED3\u679C\u7C7B\u578B, \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B) {
|
|
16
16
|
super(
|
|
17
17
|
path,
|
|
18
18
|
method,
|
|
19
19
|
\u63D2\u4EF6\u4EEC,
|
|
20
|
-
z.object({ status: z.literal("success"), data: \u6B63\u786E\
|
|
21
|
-
z.object({ status: z.literal("fail"), data: \u9519\u8BEF\
|
|
20
|
+
z.object({ status: z.literal("success"), data: \u6B63\u786E\u7ED3\u679C\u7C7B\u578B }),
|
|
21
|
+
z.object({ status: z.literal("fail"), data: \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B })
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
24
|
};
|
|
25
25
|
var JSON\u72B6\u6001\u63A5\u53E3 = class extends \u63A5\u53E3 {
|
|
26
|
+
\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B() {
|
|
27
|
+
var c = this.\u83B7\u5F97JSON\u63A5\u53E3\u7C7B\u578B();
|
|
28
|
+
return new \u63A5\u53E3\u7C7B\u578B(
|
|
29
|
+
c.\u83B7\u5F97\u8DEF\u5F84(),
|
|
30
|
+
c.\u83B7\u5F97\u65B9\u6CD5(),
|
|
31
|
+
c.\u83B7\u5F97\u63D2\u4EF6\u4EEC(),
|
|
32
|
+
c.\u83B7\u5F97\u6B63\u786E\u7ED3\u679C\u7C7B\u578B().shape.data,
|
|
33
|
+
c.\u83B7\u5F97\u9519\u8BEF\u7ED3\u679C\u7C7B\u578B().shape.data
|
|
34
|
+
);
|
|
35
|
+
}
|
|
26
36
|
async \u8F6C\u6362\u4E1A\u52A1\u7ED3\u679C\u5230\u63A5\u53E3\u7ED3\u679C(\u4E1A\u52A1\u7ED3\u679C) {
|
|
27
37
|
var c = await \u4E1A\u52A1\u7ED3\u679C;
|
|
28
38
|
if (c.isLeft())
|
|
@@ -13,10 +13,10 @@ var \u8868\u5355\u89E3\u6790\u63D2\u4EF6 = class extends \u63D2\u4EF6 {
|
|
|
13
13
|
pRes(null);
|
|
14
14
|
})
|
|
15
15
|
);
|
|
16
|
-
const parseResult = t.safeParse(
|
|
16
|
+
const parseResult = t.safeParse(req.body);
|
|
17
17
|
if (!parseResult.success)
|
|
18
18
|
throw new Error(format("\u89E3\u6790url\u7F16\u7801\u6B63\u6587\u5931\u8D25: %O", parseResult.error));
|
|
19
|
-
return
|
|
19
|
+
return parseResult.data;
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
22
|
};
|
|
@@ -57,9 +57,22 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
57
57
|
var \u4F34\u968F\u7684\u865A\u62DF\u6587\u4EF6\u4EEC = \u76F8\u5173\u7C7B\u8282\u70B9\u4EEC.map((a) => {
|
|
58
58
|
var \u7C7B\u540D\u5B57 = a.\u7C7B\u8282\u70B9.name?.text;
|
|
59
59
|
var \u4EE3\u7801 = [
|
|
60
|
-
`import { \
|
|
60
|
+
`import { \u63A5\u53E3\u7C7B\u578B } from '@lsby/net-core'`,
|
|
61
61
|
`import {${\u7C7B\u540D\u5B57}} from "./${a.\u6587\u4EF6.fileName.split("/").at(-1)?.replaceAll(".ts", "")}"`,
|
|
62
|
-
`
|
|
62
|
+
`
|
|
63
|
+
type \u8BA1\u7B97\u7ED3\u679C =
|
|
64
|
+
ReturnType<${\u7C7B\u540D\u5B57}['\u83B7\u5F97\u63A5\u53E3\u7C7B\u578B']> extends \u63A5\u53E3\u7C7B\u578B<
|
|
65
|
+
infer \u8DEF\u5F84,
|
|
66
|
+
infer \u65B9\u6CD5,
|
|
67
|
+
infer \u63D2\u4EF6\u4EEC,
|
|
68
|
+
infer \u6B63\u786E\u7ED3\u679C\u7C7B\u578B,
|
|
69
|
+
infer \u9519\u8BEF\u7ED3\u679C\u7C7B\u578B
|
|
70
|
+
>
|
|
71
|
+
? \u8DEF\u5F84 extends string
|
|
72
|
+
? true
|
|
73
|
+
: false
|
|
74
|
+
: false
|
|
75
|
+
`
|
|
63
76
|
];
|
|
64
77
|
return ts.createSourceFile(
|
|
65
78
|
a.\u6587\u4EF6.fileName.replaceAll(".ts", "-" + randomUUID() + ".ts"),
|
|
@@ -98,13 +111,13 @@ async function main(tsconfig\u8DEF\u5F84, \u76EE\u6807\u8DEF\u5F84, \u8F93\u51FA
|
|
|
98
111
|
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
112
|
await log.debug(`\u6700\u7EC8\u7B5B\u9009\u51FA ${\u6700\u7EC8\u7ED3\u679C.length} \u4E2A\u63A5\u53E3\u5B9E\u73B0`);
|
|
100
113
|
var \u6700\u7EC8\u4EE3\u7801 = [
|
|
101
|
-
`import { \
|
|
114
|
+
`import { \u6709\u6548\u7684\u63A5\u53E3 } from '@lsby/net-core'`,
|
|
102
115
|
"",
|
|
103
116
|
...\u6700\u7EC8\u7ED3\u679C.map(
|
|
104
117
|
(a) => `import {${a.\u7C7B\u8282\u70B9.name?.text} as ${\u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)}} from '${\u8BA1\u7B97\u5F15\u5165\u8DEF\u5F84(\u8F93\u51FA\u6587\u4EF6\u8DEF\u5F84, a)}'`
|
|
105
118
|
),
|
|
106
119
|
"",
|
|
107
|
-
`export var interfaceList: \
|
|
120
|
+
`export var interfaceList: \u6709\u6548\u7684\u63A5\u53E3[] = [`,
|
|
108
121
|
...\u6700\u7EC8\u7ED3\u679C.map((a) => \u8BA1\u7B97\u5B8C\u6574\u540D\u79F0(tsconfig\u8DEF\u5F84, a)).map((a) => ` new ${a}(),`),
|
|
109
122
|
`]`,
|
|
110
123
|
""
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { 业务行为, 业务行为参数类型, 业务行为返回类型, 业务行为错误类型, 计算业务行为参数, 计算业务行为返回, 计算业务行为错误 } from './action/action.js';
|
|
2
2
|
export { JSON接口 } from './interface/extend/json-base.js';
|
|
3
|
-
export { JSON状态接口, JSON状态接口类型, 计算JSON
|
|
4
|
-
export {
|
|
3
|
+
export { JSON状态接口, JSON状态接口类型, 计算JSON状态接口返回, 转换状态接口描述 } from './interface/extend/json-wrap.js';
|
|
4
|
+
export { 接口, 有效的接口, 计算接口参数, 计算接口返回 } from './interface/interface-inst.js';
|
|
5
5
|
export { 接口测试 } from './interface/interface-test.js';
|
|
6
|
-
export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果, 获得接口插件们 } from './interface/interface-type.js';
|
|
6
|
+
export { 任意接口类型, 接口类型, 接口类型插件们, 接口类型方法, 接口类型正确结果, 接口类型路径, 接口类型错误结果, 有效的接口类型, 获得接口插件们 } from './interface/interface-type.js';
|
|
7
7
|
export { 中文路径支持插件 } from './plugin/extend/chinese-path.js';
|
|
8
8
|
export { 自定义数据插件 } from './plugin/extend/custom-data.js';
|
|
9
9
|
export { JSON解析插件, 从接口类型获得JSON参数, 任意JSON解析插件, 任意JSON解析插件项, 合并JSON插件结果 } from './plugin/extend/json.js';
|
package/dist/esm/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
JSON状态接口,
|
|
6
6
|
JSON状态接口类型
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-DERN3VFQ.js";
|
|
8
8
|
import {
|
|
9
9
|
中文路径支持插件
|
|
10
10
|
} from "./chunk-KW3M3VXP.js";
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
} from "./chunk-2MN4G2DG.js";
|
|
14
14
|
import {
|
|
15
15
|
JSON解析插件
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-7OIWSU4D.js";
|
|
17
17
|
import {
|
|
18
18
|
表单解析插件
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-KZPZVZ2B.js";
|
|
20
20
|
import {
|
|
21
21
|
服务器
|
|
22
22
|
} from "./chunk-BU63OHHK.js";
|
|
@@ -32,6 +32,9 @@ import {
|
|
|
32
32
|
import {
|
|
33
33
|
接口类型
|
|
34
34
|
} from "./chunk-SF5Z34AP.js";
|
|
35
|
+
import {
|
|
36
|
+
插件
|
|
37
|
+
} from "./chunk-N4NY37XI.js";
|
|
35
38
|
import {
|
|
36
39
|
正确JSON结果,
|
|
37
40
|
正确结果,
|
|
@@ -41,9 +44,6 @@ import {
|
|
|
41
44
|
错误结果
|
|
42
45
|
} from "./chunk-IPDMEQ3O.js";
|
|
43
46
|
import "./chunk-AHCV3LQ7.js";
|
|
44
|
-
import {
|
|
45
|
-
插件
|
|
46
|
-
} from "./chunk-N4NY37XI.js";
|
|
47
47
|
export {
|
|
48
48
|
JSON\u63A5\u53E3,
|
|
49
49
|
JSON\u72B6\u6001\u63A5\u53E3,
|
|
@@ -1,26 +1,28 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { Either } from '@lsby/ts-fp-data';
|
|
3
2
|
import { 插件项类型 as _____ } from '../../plugin/plug.js';
|
|
4
3
|
import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../../result/result.js';
|
|
5
|
-
import {
|
|
6
|
-
import { 接口类型 as ____,
|
|
4
|
+
import { 计算接口返回 as ______, 接口 as __ } from '../interface-inst.js';
|
|
5
|
+
import { 接口类型 as ____, 接口类型正确结果 as ________, 接口类型错误结果 as ________$1 } from '../interface-type.js';
|
|
7
6
|
import 'express';
|
|
7
|
+
import '@lsby/ts-fp-data';
|
|
8
8
|
import '../../action/action.js';
|
|
9
9
|
|
|
10
|
-
declare class JSON状态接口类型<路径 extends string, 方法 extends 'get' | 'post', 插件们 extends Array<_____>,
|
|
10
|
+
declare class JSON状态接口类型<路径 extends string | null, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> extends ____<路径, 方法, 插件们, z.ZodObject<{
|
|
11
11
|
status: z.ZodLiteral<'success'>;
|
|
12
|
-
data:
|
|
12
|
+
data: 正确结果类型;
|
|
13
13
|
}>, z.ZodObject<{
|
|
14
14
|
status: z.ZodLiteral<'fail'>;
|
|
15
|
-
data:
|
|
15
|
+
data: 错误结果类型;
|
|
16
16
|
}>> {
|
|
17
|
-
constructor(path: 路径, method: 方法, 插件们: [...插件们],
|
|
17
|
+
constructor(path: 路径, method: 方法, 插件们: [...插件们], 正确结果类型: 正确结果类型, 错误结果类型: 错误结果类型);
|
|
18
18
|
}
|
|
19
19
|
type 任意的JSON状态接口类型 = JSON状态接口类型<any, any, any, any, any>;
|
|
20
|
-
type
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
type 转换状态接口描述<A> = A extends JSON状态接口类型<infer 路径, infer 方法, infer 插件们, infer 正确结果类型, infer 错误结果类型> ? ____<路径, 方法, 插件们, 正确结果类型, 错误结果类型> : never;
|
|
21
|
+
type 计算JSON状态接口返回<接口类型描述> = ______<转换状态接口描述<接口类型描述>>;
|
|
22
|
+
declare abstract class JSON状态接口<接口类型描述 extends 任意的JSON状态接口类型> extends __<转换状态接口描述<接口类型描述>> {
|
|
23
|
+
abstract 获得JSON接口类型(): 接口类型描述;
|
|
24
|
+
获得接口类型(): 转换状态接口描述<接口类型描述>;
|
|
25
|
+
转换业务结果到接口结果(业务结果: ______<接口类型描述>): Promise<____$1<z.TypeOf<________<接口类型描述>>> | ____$2<z.TypeOf<________$1<接口类型描述>>>>;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
export { JSON状态接口, JSON状态接口类型, type 计算JSON
|
|
28
|
+
export { JSON状态接口, JSON状态接口类型, type 计算JSON状态接口返回, type 转换状态接口描述 };
|
|
@@ -3,7 +3,7 @@ import { Either } from '@lsby/ts-fp-data';
|
|
|
3
3
|
import { 业务行为 as ____ } from '../action/action.js';
|
|
4
4
|
import { 合并插件结果 as ______ } from '../plugin/plug.js';
|
|
5
5
|
import { 正确结果 as ____$1, 错误结果 as ____$2 } from '../result/result.js';
|
|
6
|
-
import { 接口类型插件们 as _______, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 任意接口类型 as ______$1 } from './interface-type.js';
|
|
6
|
+
import { 接口类型插件们 as _______, 接口类型错误结果 as ________, 接口类型正确结果 as ________$1, 任意接口类型 as ______$1, 有效的接口类型 as _______$1 } from './interface-type.js';
|
|
7
7
|
import 'express';
|
|
8
8
|
|
|
9
9
|
type 计算接口参数<接口类型描述> = ______<_______<接口类型描述>>;
|
|
@@ -14,6 +14,6 @@ declare abstract class 接口<接口类型描述 extends ______$1> extends ____<
|
|
|
14
14
|
接口实现(参数: 计算接口参数<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
|
|
15
15
|
abstract 转换业务结果到接口结果(业务结果: 计算接口返回<接口类型描述>): Promise<____$1<z.infer<________$1<接口类型描述>>> | ____$2<z.infer<________<接口类型描述>>>>;
|
|
16
16
|
}
|
|
17
|
-
type
|
|
17
|
+
type 有效的接口 = 接口<_______$1>;
|
|
18
18
|
|
|
19
|
-
export { type
|
|
19
|
+
export { 接口, type 有效的接口, type 计算接口参数, type 计算接口返回 };
|
|
@@ -8,7 +8,7 @@ type 接口类型方法<A> = A extends 接口类型<infer _A1, infer A2, infer _
|
|
|
8
8
|
type 接口类型插件们<A> = A extends 接口类型<infer _A1, infer _A2, infer A3, infer _A4, infer _A5> ? A3 : never;
|
|
9
9
|
type 接口类型正确结果<A> = A extends 接口类型<infer _A1, infer _A2, infer _A3, infer A4, infer _A5> ? A4 : never;
|
|
10
10
|
type 接口类型错误结果<A> = A extends 接口类型<infer _A1, infer _A2, infer _A3, infer _A4, infer A5> ? A5 : never;
|
|
11
|
-
declare class 接口类型<路径 extends string, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> {
|
|
11
|
+
declare class 接口类型<路径 extends string | null, 方法 extends 'get' | 'post', 插件们 extends Array<_____>, 正确结果类型 extends z.ZodTypeAny, 错误结果类型 extends z.ZodTypeAny> {
|
|
12
12
|
private 路径;
|
|
13
13
|
private 方法;
|
|
14
14
|
private 插件们;
|
|
@@ -23,6 +23,7 @@ declare class 接口类型<路径 extends string, 方法 extends 'get' | 'post',
|
|
|
23
23
|
获得错误结果类型(): 错误结果类型;
|
|
24
24
|
}
|
|
25
25
|
type 任意接口类型 = 接口类型<any, any, any, any, any>;
|
|
26
|
+
type 有效的接口类型 = 接口类型<string, any, any, any, any>;
|
|
26
27
|
type 获得接口插件们<接口类型描述> = 接口类型描述 extends 接口类型<any, any, infer 插件, any, any> ? 插件 : never;
|
|
27
28
|
|
|
28
|
-
export { type 任意接口类型, 接口类型, type 接口类型插件们, type 接口类型方法, type 接口类型正确结果, type 接口类型路径, type 接口类型错误结果, type 获得接口插件们 };
|
|
29
|
+
export { type 任意接口类型, 接口类型, type 接口类型插件们, type 接口类型方法, type 接口类型正确结果, type 接口类型路径, type 接口类型错误结果, type 有效的接口类型, type 获得接口插件们 };
|
|
@@ -4,15 +4,13 @@ import { 获得接口插件们 as _______ } from '../../interface/interface-type
|
|
|
4
4
|
import { 插件 as __, 包装插件项 as _____, 插件项类型 as _____$1, 取Task插件内部类型 as _Task______, 合并插件结果 as ______ } from '../plug.js';
|
|
5
5
|
import '@lsby/ts-fp-data';
|
|
6
6
|
|
|
7
|
-
declare class JSON解析插件<Result extends AnyZodObject> extends __<
|
|
8
|
-
body: Result;
|
|
9
|
-
}>> {
|
|
7
|
+
declare class JSON解析插件<Result extends AnyZodObject> extends __<Result> {
|
|
10
8
|
private log;
|
|
11
9
|
constructor(t: Result, opt: Parameters<typeof express.json>[0]);
|
|
12
10
|
}
|
|
13
11
|
type 任意JSON解析插件 = JSON解析插件<any>;
|
|
14
12
|
type 任意JSON解析插件项 = _____<任意JSON解析插件>;
|
|
15
|
-
type 合并JSON插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意JSON解析插件项 ? z.infer<_Task______<插件项>>
|
|
13
|
+
type 合并JSON插件结果<Arr extends Array<_____$1>> = Arr extends [] ? {} : Arr extends [infer x, ...infer xs] ? x extends infer 插件项 ? xs extends Array<_____$1> ? 插件项 extends 任意JSON解析插件项 ? z.infer<_Task______<插件项>> & ______<xs> : 合并JSON插件结果<xs> : {} : {} : {};
|
|
16
14
|
type 从接口类型获得JSON参数<接口类型描述> = 合并JSON插件结果<_______<接口类型描述>>;
|
|
17
15
|
|
|
18
16
|
export { JSON解析插件, type 从接口类型获得JSON参数, type 任意JSON解析插件, type 任意JSON解析插件项, type 合并JSON插件结果 };
|
|
@@ -3,9 +3,7 @@ import { z } from 'zod';
|
|
|
3
3
|
import { 插件 as __ } from '../plug.js';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
|
|
6
|
-
declare class 表单解析插件<Result extends z.
|
|
7
|
-
body: z.AnyZodObject;
|
|
8
|
-
}>> extends __<Result> {
|
|
6
|
+
declare class 表单解析插件<Result extends z.AnyZodObject> extends __<Result> {
|
|
9
7
|
constructor(t: Result, opt: Parameters<typeof express.urlencoded>[0]);
|
|
10
8
|
}
|
|
11
9
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as http from 'node:http';
|
|
2
|
-
import {
|
|
2
|
+
import { 有效的接口 as _____ } from '../interface/interface-inst.js';
|
|
3
3
|
import 'zod';
|
|
4
4
|
import '@lsby/ts-fp-data';
|
|
5
5
|
import '../action/action.js';
|
|
@@ -13,7 +13,7 @@ declare class 服务器 {
|
|
|
13
13
|
private 端口;
|
|
14
14
|
private 静态资源路径?;
|
|
15
15
|
private log;
|
|
16
|
-
constructor(接口们:
|
|
16
|
+
constructor(接口们: _____[], 端口: number, 静态资源路径?: string | undefined);
|
|
17
17
|
run(): Promise<{
|
|
18
18
|
ip: string[];
|
|
19
19
|
server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
|