phecda-server 7.0.0 → 7.0.1
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/README.md +10 -10
- package/bin/cli.mjs +1 -1
- package/dist/{chunk-RLFCI3RG.js → chunk-4LLLQOMF.js} +0 -1
- package/dist/{chunk-WTJKTICN.mjs → chunk-AIAO6SV6.mjs} +2 -3
- package/dist/{chunk-5SUY5UVC.js → chunk-DPPDWBYO.js} +28 -29
- package/dist/{chunk-LBH4RXQQ.mjs → chunk-E7EAPAGM.mjs} +1 -2
- package/dist/{chunk-VDOICQ2U.mjs → chunk-MKRHYZCL.mjs} +2 -3
- package/dist/{chunk-MDPW6WGF.mjs → chunk-NQ55PA2X.mjs} +0 -1
- package/dist/{chunk-H7OCHDZT.js → chunk-XKK2SQ7W.js} +53 -54
- package/dist/{chunk-KRUOHWFR.js → chunk-ZWPOWMZP.js} +20 -21
- package/dist/helper.js +3 -4
- package/dist/helper.mjs +2 -3
- package/dist/http/elysia/index.js +40 -41
- package/dist/http/elysia/index.mjs +3 -4
- package/dist/http/express/index.js +37 -38
- package/dist/http/express/index.mjs +2 -3
- package/dist/http/fastify/index.js +38 -39
- package/dist/http/fastify/index.mjs +3 -4
- package/dist/http/h3/index.js +38 -39
- package/dist/http/h3/index.mjs +2 -3
- package/dist/http/hono/index.js +34 -35
- package/dist/http/hono/index.mjs +2 -3
- package/dist/http/hyper-express/index.js +35 -36
- package/dist/http/hyper-express/index.mjs +2 -3
- package/dist/http/koa/index.js +37 -38
- package/dist/http/koa/index.mjs +2 -3
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +44 -47
- package/dist/index.mjs +6 -9
- package/dist/rpc/bullmq/index.js +11 -12
- package/dist/rpc/bullmq/index.mjs +2 -3
- package/dist/rpc/electron/index.js +8 -9
- package/dist/rpc/electron/index.mjs +2 -3
- package/dist/rpc/kafka/index.js +10 -11
- package/dist/rpc/kafka/index.mjs +2 -3
- package/dist/rpc/nats/index.js +11 -12
- package/dist/rpc/nats/index.mjs +2 -3
- package/dist/rpc/rabbitmq/index.js +12 -13
- package/dist/rpc/rabbitmq/index.mjs +2 -3
- package/dist/rpc/redis/index.js +10 -11
- package/dist/rpc/redis/index.mjs +2 -3
- package/dist/rpc/web-ext/index.js +1 -1
- package/dist/rpc/web-ext/index.mjs +0 -1
- package/dist/rpc/ws/index.js +7 -8
- package/dist/rpc/ws/index.mjs +2 -3
- package/dist/test.js +6 -7
- package/dist/test.mjs +2 -3
- package/package.json +2 -2
- package/dist/chunk-5SUY5UVC.js.map +0 -1
- package/dist/chunk-6JAHCTOT.mjs +0 -334
- package/dist/chunk-6JAHCTOT.mjs.map +0 -1
- package/dist/chunk-EDAWJVJ4.js +0 -246
- package/dist/chunk-EDAWJVJ4.js.map +0 -1
- package/dist/chunk-H7OCHDZT.js.map +0 -1
- package/dist/chunk-KRUOHWFR.js.map +0 -1
- package/dist/chunk-KUGU3UGO.js +0 -334
- package/dist/chunk-KUGU3UGO.js.map +0 -1
- package/dist/chunk-LBH4RXQQ.mjs.map +0 -1
- package/dist/chunk-MDPW6WGF.mjs.map +0 -1
- package/dist/chunk-RLFCI3RG.js.map +0 -1
- package/dist/chunk-TTHYUNOT.mjs +0 -246
- package/dist/chunk-TTHYUNOT.mjs.map +0 -1
- package/dist/chunk-VDOICQ2U.mjs.map +0 -1
- package/dist/chunk-WTJKTICN.mjs.map +0 -1
- package/dist/core-BOo3uGFX.d.ts +0 -49
- package/dist/core-CF45G79J.d.mts +0 -49
- package/dist/helper.js.map +0 -1
- package/dist/helper.mjs.map +0 -1
- package/dist/http/elysia/index.js.map +0 -1
- package/dist/http/elysia/index.mjs.map +0 -1
- package/dist/http/express/index.js.map +0 -1
- package/dist/http/express/index.mjs.map +0 -1
- package/dist/http/fastify/index.js.map +0 -1
- package/dist/http/fastify/index.mjs.map +0 -1
- package/dist/http/h3/index.js.map +0 -1
- package/dist/http/h3/index.mjs.map +0 -1
- package/dist/http/hono/index.js.map +0 -1
- package/dist/http/hono/index.mjs.map +0 -1
- package/dist/http/hyper-express/index.js.map +0 -1
- package/dist/http/hyper-express/index.mjs.map +0 -1
- package/dist/http/koa/index.js.map +0 -1
- package/dist/http/koa/index.mjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/rpc/bullmq/index.js.map +0 -1
- package/dist/rpc/bullmq/index.mjs.map +0 -1
- package/dist/rpc/electron/index.js.map +0 -1
- package/dist/rpc/electron/index.mjs.map +0 -1
- package/dist/rpc/kafka/index.js.map +0 -1
- package/dist/rpc/kafka/index.mjs.map +0 -1
- package/dist/rpc/nats/index.js.map +0 -1
- package/dist/rpc/nats/index.mjs.map +0 -1
- package/dist/rpc/rabbitmq/index.js.map +0 -1
- package/dist/rpc/rabbitmq/index.mjs.map +0 -1
- package/dist/rpc/redis/index.js.map +0 -1
- package/dist/rpc/redis/index.mjs.map +0 -1
- package/dist/rpc/web-ext/index.js.map +0 -1
- package/dist/rpc/web-ext/index.mjs.map +0 -1
- package/dist/rpc/ws/index.js.map +0 -1
- package/dist/rpc/ws/index.mjs.map +0 -1
- package/dist/test.js.map +0 -1
- package/dist/test.mjs.map +0 -1
package/dist/chunk-TTHYUNOT.mjs
DELETED
|
@@ -1,246 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__name
|
|
3
|
-
} from "./chunk-MDPW6WGF.mjs";
|
|
4
|
-
|
|
5
|
-
// src/decorators/param.ts
|
|
6
|
-
import { setMeta } from "phecda-core";
|
|
7
|
-
function BaseParam(data) {
|
|
8
|
-
return (target, property, index) => {
|
|
9
|
-
if (!property) return;
|
|
10
|
-
setMeta(target, property, index, data);
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
__name(BaseParam, "BaseParam");
|
|
14
|
-
function Body(key = "") {
|
|
15
|
-
return BaseParam({
|
|
16
|
-
type: "body",
|
|
17
|
-
key
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
__name(Body, "Body");
|
|
21
|
-
function Head(key) {
|
|
22
|
-
return BaseParam({
|
|
23
|
-
type: "headers",
|
|
24
|
-
key: key.toLowerCase()
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
__name(Head, "Head");
|
|
28
|
-
function Query(key = "") {
|
|
29
|
-
return BaseParam({
|
|
30
|
-
type: "query",
|
|
31
|
-
key
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
__name(Query, "Query");
|
|
35
|
-
function Param(key) {
|
|
36
|
-
return BaseParam({
|
|
37
|
-
type: "params",
|
|
38
|
-
key
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
__name(Param, "Param");
|
|
42
|
-
function Arg(target, k, index) {
|
|
43
|
-
BaseParam({
|
|
44
|
-
type: "args",
|
|
45
|
-
key: `${index}`
|
|
46
|
-
})(target, k, index);
|
|
47
|
-
}
|
|
48
|
-
__name(Arg, "Arg");
|
|
49
|
-
function OneFile(key = "") {
|
|
50
|
-
return BaseParam({
|
|
51
|
-
type: "file",
|
|
52
|
-
key
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
__name(OneFile, "OneFile");
|
|
56
|
-
function ManyFiles(key = "") {
|
|
57
|
-
return BaseParam({
|
|
58
|
-
type: "files",
|
|
59
|
-
key
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
__name(ManyFiles, "ManyFiles");
|
|
63
|
-
|
|
64
|
-
// src/decorators/aop.ts
|
|
65
|
-
import { setMeta as setMeta2 } from "phecda-core";
|
|
66
|
-
function Guard(...guards) {
|
|
67
|
-
return (target, property) => {
|
|
68
|
-
setMeta2(target, property, void 0, {
|
|
69
|
-
guards
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
__name(Guard, "Guard");
|
|
74
|
-
function Addon(...addons) {
|
|
75
|
-
return (target, property) => {
|
|
76
|
-
setMeta2(target, property, void 0, {
|
|
77
|
-
addons
|
|
78
|
-
});
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
__name(Addon, "Addon");
|
|
82
|
-
function Filter(filter) {
|
|
83
|
-
return (target, property) => {
|
|
84
|
-
setMeta2(target, property, void 0, {
|
|
85
|
-
filter
|
|
86
|
-
});
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
__name(Filter, "Filter");
|
|
90
|
-
function Pipe(pipe) {
|
|
91
|
-
return (target, property, index) => {
|
|
92
|
-
if (typeof index === "number") {
|
|
93
|
-
BaseParam({
|
|
94
|
-
pipe
|
|
95
|
-
})(target, property, index);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
setMeta2(target, property, void 0, {
|
|
99
|
-
pipe
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
__name(Pipe, "Pipe");
|
|
104
|
-
|
|
105
|
-
// src/decorators/http.ts
|
|
106
|
-
import { setMeta as setMeta3 } from "phecda-core";
|
|
107
|
-
function Route(route, type) {
|
|
108
|
-
return (target, property) => {
|
|
109
|
-
setMeta3(target, property, void 0, {
|
|
110
|
-
http: {
|
|
111
|
-
route,
|
|
112
|
-
type
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
__name(Route, "Route");
|
|
118
|
-
function Header(headers) {
|
|
119
|
-
return (target, property) => {
|
|
120
|
-
setMeta3(target, property, void 0, {
|
|
121
|
-
http: {
|
|
122
|
-
headers
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
__name(Header, "Header");
|
|
128
|
-
function Get(route = "") {
|
|
129
|
-
return Route(route, "get");
|
|
130
|
-
}
|
|
131
|
-
__name(Get, "Get");
|
|
132
|
-
function Post(route = "") {
|
|
133
|
-
return Route(route, "post");
|
|
134
|
-
}
|
|
135
|
-
__name(Post, "Post");
|
|
136
|
-
function Put(route = "") {
|
|
137
|
-
return Route(route, "put");
|
|
138
|
-
}
|
|
139
|
-
__name(Put, "Put");
|
|
140
|
-
function Search(route = "") {
|
|
141
|
-
return Route(route, "search");
|
|
142
|
-
}
|
|
143
|
-
__name(Search, "Search");
|
|
144
|
-
function Patch(route = "") {
|
|
145
|
-
return Route(route, "patch");
|
|
146
|
-
}
|
|
147
|
-
__name(Patch, "Patch");
|
|
148
|
-
function Delete(route = "") {
|
|
149
|
-
return Route(route, "delete");
|
|
150
|
-
}
|
|
151
|
-
__name(Delete, "Delete");
|
|
152
|
-
function Controller(prefix = "") {
|
|
153
|
-
return (target) => {
|
|
154
|
-
setMeta3(target, void 0, void 0, {
|
|
155
|
-
controller: "http",
|
|
156
|
-
http: {
|
|
157
|
-
prefix
|
|
158
|
-
}
|
|
159
|
-
});
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
__name(Controller, "Controller");
|
|
163
|
-
|
|
164
|
-
// src/decorators/rpc.ts
|
|
165
|
-
import { setMeta as setMeta4 } from "phecda-core";
|
|
166
|
-
function Queue(queue = "", isEvent) {
|
|
167
|
-
return (target, property) => {
|
|
168
|
-
setMeta4(target, property, void 0, {
|
|
169
|
-
rpc: {
|
|
170
|
-
queue,
|
|
171
|
-
isEvent
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
__name(Queue, "Queue");
|
|
177
|
-
function Rpc() {
|
|
178
|
-
return (target) => {
|
|
179
|
-
setMeta4(target, void 0, void 0, {
|
|
180
|
-
controller: "rpc"
|
|
181
|
-
});
|
|
182
|
-
};
|
|
183
|
-
}
|
|
184
|
-
__name(Rpc, "Rpc");
|
|
185
|
-
|
|
186
|
-
// src/decorators/ctx.ts
|
|
187
|
-
import { SHARE_KEY, setMeta as setMeta5 } from "phecda-core";
|
|
188
|
-
var Ctx = /* @__PURE__ */ __name((target, property) => {
|
|
189
|
-
setMeta5(target, SHARE_KEY, void 0, {
|
|
190
|
-
ctxs: [
|
|
191
|
-
property
|
|
192
|
-
]
|
|
193
|
-
});
|
|
194
|
-
}, "Ctx");
|
|
195
|
-
function Define(key, value) {
|
|
196
|
-
return (target, property, index) => {
|
|
197
|
-
if (typeof index === "number") {
|
|
198
|
-
setMeta5(target, property, void 0, {
|
|
199
|
-
params: [
|
|
200
|
-
{
|
|
201
|
-
define: {
|
|
202
|
-
[key]: value
|
|
203
|
-
},
|
|
204
|
-
index
|
|
205
|
-
}
|
|
206
|
-
]
|
|
207
|
-
});
|
|
208
|
-
} else {
|
|
209
|
-
setMeta5(target, property, void 0, {
|
|
210
|
-
define: {
|
|
211
|
-
[key]: value
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
__name(Define, "Define");
|
|
218
|
-
|
|
219
|
-
export {
|
|
220
|
-
BaseParam,
|
|
221
|
-
Body,
|
|
222
|
-
Head,
|
|
223
|
-
Query,
|
|
224
|
-
Param,
|
|
225
|
-
Arg,
|
|
226
|
-
OneFile,
|
|
227
|
-
ManyFiles,
|
|
228
|
-
Guard,
|
|
229
|
-
Addon,
|
|
230
|
-
Filter,
|
|
231
|
-
Pipe,
|
|
232
|
-
Route,
|
|
233
|
-
Header,
|
|
234
|
-
Get,
|
|
235
|
-
Post,
|
|
236
|
-
Put,
|
|
237
|
-
Search,
|
|
238
|
-
Patch,
|
|
239
|
-
Delete,
|
|
240
|
-
Controller,
|
|
241
|
-
Queue,
|
|
242
|
-
Rpc,
|
|
243
|
-
Ctx,
|
|
244
|
-
Define
|
|
245
|
-
};
|
|
246
|
-
//# sourceMappingURL=chunk-TTHYUNOT.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/decorators/param.ts","../src/decorators/aop.ts","../src/decorators/http.ts","../src/decorators/rpc.ts","../src/decorators/ctx.ts"],"sourcesContent":["import { setMeta } from 'phecda-core'\r\n\r\nexport function BaseParam(data: Record<string, any>): ParameterDecorator {\r\n return (target: any, property: PropertyKey | undefined, index: number) => {\r\n if (!property)\r\n return\r\n\r\n setMeta(target, property, index, data)\r\n }\r\n}\r\n\r\nexport function Body(key = '') {\r\n return BaseParam({\r\n type: 'body',\r\n key,\r\n })\r\n}\r\n// req.headers\r\nexport function Head(key: string) {\r\n return BaseParam({\r\n type: 'headers', key: key.toLowerCase(),\r\n })\r\n}\r\n\r\nexport function Query(key = '') {\r\n return BaseParam({ type: 'query', key })\r\n}\r\nexport function Param(key: string) {\r\n return BaseParam({\r\n type: 'params', key,\r\n })\r\n}\r\n\r\n// work for micro service\r\nexport function Arg(target: any, k: string, index: number) {\r\n BaseParam({\r\n type: 'args', key: `${index}`,\r\n })(target, k, index)\r\n}\r\n\r\nexport function OneFile(key = '') {\r\n return BaseParam({\r\n type: 'file',\r\n key,\r\n })\r\n}\r\n\r\nexport function ManyFiles(key = '') {\r\n return BaseParam({\r\n type: 'files',\r\n key,\r\n })\r\n}\r\n","import { setMeta } from 'phecda-core'\r\nimport { BaseParam } from './param'\r\nexport function Guard(...guards: string[]) {\r\n return (target: any, property?: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n guards,\r\n })\r\n }\r\n}\r\n\r\nexport function Addon(...addons: string[]) {\r\n return (target: any, property?: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n addons,\r\n })\r\n }\r\n}\r\n\r\nexport function Filter(filter: string) {\r\n return (target: any, property?: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n filter,\r\n })\r\n }\r\n}\r\nexport function Pipe(pipe?: string) {\r\n return (target: any, property?: any, index?: any) => {\r\n if (typeof index === 'number') {\r\n BaseParam({ pipe })(target, property, index)\r\n\r\n return\r\n }\r\n setMeta(target, property, undefined, {\r\n pipe,\r\n })\r\n }\r\n}\r\n","import { setMeta } from 'phecda-core'\r\n\r\nexport function Route(route: string, type: string): MethodDecorator {\r\n return (target: any, property: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n http: {\r\n route, type,\r\n },\r\n })\r\n }\r\n}\r\nexport function Header(headers: Record<string, string>): MethodDecorator {\r\n return (target: any, property: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n http: {\r\n headers,\r\n },\r\n })\r\n }\r\n}\r\n\r\nexport function Get(route = '') {\r\n return Route(route, 'get')\r\n}\r\n\r\nexport function Post(route = '') {\r\n return Route(route, 'post')\r\n}\r\nexport function Put(route = '') {\r\n return Route(route, 'put')\r\n}\r\n\r\nexport function Search(route = '') {\r\n return Route(route, 'search')\r\n}\r\n\r\nexport function Patch(route = '') {\r\n return Route(route, 'patch')\r\n}\r\nexport function Delete(route = '') {\r\n return Route(route, 'delete')\r\n}\r\n\r\nexport function Controller(prefix = '') {\r\n return (target: any) => {\r\n setMeta(target, undefined, undefined, {\r\n controller: 'http',\r\n http: { prefix },\r\n })\r\n }\r\n}\r\n","import { setMeta } from 'phecda-core'\r\n\r\nexport function Queue(queue = '', isEvent?: boolean) {\r\n return (target: any, property?: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n rpc: {\r\n queue, isEvent,\r\n },\r\n })\r\n }\r\n}\r\n\r\nexport function Rpc(): ClassDecorator {\r\n return (target: any) => {\r\n setMeta(target, undefined, undefined, {\r\n controller: 'rpc',\r\n })\r\n }\r\n}\r\n","import { SHARE_KEY, setMeta } from 'phecda-core'\r\n\r\nexport const Ctx: PropertyDecorator = (target: any, property: PropertyKey) => {\r\n setMeta(target, SHARE_KEY, undefined, {\r\n ctxs: [property],\r\n })\r\n}\r\n\r\nexport function Define(key: string, value: any): any {\r\n return (target: any, property?: any, index?: number) => {\r\n if (typeof index === 'number') {\r\n setMeta(target, property, undefined, {\r\n params: [{ define: { [key]: value }, index }],\r\n })\r\n }\r\n else {\r\n setMeta(target, property, undefined, {\r\n define: {\r\n [key]: value,\r\n },\r\n })\r\n }\r\n }\r\n}\r\n"],"mappings":"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","names":["setMeta","BaseParam","data","target","property","index","setMeta","Body","key","type","Head","toLowerCase","Query","Param","Arg","k","OneFile","ManyFiles","setMeta","Guard","guards","target","property","setMeta","undefined","Addon","addons","Filter","filter","Pipe","pipe","index","BaseParam","setMeta","Route","route","type","target","property","setMeta","undefined","http","Header","headers","Get","Post","Put","Search","Patch","Delete","Controller","prefix","controller","setMeta","Queue","queue","isEvent","target","property","setMeta","undefined","rpc","Rpc","controller","SHARE_KEY","setMeta","Ctx","target","property","setMeta","SHARE_KEY","undefined","ctxs","Define","key","value","index","params","define"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/decorators/param.ts","../src/decorators/aop.ts","../src/decorators/http.ts","../src/decorators/rpc.ts","../src/decorators/ctx.ts","../src/decorators/openapi.ts"],"sourcesContent":["import { setMeta } from 'phecda-core'\r\n\r\nexport function BaseParam(data: Record<string, any>): ParameterDecorator {\r\n return (target: any, property: PropertyKey | undefined, index: number) => {\r\n if (!property)\r\n return\r\n\r\n setMeta(target, property, index, data)\r\n }\r\n}\r\n\r\nexport function Body(key = '') {\r\n return BaseParam({\r\n type: 'body',\r\n key,\r\n })\r\n}\r\n// req.headers\r\nexport function Head(key: string) {\r\n return BaseParam({\r\n type: 'headers', key: key.toLowerCase(),\r\n })\r\n}\r\n\r\nexport function Query(key = '') {\r\n return BaseParam({ type: 'query', key })\r\n}\r\nexport function Param(key: string) {\r\n return BaseParam({\r\n type: 'params', key,\r\n })\r\n}\r\n\r\n// work for micro service\r\nexport function Arg(target: any, k: string, index: number) {\r\n BaseParam({\r\n type: 'args', key: `${index}`,\r\n })(target, k, index)\r\n}\r\n\r\nexport function OneFile(key = '') {\r\n return BaseParam({\r\n type: 'file',\r\n key,\r\n })\r\n}\r\n\r\nexport function ManyFiles(key = '') {\r\n return BaseParam({\r\n type: 'files',\r\n key,\r\n })\r\n}\r\n","import { setMeta } from 'phecda-core'\r\nimport { BaseParam } from './param'\r\nexport function Guard(...guards: string[]) {\r\n return (target: any, property?: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n guards,\r\n })\r\n }\r\n}\r\n\r\nexport function Addon(...addons: string[]) {\r\n return (target: any, property?: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n addons,\r\n })\r\n }\r\n}\r\n\r\nexport function Filter(filter: string) {\r\n return (target: any, property?: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n filter,\r\n })\r\n }\r\n}\r\nexport function Pipe(pipe?: string) {\r\n return (target: any, property?: any, index?: any) => {\r\n if (typeof index === 'number') {\r\n BaseParam({ pipe })(target, property, index)\r\n\r\n return\r\n }\r\n setMeta(target, property, undefined, {\r\n pipe,\r\n })\r\n }\r\n}\r\n","import { setMeta } from 'phecda-core'\r\n\r\nexport function Route(route: string, type: string): MethodDecorator {\r\n return (target: any, property: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n http: {\r\n route, type,\r\n },\r\n })\r\n }\r\n}\r\nexport function Header(headers: Record<string, string>): MethodDecorator {\r\n return (target: any, property: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n http: {\r\n headers,\r\n },\r\n })\r\n }\r\n}\r\n\r\nexport function Get(route = '') {\r\n return Route(route, 'get')\r\n}\r\n\r\nexport function Post(route = '') {\r\n return Route(route, 'post')\r\n}\r\nexport function Put(route = '') {\r\n return Route(route, 'put')\r\n}\r\n\r\nexport function Search(route = '') {\r\n return Route(route, 'search')\r\n}\r\n\r\nexport function Patch(route = '') {\r\n return Route(route, 'patch')\r\n}\r\nexport function Delete(route = '') {\r\n return Route(route, 'delete')\r\n}\r\n\r\nexport function Controller(prefix = '') {\r\n return (target: any) => {\r\n setMeta(target, undefined, undefined, {\r\n controller: 'http',\r\n http: { prefix },\r\n })\r\n }\r\n}\r\n","import { setMeta } from 'phecda-core'\r\n\r\nexport function Queue(queue = '', isEvent?: boolean) {\r\n return (target: any, property?: PropertyKey) => {\r\n setMeta(target, property, undefined, {\r\n rpc: {\r\n queue, isEvent,\r\n },\r\n })\r\n }\r\n}\r\n\r\nexport function Rpc(): ClassDecorator {\r\n return (target: any) => {\r\n setMeta(target, undefined, undefined, {\r\n controller: 'rpc',\r\n })\r\n }\r\n}\r\n","import { SHARE_KEY, setMeta } from 'phecda-core'\r\n\r\nexport const Ctx: PropertyDecorator = (target: any, property: PropertyKey) => {\r\n setMeta(target, SHARE_KEY, undefined, {\r\n ctxs: [property],\r\n })\r\n}\r\n\r\nexport function Define(key: string, value: any): any {\r\n return (target: any, property?: any, index?: number) => {\r\n if (typeof index === 'number') {\r\n setMeta(target, property, undefined, {\r\n params: [{ define: { [key]: value }, index }],\r\n })\r\n }\r\n else {\r\n setMeta(target, property, undefined, {\r\n define: {\r\n [key]: value,\r\n },\r\n })\r\n }\r\n }\r\n}\r\n","import { setMeta } from \"phecda-core\";\r\n\r\n\r\n// OpenAPI 基础类型定义\r\ninterface OpenAPIBaseConfig {\r\n summary?: string;\r\n description?: string;\r\n tags?: string[];\r\n deprecated?: boolean;\r\n}\r\n\r\n// 请求参数配置\r\ninterface OpenAPIParameterConfig {\r\n name: string;\r\n in: 'query' | 'header' | 'path' | 'cookie';\r\n description?: string;\r\n required?: boolean;\r\n schema: {\r\n type: 'string' | 'number' | 'boolean' | 'object' | 'array';\r\n items?: any;\r\n properties?: Record<string, any>;\r\n };\r\n}\r\n\r\n// 响应配置\r\ninterface OpenAPIResponseConfig {\r\n description: string;\r\n content?: {\r\n [key: string]: {\r\n schema: {\r\n type: string;\r\n properties?: Record<string, any>;\r\n items?: any;\r\n description?: string;\r\n };\r\n };\r\n };\r\n}\r\n\r\n// 完整的 OpenAPI 配置接口\r\nexport interface OpenAPIConfig extends OpenAPIBaseConfig {\r\n parameters?: OpenAPIParameterConfig[];\r\n requestBody?: {\r\n required?: boolean;\r\n content: {\r\n [key: string]: {\r\n schema: {\r\n type: string;\r\n properties?: Record<string, any>;\r\n items?: any;\r\n [key: string]: any; // 其他属性\r\n };\r\n };\r\n };\r\n };\r\n responses?: {\r\n [statusCode: string]: OpenAPIResponseConfig;\r\n };\r\n}\r\n/**\r\n * OpenAPI 装饰器函数\r\n * @param config OpenAPI/Swagger 配置\r\n */\r\nexport function ApiDoc(config: OpenAPIConfig) {\r\n return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {\r\n setMeta(target, propertyKey, undefined, {\r\n openapi: config\r\n })\r\n };\r\n}\r\n"],"mappings":"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","names":["setMeta","BaseParam","data","target","property","index","setMeta","Body","key","type","Head","toLowerCase","Query","Param","Arg","k","OneFile","ManyFiles","setMeta","Guard","guards","target","property","setMeta","undefined","Addon","addons","Filter","filter","Pipe","pipe","index","BaseParam","setMeta","Route","route","type","target","property","setMeta","undefined","http","Header","headers","Get","Post","Put","Search","Patch","Delete","Controller","prefix","controller","setMeta","Queue","queue","isEvent","target","property","setMeta","undefined","rpc","Rpc","controller","SHARE_KEY","setMeta","Ctx","target","property","setMeta","SHARE_KEY","undefined","ctxs","Define","key","value","index","params","define","setMeta","ApiDoc","config","target","propertyKey","descriptor","setMeta","undefined","openapi"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/meta.ts","../src/core.ts"],"sourcesContent":["import type { BaseRequestType } from './types'\r\n\r\nexport interface ServiceMetaData {\r\n func: string\r\n name: string\r\n tag: string\r\n define?: any\r\n [key: string]: any\r\n}\r\n\r\nexport interface ControllerMetaData extends ServiceMetaData {\r\n controller: string\r\n http?: {\r\n type: BaseRequestType\r\n prefix: string\r\n route: string\r\n headers?: Record<string, string>\r\n }\r\n rpc?: {\r\n queue?: string\r\n isEvent?: boolean\r\n }\r\n ctxs?: string[]\r\n params: { type: string; index: number; key: string; pipe?: string; define: Record<string, any> }[]\r\n guards: string[]\r\n pipe?: string\r\n filter?: string\r\n addons: string[]\r\n\r\n}\r\n\r\nexport type MetaData = ControllerMetaData | ServiceMetaData\r\n\r\nexport class Meta {\r\n constructor(public data: MetaData, public paramsType: any[]) {\r\n\r\n }\r\n}\r\n\r\nexport interface ControllerMeta extends Meta {\r\n data: ControllerMetaData\r\n}\r\n","import 'reflect-metadata'\r\nimport EventEmitter from 'node:events'\r\nimport type { Construct, Phecda, WatcherParam } from 'phecda-core'\r\nimport { getInject, getMergedMeta, getMetaKey, getMetaParams, getTag, invokeInit, invokeUnmount, setInject } from 'phecda-core'\r\nimport Debug from 'debug'\r\nimport type { Emitter } from './types'\r\nimport type { MetaData } from './meta'\r\nimport { Meta } from './meta'\r\nimport { log } from './utils'\r\nimport { IS_ONLY_GENERATE, PS_EXIT_CODE } from './common'\r\nimport type { Generator } from './generator'\r\nimport { HMR } from './hmr'\r\n\r\nconst debug = Debug('phecda-server(Factory)')\r\n// TODO: support both emitter types and origin emitter type in future\r\nexport const emitter: Emitter = new EventEmitter() as any\r\nexport interface Options {\r\n parseModule?: (module: any) => any\r\n parseMeta?: (meta: Meta) => Meta | null | undefined\r\n generators?: Generator[]\r\n namespace?: string\r\n\r\n}\r\n\r\nexport function defaultServerInject() {\r\n if (!getInject('watcher')) {\r\n setInject('watcher', ({ eventName, instance, property, options }: WatcherParam) => {\r\n const fn = typeof instance[property] === 'function' ? instance[property].bind(instance) : (v: any) => instance[property] = v\r\n\r\n if (options?.once)\r\n (emitter as any).once(eventName, fn)\r\n\r\n else\r\n (emitter as any).on(eventName, fn)\r\n\r\n return () => {\r\n (emitter as any).off(eventName, fn)\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport const phecdaNamespace = new Map<string, ServerPhecda>()\r\n\r\nexport class ServerPhecda {\r\n moduleMap = new Map<PropertyKey, InstanceType<Construct>>()\r\n meta: Meta[] = []\r\n modelMap = new WeakMap<InstanceType<Construct>, Construct>()\r\n modelSet = new WeakSet<Construct>()\r\n dependenceGraph = new Map<PropertyKey, Set<PropertyKey>>()\r\n parseModule: (module: any) => any\r\n parseMeta: (meta: Meta) => Meta | null | undefined\r\n generators: Generator[]\r\n constructor(options: Options) {\r\n defaultServerInject()\r\n const { namespace = 'default', parseModule = (module: any) => module, parseMeta = (meta: any) => meta, generators = [] } = options\r\n phecdaNamespace.set(namespace, this)\r\n this.parseMeta = parseMeta\r\n this.parseModule = parseModule\r\n this.generators = generators\r\n }\r\n\r\n async start(models: Construct[]) {\r\n for (const model of models)\r\n await this.buildDepModule(model)\r\n\r\n this.hmr()\r\n this.generateCode().then(() => {\r\n if (IS_ONLY_GENERATE) {\r\n log('Only generate code')\r\n process.exit(PS_EXIT_CODE.EXIT)// only output code/work for ci\r\n }\r\n })\r\n }\r\n\r\n generateCode = async () => {\r\n return Promise.all(this.generators.map((generator) => {\r\n debug(`generate \"${generator.name}\" code to ${generator.path}`)\r\n\r\n return generator.output(this.meta)\r\n }))\r\n }\r\n\r\n hmr() {\r\n HMR(async (oldModels, newModels) => {\r\n debug('reload models ')\r\n\r\n await this.replace(oldModels, newModels)\r\n\r\n this.generateCode()\r\n })\r\n }\r\n\r\n\r\n async destroy() {\r\n debug('destroy all')\r\n\r\n this.replace(Object.values(this.modelMap), [])\r\n }\r\n\r\n createProxyModule(tag: PropertyKey) {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const that = this\r\n return new Proxy({}, {\r\n get(_target, prop) {\r\n const module = that.moduleMap.get(tag)\r\n return Reflect.get(module, prop, module)\r\n },\r\n set(_target, prop, newValue) {\r\n const module = that.moduleMap.get(tag)\r\n\r\n return Reflect.set(module, prop, newValue, module)\r\n },\r\n has(_target, prop) {\r\n return Reflect.has(that.moduleMap.get(tag), prop)\r\n },\r\n ownKeys() {\r\n return Reflect.ownKeys(that.moduleMap.get(tag))\r\n },\r\n getPrototypeOf() {\r\n return Reflect.getPrototypeOf(that.moduleMap.get(tag))\r\n },\r\n getOwnPropertyDescriptor(_target, prop) {\r\n return Reflect.getOwnPropertyDescriptor(that.moduleMap.get(tag), prop)\r\n },\r\n })\r\n }\r\n\r\n protected async buildDepModule(Model: Construct) {\r\n const paramtypes = getParamTypes(Model) as Construct[]\r\n let module: InstanceType<Construct>\r\n const tag = getTag(Model)\r\n\r\n if (this.moduleMap.has(tag)) {\r\n module = this.moduleMap.get(tag)\r\n if (!module) {\r\n log(`Exist Circular-Dependency or Multiple modules with the same tag [${String(tag)}]`, 'warn')\r\n return { module: this.createProxyModule(tag), tag }\r\n }\r\n if (this.modelMap.get(module) !== Model && !this.modelSet.has(Model)) {\r\n this.modelSet.add(Model)// a module will only warn once\r\n\r\n if (module instanceof Model)\r\n log(`Module taged ${String(tag)} has been overridden`)// legal override\r\n else\r\n log(`Synonym module: Module taged \"${String(tag)}\" has been loaded before, so phecda-server won't load Module \"${Model.name}\"`, 'warn')\r\n }\r\n return { module, tag }\r\n }\r\n this.moduleMap.set(tag, undefined)\r\n debug(`instantiate module \"${String(tag)}\"`)\r\n\r\n if (paramtypes) {\r\n const paramtypesInstances = [] as any[]\r\n for (const i in paramtypes) {\r\n const { module: sub, tag: subTag } = await this.buildDepModule(paramtypes[i])\r\n paramtypesInstances[i] = sub\r\n if (!this.dependenceGraph.has(subTag))\r\n this.dependenceGraph.set(subTag, new Set())\r\n this.dependenceGraph.get(subTag)!.add(tag)\r\n }\r\n\r\n module = this.parseModule(new Model(...paramtypesInstances))\r\n }\r\n else {\r\n module = this.parseModule(new Model())\r\n }\r\n this.meta.push(...getMetaFromInstance(module, tag, Model.name).map(this.parseMeta).filter(item => !!item))\r\n\r\n debug(`init module \"${String(tag)}\"`)\r\n\r\n if (!IS_ONLY_GENERATE)// ??\r\n\r\n await invokeInit(module)\r\n\r\n debug(`add module \"${String(tag)}\"`)\r\n\r\n this.moduleMap.set(tag, module)\r\n this.modelMap.set(module, Model)\r\n return { module, tag }\r\n }\r\n\r\n async replace(oldModels: Construct[], newModels: Construct[]) {\r\n const oldModules = (await Promise.all(oldModels.map(async (model) => {\r\n const tag = getTag(model)\r\n if (!this.has(tag))\r\n return\r\n const module = this.moduleMap.get(tag)\r\n\r\n debug(`unmount module \"${String(tag)}\"`)\r\n await invokeUnmount(module)\r\n debug(`del module \"${String(tag)}\"`)\r\n\r\n this.moduleMap.delete(tag)\r\n this.modelMap.delete(module)\r\n for (let i = this.meta.length - 1; i >= 0; i--) {\r\n if (this.meta[i].data.tag === tag)\r\n this.meta.splice(i, 1)\r\n }\r\n return module\r\n }))).filter(item => item)\r\n\r\n for (const model of newModels) {\r\n debug(`mount module: ${model.name}`)\r\n await this.buildDepModule(model)\r\n }\r\n\r\n debug('replace old modules')\r\n\r\n for (const module of oldModules) {\r\n const tag = getTag(module)\r\n if (this.dependenceGraph.has(tag)) {\r\n [...this.dependenceGraph.get(tag)!].forEach((depTag) => {\r\n const depModule = this.moduleMap.get(depTag)\r\n\r\n if (depModule) {\r\n for (const key in depModule) {\r\n if (depModule[key] === module)\r\n depModule[key] = this.moduleMap.get(tag)\r\n }\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n has(modelOrTag: Construct | PropertyKey) {\r\n return this.moduleMap.has(typeof modelOrTag === 'function' ? getTag(modelOrTag) : modelOrTag)\r\n }\r\n\r\n get<Model extends Construct>(modelOrTag: Model | PropertyKey): InstanceType<Model> {\r\n const tag = typeof modelOrTag === 'function' ? getTag(modelOrTag) : modelOrTag\r\n if (!this.has(tag))\r\n throw new Error(`module \"${tag.toString()}\" doesn't exist`)\r\n return this.moduleMap.get(tag)\r\n }\r\n getModel(tag: PropertyKey) {\r\n return this.modelMap.get(this.get(tag))\r\n }\r\n}\r\n\r\nexport async function Factory(models: Construct[], opts: Options = {}) {\r\n const phecda = new ServerPhecda(opts)\r\n await phecda.start(models)\r\n return phecda\r\n}\r\n\r\nexport function useS<Model extends Construct>(model: Model, namespace?: string): InstanceType<Model>\r\nexport function useS(namespace?: string): ServerPhecda\r\nexport function useS(nsOrModel?: Construct | string, namespace?: string) {\r\n if (!nsOrModel) {\r\n namespace = 'default'\r\n }\r\n else {\r\n if (typeof nsOrModel === 'string')\r\n namespace = nsOrModel\r\n else if (!namespace)\r\n namespace = 'default'\r\n }\r\n if (!phecdaNamespace.has(namespace))\r\n throw new Error(`namespace \"${namespace}\" doesn't exist`)\r\n const serverPhecda = phecdaNamespace.get(namespace)!\r\n if (nsOrModel && typeof nsOrModel !== 'string')\r\n return serverPhecda.get(nsOrModel)\r\n else\r\n\r\n return serverPhecda\r\n}\r\n\r\nfunction getMetaFromInstance(instance: Phecda, tag: PropertyKey, name: string) {\r\n const propertyKeys = getMetaKey(instance).filter(item => typeof item === 'string') as string[]\r\n const baseMeta = getMergedMeta(instance, undefined) as MetaData\r\n\r\n const ctxs = baseMeta.ctxs\r\n return propertyKeys.filter(i => typeof (instance as any)[i] === 'function').map((i) => {\r\n const meta = getMergedMeta(instance, i)\r\n const metaData = {\r\n ...meta,\r\n name,\r\n tag,\r\n func:\r\n i,\r\n } as MetaData\r\n if (baseMeta.controller) {\r\n if (typeof tag !== 'string')\r\n log(`can't use Tag with ${typeof tag} on controller \"${(instance as any).constructor.name}\",instead with \"${tag = String(tag)}\"`, 'error')\r\n metaData.controller = baseMeta.controller\r\n metaData[baseMeta.controller] = {\r\n ...baseMeta[baseMeta.controller],\r\n ...meta[baseMeta.controller],\r\n }\r\n\r\n const params = getMetaParams(instance, i).map(item => getMergedMeta(instance, i, item))\r\n params.forEach((item, index) => {\r\n if (!item.pipe)\r\n item.pipe = meta.pipe || baseMeta.pipe\r\n if (!item.define)\r\n item.define = {}\r\n item.index = index\r\n })\r\n\r\n metaData.ctxs = ctxs\r\n metaData.params = params\r\n metaData.filter = meta.filter || baseMeta.filter\r\n metaData.define = { ...baseMeta.define, ...meta.define }\r\n\r\n for (const item of ['addons', 'guards']) {\r\n const set = new Set<string>(baseMeta[item])\r\n if (meta[item]) {\r\n meta[item].forEach((part: string) => {\r\n set.delete(part)\r\n set.add(part)\r\n })\r\n }\r\n\r\n metaData[item] = [...set]\r\n }\r\n\r\n // metaData.addons = [...new Set([...baseMeta.addons, ...meta.addons])]\r\n // metaData.guards = [...new Set([...baseMeta.guards, ...meta.guards])]\r\n // metaData.interceptors = [...new Set([...baseMeta.interceptors, ...meta.interceptors])]\r\n }\r\n return new Meta(deepFreeze(metaData as MetaData), getParamTypes(instance, i as string) || [])\r\n })\r\n}\r\n\r\nfunction deepFreeze<T extends Record<string, any>>(object: T): T {\r\n // 先冻结对象本身\r\n Object.freeze(object)\r\n\r\n // 获取对象的所有属性名\r\n Object.getOwnPropertyNames(object).forEach((prop) => {\r\n // 如果属性是对象,并且没有被冻结,则递归冻结\r\n if (object[prop] !== null\r\n && (typeof object[prop] === 'object' || typeof object[prop] === 'function')\r\n && !Object.isFrozen(object[prop]))\r\n deepFreeze(object[prop])\r\n })\r\n\r\n return object\r\n}\r\nfunction getParamTypes(Model: any, key?: string | symbol) {\r\n const paramTypes = Reflect.getMetadata('design:paramtypes', Model, key!)\r\n if (typeof paramTypes === 'function')// work with loader to handle Circular-Dependency\r\n return paramTypes()\r\n\r\n else return paramTypes\r\n}\r\n"],"mappings":"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","names":["Meta","constructor","data","paramsType","EventEmitter","getInject","getMergedMeta","getMetaKey","getMetaParams","getTag","invokeInit","invokeUnmount","setInject","Debug","debug","Debug","emitter","EventEmitter","defaultServerInject","getInject","setInject","eventName","instance","property","options","fn","bind","v","once","on","off","phecdaNamespace","Map","ServerPhecda","moduleMap","meta","modelMap","WeakMap","modelSet","WeakSet","dependenceGraph","parseModule","parseMeta","generators","constructor","namespace","module","set","start","models","model","buildDepModule","hmr","generateCode","then","IS_ONLY_GENERATE","log","process","exit","PS_EXIT_CODE","EXIT","Promise","all","map","generator","name","path","output","HMR","oldModels","newModels","replace","destroy","Object","values","createProxyModule","tag","that","Proxy","get","_target","prop","Reflect","newValue","has","ownKeys","getPrototypeOf","getOwnPropertyDescriptor","Model","paramtypes","getParamTypes","getTag","String","add","undefined","paramtypesInstances","i","sub","subTag","Set","push","getMetaFromInstance","filter","item","invokeInit","oldModules","invokeUnmount","delete","length","data","splice","forEach","depTag","depModule","key","modelOrTag","Error","toString","getModel","Factory","opts","phecda","useS","nsOrModel","serverPhecda","propertyKeys","getMetaKey","baseMeta","getMergedMeta","ctxs","metaData","func","controller","params","getMetaParams","index","pipe","define","part","Meta","deepFreeze","object","freeze","getOwnPropertyNames","isFrozen","paramTypes","getMetadata"]}
|
package/dist/core-BOo3uGFX.d.ts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Construct } from 'phecda-core';
|
|
2
|
-
import { M as Meta, E as Emitter } from './meta-BoS1E-Nz.js';
|
|
3
|
-
|
|
4
|
-
declare abstract class Generator {
|
|
5
|
-
private _path;
|
|
6
|
-
constructor(path?: string);
|
|
7
|
-
abstract name: string;
|
|
8
|
-
get path(): string;
|
|
9
|
-
abstract generateCode(meta: Meta[]): string;
|
|
10
|
-
output(meta: Meta[]): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
declare const emitter: Emitter;
|
|
14
|
-
interface Options {
|
|
15
|
-
parseModule?: (module: any) => any;
|
|
16
|
-
parseMeta?: (meta: Meta) => Meta | null | undefined;
|
|
17
|
-
generators?: Generator[];
|
|
18
|
-
namespace?: string;
|
|
19
|
-
}
|
|
20
|
-
declare function defaultServerInject(): void;
|
|
21
|
-
declare const phecdaNamespace: Map<string, ServerPhecda>;
|
|
22
|
-
declare class ServerPhecda {
|
|
23
|
-
moduleMap: Map<PropertyKey, any>;
|
|
24
|
-
meta: Meta[];
|
|
25
|
-
modelMap: WeakMap<any, Construct>;
|
|
26
|
-
modelSet: WeakSet<Construct>;
|
|
27
|
-
dependenceGraph: Map<PropertyKey, Set<PropertyKey>>;
|
|
28
|
-
parseModule: (module: any) => any;
|
|
29
|
-
parseMeta: (meta: Meta) => Meta | null | undefined;
|
|
30
|
-
generators: Generator[];
|
|
31
|
-
constructor(options: Options);
|
|
32
|
-
start(models: Construct[]): Promise<void>;
|
|
33
|
-
generateCode: () => Promise<void[]>;
|
|
34
|
-
hmr(): void;
|
|
35
|
-
destroy(): Promise<void>;
|
|
36
|
-
createProxyModule(tag: PropertyKey): {};
|
|
37
|
-
protected buildDepModule(Model: Construct): Promise<{
|
|
38
|
-
module: any;
|
|
39
|
-
tag: PropertyKey;
|
|
40
|
-
}>;
|
|
41
|
-
replace(oldModels: Construct[], newModels: Construct[]): Promise<void>;
|
|
42
|
-
has(modelOrTag: Construct | PropertyKey): boolean;
|
|
43
|
-
get<Model extends Construct>(modelOrTag: Model | PropertyKey): InstanceType<Model>;
|
|
44
|
-
}
|
|
45
|
-
declare function Factory(models: Construct[], opts?: Options): Promise<ServerPhecda>;
|
|
46
|
-
declare function useS<Model extends Construct>(model: Model, namespace?: string): InstanceType<Model>;
|
|
47
|
-
declare function useS(namespace?: string): ServerPhecda;
|
|
48
|
-
|
|
49
|
-
export { Factory as F, Generator as G, type Options as O, ServerPhecda as S, defaultServerInject as d, emitter as e, phecdaNamespace as p, useS as u };
|
package/dist/core-CF45G79J.d.mts
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Construct } from 'phecda-core';
|
|
2
|
-
import { M as Meta, E as Emitter } from './meta-BoS1E-Nz.mjs';
|
|
3
|
-
|
|
4
|
-
declare abstract class Generator {
|
|
5
|
-
private _path;
|
|
6
|
-
constructor(path?: string);
|
|
7
|
-
abstract name: string;
|
|
8
|
-
get path(): string;
|
|
9
|
-
abstract generateCode(meta: Meta[]): string;
|
|
10
|
-
output(meta: Meta[]): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
declare const emitter: Emitter;
|
|
14
|
-
interface Options {
|
|
15
|
-
parseModule?: (module: any) => any;
|
|
16
|
-
parseMeta?: (meta: Meta) => Meta | null | undefined;
|
|
17
|
-
generators?: Generator[];
|
|
18
|
-
namespace?: string;
|
|
19
|
-
}
|
|
20
|
-
declare function defaultServerInject(): void;
|
|
21
|
-
declare const phecdaNamespace: Map<string, ServerPhecda>;
|
|
22
|
-
declare class ServerPhecda {
|
|
23
|
-
moduleMap: Map<PropertyKey, any>;
|
|
24
|
-
meta: Meta[];
|
|
25
|
-
modelMap: WeakMap<any, Construct>;
|
|
26
|
-
modelSet: WeakSet<Construct>;
|
|
27
|
-
dependenceGraph: Map<PropertyKey, Set<PropertyKey>>;
|
|
28
|
-
parseModule: (module: any) => any;
|
|
29
|
-
parseMeta: (meta: Meta) => Meta | null | undefined;
|
|
30
|
-
generators: Generator[];
|
|
31
|
-
constructor(options: Options);
|
|
32
|
-
start(models: Construct[]): Promise<void>;
|
|
33
|
-
generateCode: () => Promise<void[]>;
|
|
34
|
-
hmr(): void;
|
|
35
|
-
destroy(): Promise<void>;
|
|
36
|
-
createProxyModule(tag: PropertyKey): {};
|
|
37
|
-
protected buildDepModule(Model: Construct): Promise<{
|
|
38
|
-
module: any;
|
|
39
|
-
tag: PropertyKey;
|
|
40
|
-
}>;
|
|
41
|
-
replace(oldModels: Construct[], newModels: Construct[]): Promise<void>;
|
|
42
|
-
has(modelOrTag: Construct | PropertyKey): boolean;
|
|
43
|
-
get<Model extends Construct>(modelOrTag: Model | PropertyKey): InstanceType<Model>;
|
|
44
|
-
}
|
|
45
|
-
declare function Factory(models: Construct[], opts?: Options): Promise<ServerPhecda>;
|
|
46
|
-
declare function useS<Model extends Construct>(model: Model, namespace?: string): InstanceType<Model>;
|
|
47
|
-
declare function useS(namespace?: string): ServerPhecda;
|
|
48
|
-
|
|
49
|
-
export { Factory as F, Generator as G, type Options as O, ServerPhecda as S, defaultServerInject as d, emitter as e, phecdaNamespace as p, useS as u };
|
package/dist/helper.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\myproject\\phecda\\packages\\server\\dist\\helper.js"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACA;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,qcAAC","file":"D:\\myproject\\phecda\\packages\\server\\dist\\helper.js"}
|
package/dist/helper.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\myproject\\phecda\\packages\\server\\dist\\http\\elysia\\index.js"],"names":[],"mappings":"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","file":"D:\\myproject\\phecda\\packages\\server\\dist\\http\\elysia\\index.js","sourcesContent":[null]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/http/elysia/bind.ts"],"sourcesContent":["import Debug from 'debug'\r\nimport type { Context as ElysiaContext, InputSchema, LocalHook, RouteSchema, SingletonBase } from 'elysia'\r\nimport { Elysia as App } from 'elysia'\r\nimport type { BaseMacro } from 'elysia/dist/types'\r\nimport type { HttpCtx, HttpOptions } from '../types'\r\n\r\nimport type { Factory } from '../../core'\r\nimport { BadRequestException } from '../../exception'\r\nimport { AOP, Context } from '../../context'\r\nimport { Define } from '../../decorators'\r\nimport { createControllerMetaMap, detectAopDep, joinUrl } from '../../helper'\r\nconst debug = Debug('phecda-server/elysia')\r\nexport interface ElysiaCtx extends HttpCtx {\r\n type: 'elysia'\r\n app: App\r\n context: ElysiaContext\r\n}\r\n\r\nexport type Addon = (app: App<any>) => void\r\n\r\nexport function bind(app: App<any>, data: Awaited<ReturnType<typeof Factory>>, opts: HttpOptions = {}) {\r\n const { globalGuards, parallelRoute = '/__PHECDA_SERVER__', globalAddons = [], parallelAddons = [], globalFilter, globalPipe, dynamic = false } = opts\r\n const { moduleMap, meta } = data\r\n\r\n const metaMap = createControllerMetaMap(meta, (meta) => {\r\n const { controller, http, func, tag } = meta.data\r\n if (controller === 'http' && http?.type) {\r\n debug(`register method \"${func}\" in module \"${tag}\"`)\r\n return true\r\n }\r\n })\r\n detectAopDep(meta, {\r\n addons: [...globalAddons, ...parallelAddons],\r\n guards: globalGuards,\r\n })\r\n\r\n registerRoute()\r\n\r\n function registerRoute() {\r\n Context.applyAddons(globalAddons, app, 'elysia')\r\n\r\n if (parallelRoute) {\r\n const parallelRouter = new App()\r\n\r\n Context.applyAddons(parallelAddons, app, 'elysia')\r\n\r\n parallelRouter.post(parallelRoute, async (c) => {\r\n const { body } = c\r\n\r\n async function errorHandler(e: any) {\r\n const error = await Context.filterRecord.default(e)\r\n c.set.status = error.status\r\n return error\r\n }\r\n\r\n if (!Array.isArray(body))\r\n return errorHandler(new BadRequestException('data format should be an array'))\r\n\r\n try {\r\n return Promise.all(body.map((item: any, i) => {\r\n // eslint-disable-next-line no-async-promise-executor\r\n return new Promise(async (resolve) => {\r\n if (!item)\r\n return resolve(null)\r\n const { tag, func } = item\r\n\r\n debug(`(parallel)invoke method \"${func}\" in module \"${tag}\"`)\r\n\r\n if (!metaMap.has(tag))\r\n return resolve(await Context.filterRecord.default(new BadRequestException(`module \"${tag}\" doesn't exist`)))\r\n\r\n const meta = metaMap.get(tag)![func]\r\n if (!meta)\r\n return resolve(await Context.filterRecord.default(new BadRequestException(`\"${func}\" in \"${tag}\" doesn't exist`)))\r\n\r\n const aop = Context.getAop(meta, {\r\n globalGuards,\r\n globalFilter,\r\n globalPipe,\r\n })\r\n\r\n const contextData = {\r\n type: 'elysia' as const,\r\n category: 'http',\r\n parallel: true,\r\n context: c,\r\n index: i,\r\n meta,\r\n moduleMap,\r\n app,\r\n ...item,\r\n getCookie: key => c.cookie[key].value,\r\n setCookie: (key, value, opts = {}) => c.cookie[key].set({ ...opts, value }),\r\n delCookie: key => c.cookie[key].remove(),\r\n redirect: url => c.redirect(url),\r\n setResHeaders: headers => Object.assign(c.set.headers, headers),\r\n setResStatus: status => c.set.status = status,\r\n\r\n getRequest: () => {\r\n throw new Error('elysia can\\'t support getRequest')\r\n },\r\n getResponse: () => {\r\n throw new Error('elysia can\\'t support getResponse')\r\n },\r\n\r\n } as ElysiaCtx\r\n const context = new Context(contextData)\r\n\r\n context.run(aop, resolve, resolve)\r\n })\r\n })).then((ret) => {\r\n return ret\r\n })\r\n }\r\n catch (e) {\r\n return errorHandler(e)\r\n }\r\n })\r\n\r\n app.use(parallelRouter)\r\n }\r\n\r\n for (const [tag, record] of metaMap) {\r\n for (const func in record) {\r\n const meta = metaMap.get(tag)![func]\r\n\r\n const {\r\n data: {\r\n define,\r\n\r\n addons,\r\n http,\r\n },\r\n } = meta\r\n\r\n const subApp = new App({ prefix: '' })\r\n\r\n if (!http?.type)\r\n continue\r\n\r\n let aop: AOP\r\n if (!dynamic) {\r\n aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n }\r\n Context.applyAddons(addons, subApp, 'elysia');\r\n (subApp as any)[http.type](joinUrl(http.prefix, http.route), async (c: ElysiaContext) => {\r\n debug(`invoke method \"${func}\" in module \"${tag}\"`)\r\n const contextData = {\r\n type: 'elysia' as const,\r\n category: 'http',\r\n context: c,\r\n meta,\r\n moduleMap,\r\n tag,\r\n func,\r\n query: c.query,\r\n body: c.body as any,\r\n params: c.params,\r\n headers: c.headers,\r\n app,\r\n getCookie: key => c.cookie[key].value,\r\n setCookie: (key, value, opts = {}) => c.cookie[key].set({ ...opts, value }),\r\n delCookie: key => c.cookie[key].remove(),\r\n redirect: url => c.redirect(url),\r\n setResHeaders: headers => Object.assign(c.set.headers, headers),\r\n setResStatus: status => c.set.status = status,\r\n getRequest: () => {\r\n throw new Error('elysia can\\'t support getRequest')\r\n },\r\n getResponse: () => {\r\n throw new Error('elysia can\\'t support getResponse')\r\n },\r\n } as ElysiaCtx\r\n if (dynamic) {\r\n aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n }\r\n const context = new Context(contextData)\r\n if (http.headers)\r\n c.set.headers = http.headers\r\n\r\n if (dynamic) {\r\n aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n }\r\n return context.run(aop, returnData => returnData, (err) => {\r\n c.set.status = err.status\r\n return err\r\n })\r\n }, define.elysia)\r\n\r\n app.use(subApp)\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport function Elysia(opts: LocalHook<InputSchema, RouteSchema, SingletonBase, Record<string, Error>, BaseMacro, any>) {\r\n return Define('elysia', opts)\r\n}\r\n"],"mappings":"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","names":["Debug","Elysia","App","debug","Debug","bind","app","data","opts","globalGuards","parallelRoute","globalAddons","parallelAddons","globalFilter","globalPipe","dynamic","moduleMap","meta","metaMap","createControllerMetaMap","controller","http","func","tag","type","detectAopDep","addons","guards","registerRoute","Context","applyAddons","parallelRouter","App","post","c","body","errorHandler","e","error","filterRecord","default","set","status","Array","isArray","BadRequestException","Promise","all","map","item","i","resolve","has","get","aop","getAop","contextData","category","parallel","context","index","getCookie","key","cookie","value","setCookie","delCookie","remove","redirect","url","setResHeaders","headers","Object","assign","setResStatus","getRequest","Error","getResponse","run","then","ret","use","record","define","subApp","prefix","joinUrl","route","query","params","returnData","err","elysia","Elysia","Define"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\myproject\\phecda\\packages\\server\\dist\\http\\express\\index.js"],"names":[],"mappings":"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","file":"D:\\myproject\\phecda\\packages\\server\\dist\\http\\express\\index.js","sourcesContent":[null]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/http/express/bind.ts"],"sourcesContent":["import { IncomingMessage, ServerResponse } from 'node:http'\r\nimport type { Request, RequestHandler, Response } from 'express'\r\nimport { Router } from 'express'\r\nimport Debug from 'debug'\r\nimport type { HttpCtx, HttpOptions } from '../types'\r\n\r\nimport type { Factory } from '../../core'\r\nimport { BadRequestException } from '../../exception'\r\nimport { AOP, Context } from '../../context'\r\nimport { createControllerMetaMap, detectAopDep, joinUrl } from '../../helper'\r\nimport { HMR } from '../../hmr'\r\n\r\nconst debug = Debug('phecda-server/express')\r\nexport interface ExpressCtx extends HttpCtx {\r\n type: 'express'\r\n request: Request\r\n response: Response\r\n next: Function\r\n app: Router\r\n\r\n}\r\n\r\nexport type Addon = RequestHandler\r\n\r\nexport function bind(router: Router, data: Awaited<ReturnType<typeof Factory>>, opts: HttpOptions = {}) {\r\n const { globalGuards, parallelRoute = '/__PHECDA_SERVER__', globalAddons = [], parallelAddons = [], globalFilter, globalPipe, dynamic = false } = opts\r\n const { moduleMap, meta } = data\r\n\r\n const originStack = router.stack.slice(0, router.stack.length)\r\n\r\n const metaMap = createControllerMetaMap(meta, (meta) => {\r\n const { controller, http, func, tag } = meta.data\r\n if (controller === 'http' && http?.type) {\r\n debug(`register method \"${func}\" in module \"${tag}\"`)\r\n return true\r\n }\r\n })\r\n detectAopDep(meta, {\r\n addons: [...globalAddons, ...parallelAddons],\r\n guards: globalGuards,\r\n })\r\n\r\n registerRoute()\r\n\r\n HMR(async () => {\r\n router.stack = originStack// router.stack.slice(0, 1)\r\n registerRoute()\r\n })\r\n\r\n function registerRoute() {\r\n Context.applyAddons(globalAddons, router, 'express')\r\n\r\n if (parallelRoute) {\r\n const subRouter = Router()\r\n Context.applyAddons(parallelAddons, subRouter, 'express')\r\n subRouter.use(async (req, res, next) => {\r\n const { body } = req\r\n\r\n async function errorHandler(e: any) {\r\n const error = await Context.filterRecord.default(e)\r\n return res.status(error.status).json(error)\r\n }\r\n\r\n if (!Array.isArray(body))\r\n return errorHandler(new BadRequestException('data format should be an array'))\r\n\r\n try {\r\n return Promise.all(body.map((item: any, i) => {\r\n // eslint-disable-next-line no-async-promise-executor\r\n return new Promise(async (resolve) => {\r\n if (!item)\r\n return resolve(null)\r\n\r\n const { tag, func } = item\r\n\r\n debug(`(parallel)invoke method \"${func}\" in module \"${tag}\"`)\r\n\r\n if (!metaMap.has(tag))\r\n return resolve(await Context.filterRecord.default(new BadRequestException(`module \"${tag}\" doesn't exist`)))\r\n\r\n const meta = metaMap.get(tag)![func]\r\n if (!meta)\r\n return resolve(await Context.filterRecord.default(new BadRequestException(`\"${func}\" in \"${tag}\" doesn't exist`)))\r\n\r\n const aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n const contextData = {\r\n type: 'express' as const,\r\n category: 'http',\r\n parallel: true,\r\n request: req,\r\n index: i,\r\n meta,\r\n response: res,\r\n moduleMap,\r\n\r\n next,\r\n app: router,\r\n ...item,\r\n getCookie: key => req.cookies[key],\r\n setCookie: (key, value, opts) => res.cookie(key, value, opts || {}),\r\n delCookie: key => res.cookie(key, '', { expires: new Date(0) }),\r\n redirect: (url, status) => status ? res.redirect(status, url) : res.redirect(url),\r\n setResHeaders: headers => res.set(headers),\r\n setResStatus: code => res.status(code),\r\n getRequest: () => req as unknown as IncomingMessage,\r\n getResponse: () => res as unknown as ServerResponse,\r\n\r\n } as ExpressCtx\r\n const context = new Context(contextData)\r\n\r\n context.run(aop, resolve, resolve)\r\n })\r\n })).then((ret) => {\r\n res.json(ret)\r\n })\r\n }\r\n catch (e) {\r\n return errorHandler(e)\r\n }\r\n })\r\n router.post(parallelRoute, subRouter)\r\n }\r\n for (const [tag, record] of metaMap) {\r\n for (const func in record) {\r\n const meta = metaMap.get(tag)![func]\r\n\r\n const {\r\n data: {\r\n\r\n addons,\r\n http,\r\n },\r\n } = meta\r\n\r\n if (!http?.type)\r\n continue\r\n\r\n let aop: AOP\r\n\r\n if (!dynamic) {\r\n aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n }\r\n\r\n const subRouter = Router()\r\n Context.applyAddons(addons, subRouter, 'express')\r\n\r\n subRouter[http.type](joinUrl(http.prefix, http.route), async (req, res, next) => {\r\n debug(`invoke method \"${func}\" in module \"${tag}\"`)\r\n\r\n const contextData = {\r\n type: 'express' as const,\r\n category: 'http',\r\n request: req,\r\n meta,\r\n response: res,\r\n moduleMap,\r\n tag,\r\n func,\r\n query: req.query,\r\n body: req.body,\r\n params: req.params,\r\n headers: req.headers,\r\n app: router,\r\n next,\r\n getCookie: key => req.cookies[key],\r\n setCookie: (key, value, opts) => res.cookie(key, value, opts || {}),\r\n\r\n delCookie: key => res.cookie(key, '', { expires: new Date(0) }),\r\n\r\n redirect: (url, status) => status ? res.redirect(status, url) : res.redirect(url),\r\n setResHeaders: headers => res.set(headers),\r\n setResStatus: code => res.status(code),\r\n getRequest: () => req as unknown as IncomingMessage,\r\n getResponse: () => res as unknown as ServerResponse,\r\n\r\n } as ExpressCtx\r\n\r\n const context = new Context(contextData)\r\n if (http.headers)\r\n res.set(http.headers)\r\n\r\n if (dynamic) {\r\n aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n }\r\n await context.run(aop, (returnData) => {\r\n if (res.writableEnded)\r\n return\r\n if (typeof returnData === 'string')\r\n res.send(returnData)\r\n\r\n else\r\n res.json(returnData)\r\n }, (err) => {\r\n if (res.writableEnded)\r\n return\r\n res.status(err.status).json(err)\r\n })\r\n })\r\n\r\n router.use(subRouter)\r\n }\r\n }\r\n }\r\n}\r\n"],"mappings":"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","names":["Router","Debug","debug","Debug","bind","router","data","opts","globalGuards","parallelRoute","globalAddons","parallelAddons","globalFilter","globalPipe","dynamic","moduleMap","meta","originStack","stack","slice","length","metaMap","createControllerMetaMap","controller","http","func","tag","type","detectAopDep","addons","guards","registerRoute","HMR","Context","applyAddons","subRouter","Router","use","req","res","next","body","errorHandler","e","error","filterRecord","default","status","json","Array","isArray","BadRequestException","Promise","all","map","item","i","resolve","has","get","aop","getAop","contextData","category","parallel","request","index","response","app","getCookie","key","cookies","setCookie","value","cookie","delCookie","expires","Date","redirect","url","setResHeaders","headers","set","setResStatus","code","getRequest","getResponse","context","run","then","ret","post","record","joinUrl","prefix","route","query","params","returnData","writableEnded","send","err"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["d:\\myproject\\phecda\\packages\\server\\dist\\http\\fastify\\index.js"],"names":[],"mappings":"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","file":"D:\\myproject\\phecda\\packages\\server\\dist\\http\\fastify\\index.js","sourcesContent":[null]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/http/fastify/bind.ts"],"sourcesContent":["import type { FastifyInstance, FastifyPluginCallback, FastifyPluginOptions, FastifyRegisterOptions, FastifyReply, FastifyRequest, RouteShorthandOptions } from 'fastify'\r\nimport Debug from 'debug'\r\nimport type { HttpCtx, HttpOptions } from '../types'\r\n\r\nimport type { Factory } from '../../core'\r\nimport { BadRequestException } from '../../exception'\r\nimport { AOP, Context } from '../../context'\r\nimport { Define } from '../../decorators'\r\nimport { createControllerMetaMap, detectAopDep, joinUrl } from '../../helper'\r\nconst debug = Debug('phecda-server/fastify')\r\nexport interface FastifyCtx extends HttpCtx {\r\n type: 'fastify'\r\n request: FastifyRequest\r\n response: FastifyReply\r\n app: FastifyInstance\r\n\r\n}\r\n\r\nexport type Addon = FastifyPluginCallback\r\n\r\nexport function bind(fastify: FastifyInstance, data: Awaited<ReturnType<typeof Factory>>, opts: HttpOptions & { fastifyOpts?: FastifyRegisterOptions<FastifyPluginOptions> } = {}) {\r\n const { globalGuards, parallelRoute = '/__PHECDA_SERVER__', globalAddons = [], parallelAddons = [], globalFilter, globalPipe, fastifyOpts, dynamic = false } = opts\r\n const {\r\n moduleMap, meta,\r\n } = data\r\n\r\n const metaMap = createControllerMetaMap(meta, (meta) => {\r\n const { controller, http, func, tag } = meta.data\r\n if (controller === 'http' && http?.type) {\r\n debug(`register method \"${func}\" in module \"${tag}\"`)\r\n return true\r\n }\r\n })\r\n\r\n detectAopDep(meta, {\r\n addons: [...globalAddons, ...parallelAddons],\r\n guards: globalGuards,\r\n })\r\n\r\n fastify.register(async (fastify, _, done) => {\r\n Context.applyAddons(globalAddons, fastify, 'fastify')\r\n\r\n if (parallelRoute) {\r\n fastify.register(async (fastify, _opts, done) => {\r\n Context.applyAddons(parallelAddons, fastify, 'fastify')\r\n\r\n fastify.post(parallelRoute, async (req, res) => {\r\n const { body } = req as any\r\n\r\n async function errorHandler(e: any) {\r\n const error = await Context.filterRecord.default(e)\r\n return res.status(error.status).send(error)\r\n }\r\n\r\n if (!Array.isArray(body))\r\n return errorHandler(new BadRequestException('data format should be an array'))\r\n\r\n try {\r\n return Promise.all(body.map((item: any, i) => {\r\n // eslint-disable-next-line no-async-promise-executor\r\n return new Promise(async (resolve) => {\r\n if (!item)\r\n return resolve(null)\r\n const { tag, func } = item\r\n debug(`(parallel)invoke method \"${func}\" in module \"${tag}\"`)\r\n\r\n if (!metaMap.has(tag))\r\n return resolve(await Context.filterRecord.default(new BadRequestException(`module \"${tag}\" doesn't exist`)))\r\n\r\n const meta = metaMap.get(tag)![func]\r\n\r\n if (!meta)\r\n return resolve(await Context.filterRecord.default(new BadRequestException(`\"${func}\" in \"${tag}\" doesn't exist`)))\r\n\r\n const aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n const contextData = {\r\n type: 'fastify' as const,\r\n category: 'http',\r\n\r\n parallel: true,\r\n request: req,\r\n index: i,\r\n meta,\r\n response: res,\r\n moduleMap,\r\n\r\n app: fastify,\r\n ...item,\r\n // @ts-expect-error need @fastify/cookie\r\n getCookie: key => req.cookies[key],\r\n // @ts-expect-error need @fastify/cookie\r\n setCookie: (key, value, opts) => res.setCookie(key, value, opts),\r\n // @ts-expect-error need @fastify/cookie\r\n delCookie: key => res.clearCookie(key),\r\n redirect: (url, status) => res.redirect(url, status),\r\n setResHeaders: headers => res.headers(headers),\r\n setResStatus: code => res.status(code),\r\n getRequest: () => req.raw,\r\n getResponse: () => res.raw,\r\n\r\n } as FastifyCtx\r\n const context = new Context(contextData)\r\n context.run(aop, resolve, resolve)\r\n })\r\n })).then((ret) => {\r\n res.send(ret)\r\n })\r\n }\r\n catch (e) {\r\n return errorHandler(e)\r\n }\r\n })\r\n\r\n done()\r\n })\r\n }\r\n\r\n for (const [tag, record] of metaMap) {\r\n for (const func in record) {\r\n const meta = metaMap.get(tag)![func]\r\n const {\r\n data: {\r\n\r\n addons,\r\n\r\n define,\r\n http,\r\n },\r\n } = meta\r\n\r\n if (!http?.type)\r\n continue\r\n\r\n fastify.register(async (fastify, _opts, done) => {\r\n Context.applyAddons(addons, fastify, 'fastify')\r\n\r\n let aop: AOP\r\n\r\n if (!dynamic) {\r\n aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n }\r\n\r\n fastify[http.type](joinUrl(http.prefix, http.route), define?.fastify || {}, async (req, res) => {\r\n debug(`invoke method \"${func}\" in module \"${tag}\"`)\r\n\r\n const contextData = {\r\n type: 'fastify' as const,\r\n category: 'http',\r\n request: req,\r\n meta,\r\n response: res,\r\n moduleMap,\r\n tag,\r\n func,\r\n query: req.query as any,\r\n body: req.body as any,\r\n params: req.params as any,\r\n headers: req.headers,\r\n app: fastify,\r\n // @ts-expect-error need @fastify/cookie\r\n getCookie: key => req.cookies[key],\r\n // @ts-expect-error need @fastify/cookie\r\n setCookie: (key, value, opts) => res.setCookie(key, value, opts),\r\n // @ts-expect-error need @fastify/cookie\r\n delCookie: key => res.clearCookie(key, { url: '' }),\r\n redirect: (url, status) => res.redirect(url, status),\r\n setResHeaders: headers => res.headers(headers),\r\n setResStatus: code => res.status(code),\r\n getRequest: () => req.raw,\r\n getResponse: () => res.raw,\r\n\r\n } as FastifyCtx\r\n\r\n const context = new Context(contextData)\r\n if (http.headers)\r\n res.headers(http.headers)\r\n\r\n if (dynamic) {\r\n aop = Context.getAop(meta, {\r\n globalFilter,\r\n globalGuards,\r\n globalPipe,\r\n })\r\n }\r\n return context.run(aop, (returnData) => {\r\n if (res.sent)\r\n return\r\n return returnData\r\n }, (err) => {\r\n if (res.sent)\r\n return\r\n res.status(err.status).send(err)\r\n })\r\n })\r\n done()\r\n })\r\n }\r\n }\r\n\r\n done()\r\n }, fastifyOpts)\r\n}\r\n\r\nexport function Fastify(opts: RouteShorthandOptions) {\r\n return Define('fastify', opts)\r\n}\r\n"],"mappings":"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","names":["Debug","debug","Debug","bind","fastify","data","opts","globalGuards","parallelRoute","globalAddons","parallelAddons","globalFilter","globalPipe","fastifyOpts","dynamic","moduleMap","meta","metaMap","createControllerMetaMap","controller","http","func","tag","type","detectAopDep","addons","guards","register","_","done","Context","applyAddons","_opts","post","req","res","body","errorHandler","e","error","filterRecord","default","status","send","Array","isArray","BadRequestException","Promise","all","map","item","i","resolve","has","get","aop","getAop","contextData","category","parallel","request","index","response","app","getCookie","key","cookies","setCookie","value","delCookie","clearCookie","redirect","url","setResHeaders","headers","setResStatus","code","getRequest","raw","getResponse","context","run","then","ret","record","define","joinUrl","prefix","route","query","params","returnData","sent","err","Fastify","Define"]}
|