phecda-server 5.1.0 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/assets/ps.json +25 -0
- package/{bin → assets}/schema.json +55 -55
- package/assets/tsconfig.json +21 -0
- package/bin/cli.mjs +150 -189
- package/dist/{chunk-6UQYEBAN.js → chunk-5BVUCNMA.js} +19 -20
- package/dist/{chunk-QG4X6H5Y.js → chunk-BSE2DSDK.js} +121 -124
- package/dist/{chunk-OTHER3YM.mjs → chunk-CKQW3FDK.mjs} +4 -5
- package/dist/{chunk-6W7CGOZC.mjs → chunk-JE6BBDXW.mjs} +64 -67
- package/dist/{chunk-5DOVDDO7.mjs → chunk-V3WIKOP3.mjs} +11 -6
- package/dist/{chunk-H4N6SHNG.mjs → chunk-VLV3AO3H.mjs} +0 -1
- package/dist/{chunk-GHOKWS5V.js → chunk-VMLHTEW3.js} +48 -43
- package/dist/{chunk-Z4YJHEXT.js → chunk-ZP7HNASU.js} +0 -1
- package/dist/core-7f6d2be6.d.ts +27 -0
- package/dist/{helper-fcbf6aa8.d.ts → helper-49c7213c.d.ts} +1 -1
- package/dist/{helper-867a598d.d.ts → helper-5d755442.d.ts} +1 -1
- package/dist/helper.d.ts +25 -0
- package/dist/helper.js +21 -0
- package/dist/helper.mjs +21 -0
- package/dist/index.d.ts +5 -25
- package/dist/index.js +39 -58
- package/dist/index.mjs +6 -25
- package/dist/rpc/bullmq/index.d.ts +3 -2
- package/dist/rpc/bullmq/index.js +12 -13
- package/dist/rpc/bullmq/index.mjs +2 -3
- package/dist/rpc/kafka/index.d.ts +3 -2
- package/dist/rpc/kafka/index.js +10 -11
- package/dist/rpc/kafka/index.mjs +2 -3
- package/dist/rpc/nats/index.d.ts +3 -2
- package/dist/rpc/nats/index.js +11 -12
- package/dist/rpc/nats/index.mjs +2 -3
- package/dist/rpc/rabbitmq/index.d.ts +3 -2
- package/dist/rpc/rabbitmq/index.js +13 -14
- package/dist/rpc/rabbitmq/index.mjs +2 -3
- package/dist/rpc/redis/index.d.ts +3 -2
- package/dist/rpc/redis/index.js +11 -12
- package/dist/rpc/redis/index.mjs +2 -3
- package/dist/server/elysia/index.d.ts +3 -2
- package/dist/server/elysia/index.js +20 -21
- package/dist/server/elysia/index.mjs +3 -4
- package/dist/server/express/index.d.ts +3 -2
- package/dist/server/express/index.js +18 -19
- package/dist/server/express/index.mjs +2 -3
- package/dist/server/fastify/index.d.ts +3 -2
- package/dist/server/fastify/index.js +19 -20
- package/dist/server/fastify/index.mjs +3 -4
- package/dist/server/h3/index.d.ts +3 -2
- package/dist/server/h3/index.js +16 -17
- package/dist/server/h3/index.mjs +2 -3
- package/dist/server/hono/index.d.ts +3 -2
- package/dist/server/hono/index.js +17 -18
- package/dist/server/hono/index.mjs +2 -3
- package/dist/server/hyper-express/index.d.ts +3 -2
- package/dist/server/hyper-express/index.js +17 -18
- package/dist/server/hyper-express/index.mjs +2 -3
- package/dist/server/koa/index.d.ts +3 -2
- package/dist/server/koa/index.js +18 -19
- package/dist/server/koa/index.mjs +2 -3
- package/dist/test.d.ts +2 -1
- package/dist/test.js +6 -7
- package/dist/test.mjs +2 -3
- package/dist/{core-fd134ffa.d.ts → types-81be0ba3.d.ts} +2 -24
- package/package.json +62 -54
- package/register/index.mjs +40 -40
- package/register/loader.mjs +367 -341
- package/register/utils.mjs +56 -81
- package/dist/chunk-423JPSEB.js +0 -253
- package/dist/chunk-423JPSEB.js.map +0 -1
- package/dist/chunk-4R55T3HG.js +0 -253
- package/dist/chunk-4R55T3HG.js.map +0 -1
- package/dist/chunk-4YVAW3L4.mjs +0 -76
- package/dist/chunk-4YVAW3L4.mjs.map +0 -1
- package/dist/chunk-5DOVDDO7.mjs.map +0 -1
- package/dist/chunk-5WQ2SMIK.js +0 -295
- package/dist/chunk-5WQ2SMIK.js.map +0 -1
- package/dist/chunk-6MQP6OHU.mjs +0 -295
- package/dist/chunk-6MQP6OHU.mjs.map +0 -1
- package/dist/chunk-6Q2PCC3A.mjs +0 -295
- package/dist/chunk-6Q2PCC3A.mjs.map +0 -1
- package/dist/chunk-6UQYEBAN.js.map +0 -1
- package/dist/chunk-6W7CGOZC.mjs.map +0 -1
- package/dist/chunk-7Y37NSBM.js +0 -88
- package/dist/chunk-7Y37NSBM.js.map +0 -1
- package/dist/chunk-BQBSVGMG.mjs +0 -253
- package/dist/chunk-BQBSVGMG.mjs.map +0 -1
- package/dist/chunk-BZP6GKM6.mjs +0 -565
- package/dist/chunk-BZP6GKM6.mjs.map +0 -1
- package/dist/chunk-C5JAHCS2.mjs +0 -88
- package/dist/chunk-C5JAHCS2.mjs.map +0 -1
- package/dist/chunk-DTBKDALR.mjs +0 -295
- package/dist/chunk-DTBKDALR.mjs.map +0 -1
- package/dist/chunk-GHOKWS5V.js.map +0 -1
- package/dist/chunk-H4N6SHNG.mjs.map +0 -1
- package/dist/chunk-ICYHM4UM.js +0 -565
- package/dist/chunk-ICYHM4UM.js.map +0 -1
- package/dist/chunk-LOLXPM4J.mjs +0 -529
- package/dist/chunk-LOLXPM4J.mjs.map +0 -1
- package/dist/chunk-MSS6A2TU.js +0 -585
- package/dist/chunk-MSS6A2TU.js.map +0 -1
- package/dist/chunk-NEM3FY7C.mjs +0 -537
- package/dist/chunk-NEM3FY7C.mjs.map +0 -1
- package/dist/chunk-OTHER3YM.mjs.map +0 -1
- package/dist/chunk-Q2FYFIEY.js +0 -295
- package/dist/chunk-Q2FYFIEY.js.map +0 -1
- package/dist/chunk-QG4X6H5Y.js.map +0 -1
- package/dist/chunk-QIEZ6YTG.mjs +0 -295
- package/dist/chunk-QIEZ6YTG.mjs.map +0 -1
- package/dist/chunk-QOAKHCM7.js +0 -295
- package/dist/chunk-QOAKHCM7.js.map +0 -1
- package/dist/chunk-QVUD6L5X.js +0 -565
- package/dist/chunk-QVUD6L5X.js.map +0 -1
- package/dist/chunk-RGLTGKAU.js +0 -537
- package/dist/chunk-RGLTGKAU.js.map +0 -1
- package/dist/chunk-SHRK3TVB.js +0 -295
- package/dist/chunk-SHRK3TVB.js.map +0 -1
- package/dist/chunk-TCH6S42Z.js +0 -529
- package/dist/chunk-TCH6S42Z.js.map +0 -1
- package/dist/chunk-UCGRFVHC.mjs +0 -253
- package/dist/chunk-UCGRFVHC.mjs.map +0 -1
- package/dist/chunk-VOISXWVF.mjs +0 -295
- package/dist/chunk-VOISXWVF.mjs.map +0 -1
- package/dist/chunk-W6BC5INO.mjs +0 -295
- package/dist/chunk-W6BC5INO.mjs.map +0 -1
- package/dist/chunk-X5WQRO4R.js +0 -295
- package/dist/chunk-X5WQRO4R.js.map +0 -1
- package/dist/chunk-XDMCVVD3.mjs +0 -585
- package/dist/chunk-XDMCVVD3.mjs.map +0 -1
- package/dist/chunk-XNTMYLK6.js +0 -76
- package/dist/chunk-XNTMYLK6.js.map +0 -1
- package/dist/chunk-Y6LI4FDO.js +0 -537
- package/dist/chunk-Y6LI4FDO.js.map +0 -1
- package/dist/chunk-YZ2AQ6IL.mjs +0 -537
- package/dist/chunk-YZ2AQ6IL.mjs.map +0 -1
- package/dist/chunk-Z4YJHEXT.js.map +0 -1
- package/dist/chunk-ZE336SKZ.js +0 -295
- package/dist/chunk-ZE336SKZ.js.map +0 -1
- package/dist/chunk-ZJD235TO.mjs +0 -565
- package/dist/chunk-ZJD235TO.mjs.map +0 -1
- package/dist/core-39f27fe8.d.ts +0 -131
- package/dist/core-930ea883.d.ts +0 -131
- package/dist/core-eb646fe5.d.ts +0 -139
- package/dist/helper-06d25b37.d.ts +0 -19
- package/dist/helper-48454c0b.d.ts +0 -20
- package/dist/helper-6133f78f.d.ts +0 -18
- package/dist/helper-73e8d2f0.d.ts +0 -18
- package/dist/helper-88b19c66.d.ts +0 -12
- package/dist/helper-9e206c66.d.ts +0 -12
- package/dist/helper-f29f082f.d.ts +0 -19
- 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/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/server/elysia/index.js.map +0 -1
- package/dist/server/elysia/index.mjs.map +0 -1
- package/dist/server/express/index.js.map +0 -1
- package/dist/server/express/index.mjs.map +0 -1
- package/dist/server/fastify/index.js.map +0 -1
- package/dist/server/fastify/index.mjs.map +0 -1
- package/dist/server/h3/index.js.map +0 -1
- package/dist/server/h3/index.mjs.map +0 -1
- package/dist/server/hono/index.js.map +0 -1
- package/dist/server/hono/index.mjs.map +0 -1
- package/dist/server/hyper-express/index.js.map +0 -1
- package/dist/server/hyper-express/index.mjs.map +0 -1
- package/dist/server/koa/index.js.map +0 -1
- package/dist/server/koa/index.mjs.map +0 -1
- package/dist/test.js.map +0 -1
- package/dist/test.mjs.map +0 -1
package/dist/chunk-Q2FYFIEY.js
DELETED
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var _chunkMSS6A2TUjs = require('./chunk-MSS6A2TU.js');
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var _chunkXNTMYLK6js = require('./chunk-XNTMYLK6.js');
|
|
8
|
-
|
|
9
|
-
// src/decorators/param.ts
|
|
10
|
-
var _phecdacore = require('phecda-core');
|
|
11
|
-
function BaseParam(data) {
|
|
12
|
-
return (target, k, index) => {
|
|
13
|
-
if (!k)
|
|
14
|
-
return;
|
|
15
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
16
|
-
if (!state.params)
|
|
17
|
-
state.params = [
|
|
18
|
-
..._optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _ => _.params]) || []
|
|
19
|
-
].map(_chunkMSS6A2TUjs.shallowClone);
|
|
20
|
-
const existItem = state.params.find((item) => item.index === index);
|
|
21
|
-
if (existItem)
|
|
22
|
-
Object.assign(existItem, data);
|
|
23
|
-
else
|
|
24
|
-
state.params.push({
|
|
25
|
-
...data,
|
|
26
|
-
index
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
_chunkXNTMYLK6js.__name.call(void 0, BaseParam, "BaseParam");
|
|
32
|
-
function Body(key = "") {
|
|
33
|
-
return BaseParam({
|
|
34
|
-
type: "body",
|
|
35
|
-
key
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
_chunkXNTMYLK6js.__name.call(void 0, Body, "Body");
|
|
39
|
-
function Head(key) {
|
|
40
|
-
return BaseParam({
|
|
41
|
-
type: "headers",
|
|
42
|
-
key: key.toLowerCase()
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
_chunkXNTMYLK6js.__name.call(void 0, Head, "Head");
|
|
46
|
-
function Query(key = "") {
|
|
47
|
-
return BaseParam({
|
|
48
|
-
type: "query",
|
|
49
|
-
key
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
_chunkXNTMYLK6js.__name.call(void 0, Query, "Query");
|
|
53
|
-
function Param(key) {
|
|
54
|
-
return BaseParam({
|
|
55
|
-
type: "params",
|
|
56
|
-
key
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
_chunkXNTMYLK6js.__name.call(void 0, Param, "Param");
|
|
60
|
-
function Arg(target, k, index) {
|
|
61
|
-
BaseParam({
|
|
62
|
-
type: "args",
|
|
63
|
-
key: `${index}`
|
|
64
|
-
})(target, k, index);
|
|
65
|
-
}
|
|
66
|
-
_chunkXNTMYLK6js.__name.call(void 0, Arg, "Arg");
|
|
67
|
-
|
|
68
|
-
// src/decorators/aop.ts
|
|
69
|
-
|
|
70
|
-
function Guard(...guards) {
|
|
71
|
-
return (target, k) => {
|
|
72
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
73
|
-
if (!state.guards)
|
|
74
|
-
state.guards = /* @__PURE__ */ new Set([
|
|
75
|
-
..._optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _2 => _2.guards]) || []
|
|
76
|
-
]);
|
|
77
|
-
guards.forEach((guard) => {
|
|
78
|
-
if (state.guards.has(guard))
|
|
79
|
-
state.guards.delete(guard);
|
|
80
|
-
state.guards.add(guard);
|
|
81
|
-
});
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
_chunkXNTMYLK6js.__name.call(void 0, Guard, "Guard");
|
|
86
|
-
function Plugin(...plugins) {
|
|
87
|
-
return (target, k) => {
|
|
88
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
89
|
-
if (!state.plugins)
|
|
90
|
-
state.plugins = /* @__PURE__ */ new Set([
|
|
91
|
-
..._optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _3 => _3.plugins]) || []
|
|
92
|
-
]);
|
|
93
|
-
plugins.forEach((plugin) => {
|
|
94
|
-
if (state.plugins.has(plugin))
|
|
95
|
-
state.plugins.delete(plugin);
|
|
96
|
-
state.plugins.add(plugin);
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
_chunkXNTMYLK6js.__name.call(void 0, Plugin, "Plugin");
|
|
102
|
-
function Interceptor(...interceptors) {
|
|
103
|
-
return (target, k) => {
|
|
104
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
105
|
-
if (!state.interceptors)
|
|
106
|
-
state.interceptors = /* @__PURE__ */ new Set([
|
|
107
|
-
..._optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _4 => _4.interceptors]) || []
|
|
108
|
-
]);
|
|
109
|
-
interceptors.forEach((interceptor) => {
|
|
110
|
-
if (state.interceptors.has(interceptor))
|
|
111
|
-
state.interceptors.delete(interceptor);
|
|
112
|
-
state.interceptors.add(interceptor);
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
_chunkXNTMYLK6js.__name.call(void 0, Interceptor, "Interceptor");
|
|
118
|
-
function Filter(filter) {
|
|
119
|
-
return (target, k) => {
|
|
120
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => state.filter = filter);
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
_chunkXNTMYLK6js.__name.call(void 0, Filter, "Filter");
|
|
124
|
-
function Pipe(pipe) {
|
|
125
|
-
return (target, k, index) => {
|
|
126
|
-
if (typeof index === "number") {
|
|
127
|
-
BaseParam({
|
|
128
|
-
pipe
|
|
129
|
-
})(target, k, index);
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => state.pipe = pipe);
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
_chunkXNTMYLK6js.__name.call(void 0, Pipe, "Pipe");
|
|
136
|
-
|
|
137
|
-
// src/decorators/http.ts
|
|
138
|
-
|
|
139
|
-
function Route(route, type) {
|
|
140
|
-
return (target, k) => {
|
|
141
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
142
|
-
state.http = _chunkMSS6A2TUjs.mergeObject.call(void 0, state.http || _optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _5 => _5.http]), {
|
|
143
|
-
route,
|
|
144
|
-
type
|
|
145
|
-
});
|
|
146
|
-
});
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
_chunkXNTMYLK6js.__name.call(void 0, Route, "Route");
|
|
150
|
-
function Header(headers) {
|
|
151
|
-
return (target, k) => {
|
|
152
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
153
|
-
if (!state.http)
|
|
154
|
-
state.http = _chunkMSS6A2TUjs.mergeObject.call(void 0, _optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _6 => _6.http]));
|
|
155
|
-
state.http = _chunkMSS6A2TUjs.mergeObject.call(void 0, state.http, {
|
|
156
|
-
headers: _chunkMSS6A2TUjs.mergeObject.call(void 0, _optionalChain([state, 'access', _7 => _7.http, 'optionalAccess', _8 => _8.headers]), headers)
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
_chunkXNTMYLK6js.__name.call(void 0, Header, "Header");
|
|
162
|
-
function Get(route = "") {
|
|
163
|
-
return Route(route, "get");
|
|
164
|
-
}
|
|
165
|
-
_chunkXNTMYLK6js.__name.call(void 0, Get, "Get");
|
|
166
|
-
function Post(route = "") {
|
|
167
|
-
return Route(route, "post");
|
|
168
|
-
}
|
|
169
|
-
_chunkXNTMYLK6js.__name.call(void 0, Post, "Post");
|
|
170
|
-
function Put(route = "") {
|
|
171
|
-
return Route(route, "put");
|
|
172
|
-
}
|
|
173
|
-
_chunkXNTMYLK6js.__name.call(void 0, Put, "Put");
|
|
174
|
-
function Patch(route = "") {
|
|
175
|
-
return Route(route, "patch");
|
|
176
|
-
}
|
|
177
|
-
_chunkXNTMYLK6js.__name.call(void 0, Patch, "Patch");
|
|
178
|
-
function Delete(route = "") {
|
|
179
|
-
return Route(route, "delete");
|
|
180
|
-
}
|
|
181
|
-
_chunkXNTMYLK6js.__name.call(void 0, Delete, "Delete");
|
|
182
|
-
function Controller(prefix = "") {
|
|
183
|
-
return (target) => {
|
|
184
|
-
_phecdacore.setPropertyState.call(void 0, target, void 0, (state) => {
|
|
185
|
-
state.controller = "http";
|
|
186
|
-
state.http = _chunkMSS6A2TUjs.mergeObject.call(void 0, state.http || _optionalChain([_phecdacore.getState.call(void 0, target), 'optionalAccess', _9 => _9.http]), {
|
|
187
|
-
prefix
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
_chunkXNTMYLK6js.__name.call(void 0, Controller, "Controller");
|
|
193
|
-
|
|
194
|
-
// src/decorators/rpc.ts
|
|
195
|
-
|
|
196
|
-
function Event(isEvent = true) {
|
|
197
|
-
return (target, k) => {
|
|
198
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
199
|
-
state.rpc = _chunkMSS6A2TUjs.mergeObject.call(void 0, state.rpc || _optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _10 => _10.rpc]), {
|
|
200
|
-
isEvent
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
_chunkXNTMYLK6js.__name.call(void 0, Event, "Event");
|
|
206
|
-
function Queue(queue = "") {
|
|
207
|
-
return (target, k) => {
|
|
208
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
209
|
-
state.rpc = _chunkMSS6A2TUjs.mergeObject.call(void 0, state.rpc || _optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _11 => _11.rpc]), {
|
|
210
|
-
queue
|
|
211
|
-
});
|
|
212
|
-
});
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
_chunkXNTMYLK6js.__name.call(void 0, Queue, "Queue");
|
|
216
|
-
function Rpc() {
|
|
217
|
-
return (target) => {
|
|
218
|
-
_phecdacore.setPropertyState.call(void 0, target, void 0, (state) => {
|
|
219
|
-
state.controller = "rpc";
|
|
220
|
-
});
|
|
221
|
-
};
|
|
222
|
-
}
|
|
223
|
-
_chunkXNTMYLK6js.__name.call(void 0, Rpc, "Rpc");
|
|
224
|
-
|
|
225
|
-
// src/decorators/index.ts
|
|
226
|
-
|
|
227
|
-
function Injectable() {
|
|
228
|
-
return (target) => _phecdacore.Empty.call(void 0, target);
|
|
229
|
-
}
|
|
230
|
-
_chunkXNTMYLK6js.__name.call(void 0, Injectable, "Injectable");
|
|
231
|
-
var Ctx = /* @__PURE__ */ _chunkXNTMYLK6js.__name.call(void 0, (target, key) => {
|
|
232
|
-
_phecdacore.set.call(void 0, target, "context", key);
|
|
233
|
-
}, "Ctx");
|
|
234
|
-
function Define(key, value) {
|
|
235
|
-
return (target, k, index) => {
|
|
236
|
-
if (typeof index === "number") {
|
|
237
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
238
|
-
const parentState = _optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _12 => _12.params]) || [];
|
|
239
|
-
if (!state.params)
|
|
240
|
-
state.params = [
|
|
241
|
-
...parentState
|
|
242
|
-
].map(_chunkMSS6A2TUjs.shallowClone);
|
|
243
|
-
const existItem = state.params.find((item) => item.index === index);
|
|
244
|
-
if (existItem)
|
|
245
|
-
existItem.define = _chunkMSS6A2TUjs.mergeObject.call(void 0, existItem.define, {
|
|
246
|
-
[key]: value
|
|
247
|
-
});
|
|
248
|
-
else
|
|
249
|
-
state.params.push({
|
|
250
|
-
define: {
|
|
251
|
-
[key]: value
|
|
252
|
-
},
|
|
253
|
-
index
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
return;
|
|
257
|
-
}
|
|
258
|
-
_phecdacore.setPropertyState.call(void 0, target, k, (state) => {
|
|
259
|
-
const parentState = _optionalChain([_phecdacore.getState.call(void 0, target, k), 'optionalAccess', _13 => _13.define]);
|
|
260
|
-
if (!state.define)
|
|
261
|
-
state.define = _chunkMSS6A2TUjs.mergeObject.call(void 0, parentState);
|
|
262
|
-
state.define[key] = value;
|
|
263
|
-
});
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
_chunkXNTMYLK6js.__name.call(void 0, Define, "Define");
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
exports.BaseParam = BaseParam; exports.Body = Body; exports.Head = Head; exports.Query = Query; exports.Param = Param; exports.Arg = Arg; exports.Guard = Guard; exports.Plugin = Plugin; exports.Interceptor = Interceptor; exports.Filter = Filter; exports.Pipe = Pipe; exports.Route = Route; exports.Header = Header; exports.Get = Get; exports.Post = Post; exports.Put = Put; exports.Patch = Patch; exports.Delete = Delete; exports.Controller = Controller; exports.Event = Event; exports.Queue = Queue; exports.Rpc = Rpc; exports.Injectable = Injectable; exports.Ctx = Ctx; exports.Define = Define;
|
|
295
|
-
//# sourceMappingURL=chunk-Q2FYFIEY.js.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/index.ts"],"names":["getState","setPropertyState","BaseParam","data","target","k","index","state","params","map","shallowClone","existItem","find","item","Object","assign","push","Body","key","type","Head","toLowerCase","Query","Param","Arg","Guard","guards","Set","forEach","guard","has","delete","add","Plugin","plugins","plugin","Interceptor","interceptors","interceptor","Filter","filter","Pipe","pipe","Route","route","http","mergeObject","Header","headers","Get","Post","Put","Patch","Delete","Controller","prefix","undefined","controller","Event","isEvent","rpc","Queue","queue","Rpc","Empty","set","Injectable","Ctx","Define","value","parentState","define"],"mappings":"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","sourcesContent":["import { getState, setPropertyState } from 'phecda-core'\r\nimport { shallowClone } from './helper'\r\n\r\nexport function BaseParam(data: Record<string, any>): ParameterDecorator {\r\n return (target: any, k: PropertyKey | undefined, index: number) => {\r\n if (!k)\r\n return\r\n setPropertyState(target, k, (state) => {\r\n if (!state.params)\r\n state.params = [...(getState(target, k)?.params || [])].map(shallowClone)\r\n\r\n const existItem = state.params.find((item: any) => item.index === index)\r\n\r\n if (existItem)\r\n Object.assign(existItem, data)\r\n\r\n else\r\n state.params.push({ ...data, index })\r\n })\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","import { getState, setPropertyState } from 'phecda-core'\r\nimport { BaseParam } from './param'\r\nexport function Guard(...guards: string[]) {\r\n return (target: any, k?: PropertyKey) => {\r\n setPropertyState(target, k, (state) => {\r\n if (!state.guards)\r\n state.guards = new Set([...(getState(target, k)?.guards || [])])\r\n\r\n guards.forEach((guard) => {\r\n if (state.guards.has(guard))\r\n state.guards.delete(guard)\r\n\r\n state.guards.add(guard)\r\n })\r\n })\r\n }\r\n}\r\n\r\nexport function Plugin(...plugins: string[]) {\r\n return (target: any, k?: PropertyKey) => {\r\n setPropertyState(target, k, (state) => {\r\n if (!state.plugins)\r\n state.plugins = new Set([...(getState(target, k)?.plugins || [])])\r\n\r\n plugins.forEach((plugin) => {\r\n if (state.plugins.has(plugin))\r\n state.plugins.delete(plugin)\r\n\r\n state.plugins.add(plugin)\r\n })\r\n })\r\n }\r\n}\r\n\r\nexport function Interceptor(...interceptors: string[]) {\r\n return (target: any, k?: PropertyKey) => {\r\n setPropertyState(target, k, (state) => {\r\n if (!state.interceptors)\r\n state.interceptors = new Set([...(getState(target, k)?.interceptors || [])])\r\n\r\n interceptors.forEach((interceptor) => {\r\n if (state.interceptors.has(interceptor))\r\n state.interceptors.delete(interceptor)\r\n\r\n state.interceptors.add(interceptor)\r\n })\r\n })\r\n }\r\n}\r\nexport function Filter(filter: string) {\r\n return (target: any, k?: PropertyKey) => {\r\n setPropertyState(target, k, state => state.filter = filter)\r\n }\r\n}\r\nexport function Pipe(pipe?: string) {\r\n return (target: any, k?: any, index?: any) => {\r\n if (typeof index === 'number') {\r\n BaseParam({ pipe })(target, k, index)\r\n\r\n return\r\n }\r\n setPropertyState(target, k, state => state.pipe = pipe)\r\n }\r\n}\r\n","import { getState, setPropertyState } from 'phecda-core'\r\nimport { mergeObject } from './helper'\r\n\r\nexport function Route(route: string, type: string): MethodDecorator {\r\n return (target: any, k: PropertyKey) => {\r\n setPropertyState(target, k, (state) => {\r\n state.http = mergeObject((state.http || getState(target, k)?.http),\r\n {\r\n route,\r\n type,\r\n })\r\n })\r\n }\r\n}\r\nexport function Header(headers: Record<string, string>): MethodDecorator {\r\n return (target: any, k: PropertyKey) => {\r\n setPropertyState(target, k, (state) => {\r\n if (!state.http)\r\n state.http = mergeObject(getState(target, k)?.http)\r\n\r\n state.http = mergeObject(state.http, {\r\n headers: mergeObject(state.http?.headers, headers),\r\n\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 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 setPropertyState(target, undefined, (state) => {\r\n state.controller = 'http'\r\n state.http = mergeObject(state.http || getState(target)?.http, { prefix })\r\n })\r\n }\r\n}\r\n","import { getState, setPropertyState } from 'phecda-core'\r\nimport { mergeObject } from './helper'\r\n\r\nexport function Event(isEvent = true) {\r\n return (target: any, k?: PropertyKey) => {\r\n setPropertyState(target, k, (state) => {\r\n state.rpc = mergeObject(state.rpc || getState(target, k)?.rpc, { isEvent })\r\n })\r\n }\r\n}\r\nexport function Queue(queue = '') {\r\n return (target: any, k?: PropertyKey) => {\r\n setPropertyState(target, k, (state) => {\r\n state.rpc = mergeObject(state.rpc || getState(target, k)?.rpc, { queue })\r\n })\r\n }\r\n}\r\n\r\nexport function Rpc(): ClassDecorator {\r\n return (target: any) => {\r\n setPropertyState(target, undefined, (state) => {\r\n state.controller = 'rpc'\r\n })\r\n }\r\n}\r\n","import { Empty, getState, set, setPropertyState } from 'phecda-core'\r\nimport { mergeObject, shallowClone } from './helper'\r\n\r\nexport function Injectable() {\r\n return (target: any) => Empty(target)\r\n}\r\n\r\nexport const Ctx: PropertyDecorator = (target: any, key: PropertyKey) => {\r\n set(target, 'context', key)\r\n}\r\n\r\nexport function Define(key: string, value: any): any {\r\n return (target: any, k?: any, index?: number) => {\r\n if (typeof index === 'number') {\r\n setPropertyState(target, k, (state) => {\r\n const parentState = getState(target, k)?.params || []\r\n\r\n if (!state.params)\r\n state.params = [...parentState].map(shallowClone)\r\n const existItem = state.params.find((item: any) => item.index === index)\r\n if (existItem)\r\n existItem.define = mergeObject(existItem.define, { [key]: value })\r\n\r\n else\r\n state.params.push({ define: { [key]: value }, index })\r\n })\r\n return\r\n }\r\n setPropertyState(target, k, (state) => {\r\n const parentState = getState(target, k)?.define\r\n if (!state.define)\r\n state.define = mergeObject(parentState)\r\n\r\n state.define[key] = value\r\n })\r\n }\r\n}\r\n\r\nexport * from './param'\r\nexport * from './aop'\r\nexport * from './http'\r\nexport * from './rpc'\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/exception/base.ts","../src/exception/validate.ts","../src/pipe.ts","../src/exception/undefine.ts","../src/exception/forbidden.ts","../src/exception/bad-request.ts","../src/exception/not-found.ts","../src/exception/conflict.ts","../src/exception/bad-gateway.ts","../src/exception/invalid-input.ts","../src/exception/media-type.ts","../src/exception/payload-large.ts","../src/exception/timeout.ts","../src/exception/unauthorized.ts","../src/exception/unavailable-service.ts","../src/exception/framework.ts","../src/exception/timer.ts","../src/exception/worker.ts","../src/hmr.ts","../src/server/helper.ts","../src/rpc/helper.ts","../src/decorators/helper.ts","../src/helper.ts","../src/context.ts","../src/filter.ts"],"names":["Exception","Error","message","status","description","constructor","data","ERROR_SYMBOL","ValidateException","isPhecda","plainToClass","transformInstance","defaultPipe","arg","reflect","index","instance","err","length","undefined","Number","Boolean","includes","Object","is","NaN","UndefinedException","ForbiddenException","BadRequestException","NotFoundException","ConflictException","BadGatewayException","InvalidInputException","UnsupportedMediaTypeException","PayloadLargeException","TimeoutException","UnauthorizedException","ServiceUnavailableException","FrameworkException","TimerException","WorkerException","HMR","cb","IS_HMR","globalThis","__PS_HMR__","push","resolveDep","ret","key","argToReq","params","args","headers","req","body","query","forEach","param","type","hostname","genClientQueue","process","pid","shallowClone","obj","mergeObject","assign","mergeArray","filter","item","flat","pc","Debug","defaultFilter","e","log","LOG_LEVEL","console","error","stack","name","debug","Context","method","postInterceptors","_context","run","opts","successCb","failCb","meta","moduleMap","globalGuards","globalFilter","globalInterceptors","globalPipe","paramsType","guards","interceptors","tag","func","ctx","useGuard","i1","useInterceptor","usePipe","map","pipe","get","returnData","i2","usePostInterceptor","useFilter","Promise","all","pipeRecord","IS_STRICT","default","filterRecord","guard","Set","guardRecord","interceptor","interceptorRecord","interceptRet","usePlugin","plugins","framework","m","pluginRecord","plugin","addPlugin","handler","String","addPipe","addFilter","addGuard","addInterceptor","createControllerMetaMap","metaMap","Map","handleMeta","clear","has","set","detectAopDep","controller","pluginSet","guardSet","interceptorSet","pipeSet","filterSet","warningSet","add","i","missPlugins","missGuards","missInterceptors","missPipes","missFilters","white","join","magenta","cyan","blue","red","warn"],"mappings":"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","sourcesContent":["import { ERROR_SYMBOL } from '../common'\r\n\r\nexport class Exception extends Error {\r\n constructor(public message: string, public status = 0, public description = 'Exception') {\r\n super(message)\r\n }\r\n\r\n get data() {\r\n return { message: this.message, description: this.description, status: this.status, [ERROR_SYMBOL]: true }\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class ValidateException extends Exception {\r\n constructor(message: string) {\r\n super(message, 400, 'Validate exception')\r\n }\r\n}\r\n","import { isPhecda, plainToClass, transformInstance } from 'phecda-core'\r\nimport { ValidateException } from './exception/validate'\r\n\r\nimport type { PipeType } from './context'\r\n\r\nexport const defaultPipe: PipeType = ({ arg, reflect, index }) => {\r\n if (isPhecda(reflect)) {\r\n const instance = plainToClass(reflect, arg)\r\n const err = transformInstance(instance)\r\n if (err.length > 0)\r\n throw new ValidateException(err[0])\r\n\r\n arg = instance\r\n }\r\n else {\r\n if (arg === undefined && !reflect)\r\n return undefined\r\n\r\n if ([Number, Boolean].includes(reflect)) {\r\n arg = reflect(arg)\r\n\r\n if (reflect === Number && Object.is(arg, NaN))\r\n throw new ValidateException(`parameter ${Number(index) + 1} should be a number`)\r\n }\r\n }\r\n return arg\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class UndefinedException extends Exception {\r\n constructor(message: string) {\r\n super(message, 500, 'Undefined error')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class ForbiddenException extends Exception {\r\n constructor(message: string) {\r\n super(message, 403, 'Forbidden resource')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class BadRequestException extends Exception {\r\n constructor(message: string) {\r\n super(message, 400, 'Bad Request')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class NotFoundException extends Exception {\r\n constructor(message: string) {\r\n super(message, 404, 'Not Found')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class ConflictException extends Exception {\r\n constructor(message: string) {\r\n super(message, 409, 'Conflict')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class BadGatewayException extends Exception {\r\n constructor(message: string) {\r\n super(message, 502, 'Bad Gatrway')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class InvalidInputException extends Exception {\r\n constructor(message: string) {\r\n super(message, 502, 'Invalid Input')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class UnsupportedMediaTypeException extends Exception {\r\n constructor(message: string) {\r\n super(message, 415, 'Unsupported Media Type')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class PayloadLargeException extends Exception {\r\n constructor(message: string) {\r\n super(message, 413, 'Payload Too Large')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class TimeoutException extends Exception {\r\n constructor(message: string) {\r\n super(message, 408, 'Request Timeout',\r\n )\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class UnauthorizedException extends Exception {\r\n constructor(message: string) {\r\n super(message, 401, 'Unauthorized')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class ServiceUnavailableException extends Exception {\r\n constructor(message: string) {\r\n super(message, 503, 'Service Unavailable')\r\n }\r\n}\r\n","import { Exception } from './base'\r\n\r\nexport class FrameworkException extends Exception {\r\n constructor(message: string) {\r\n super(`[phecda-server] ${message}`, 500, 'Framework Error')\r\n }\r\n}\r\n","import { Exception } from './base'\r\nexport class TimerException extends Exception {\r\n constructor(message: string) {\r\n super(message, 0, 'Timer Error')\r\n }\r\n}\r\n","import { Exception } from './base'\r\nexport class WorkerException extends Exception {\r\n constructor(message: string) {\r\n super(message, 0, 'Worker Error')\r\n }\r\n}\r\n","import { IS_HMR } from './common'\r\nexport function HMR(cb: (...args: any) => any) {\r\n if (IS_HMR)\r\n globalThis.__PS_HMR__?.push(cb)\r\n}\r\n","import { IncomingHttpHeaders } from 'node:http'\r\nimport { BaseContext, DefaultOptions } from '../types'\r\nimport type { ControllerMetaData } from '../meta'\r\n\r\nexport function resolveDep(ret: any, key: string) {\r\n if (key)\r\n return ret?.[key]\r\n return ret\r\n}\r\n\r\nexport interface HttpOptions extends DefaultOptions {\r\n\r\n /**\r\n * 专用路由的值,默认为/__PHECDA_SERVER__,处理phecda-client发出的合并请求\r\n */\r\n parallelRoute?: string | false\r\n\r\n /**\r\n * 专用路由的插件(work for merge request),\r\n */\r\n parallelPlugins?: string[]\r\n\r\n /**\r\n * only work for http server\r\n */\r\n globalPlugins?: string[]\r\n\r\n}\r\n\r\nexport interface HttpContext extends BaseContext {\r\n parallel?: true\r\n index?: number\r\n query: Record<string, any>\r\n params: Record<string, string>\r\n body: Record<string, any>\r\n headers: IncomingHttpHeaders\r\n // redirect:(url:string)=>void\r\n\r\n}\r\nexport function argToReq(params: ControllerMetaData['params'], args: any[], headers: Record<string, any>) {\r\n const req = {\r\n body: {},\r\n query: {},\r\n params: {},\r\n headers,\r\n } as any\r\n\r\n params.forEach((param) => {\r\n if (param.key)\r\n req[param.type][param.key] = args[param.index]\r\n\r\n else\r\n req[param.type] = args[param.index]\r\n })\r\n\r\n return req\r\n}\r\n","import { hostname } from 'os'\r\nimport { BaseContext, DefaultOptions } from '../types'\r\n\r\nexport function genClientQueue(key?: string) {\r\n return `PS-${key ? `${key}-` : ''}${hostname()}-${process.pid}`\r\n}\r\n\r\nexport interface RpcServerOptions extends DefaultOptions {\r\n\r\n}\r\n\r\nexport interface RpcClientOptions {\r\n // add to clientQueue\r\n key?: string\r\n timeout?: number\r\n max?: number\r\n}\r\nexport interface RpcContext extends BaseContext {\r\n args: any[]\r\n id: string\r\n queue: string\r\n isEvent?: boolean\r\n}\r\n","export function shallowClone(obj: any) {\r\n return { ...obj }\r\n}\r\nexport function mergeObject(...args: any[]) {\r\n return Object.assign({}, ...args)\r\n}\r\nexport function mergeArray(...args: any[]) {\r\n return args.filter(item => !!item).flat()\r\n}\r\n","import pc from 'picocolors'\r\nimport { log } from './utils'\r\nimport { Context } from './context'\r\nimport { HMR } from './hmr'\r\nimport { ControllerMeta, Meta } from './meta'\r\n\r\n// help you build your custom framework or decorator\r\nexport * from './hmr'\r\nexport * from './server/helper'\r\nexport * from './rpc/helper'\r\nexport * from './decorators/helper'\r\n\r\nexport function createControllerMetaMap(meta: Meta[], filter: (meta: Meta) => boolean | void) {\r\n const metaMap = new Map<string, Record<string, ControllerMeta>>()\r\n\r\n function handleMeta() {\r\n metaMap.clear()\r\n for (const item of meta) {\r\n const { tag, func } = item.data\r\n if (!filter(item))\r\n continue\r\n\r\n if (metaMap.has(tag))\r\n metaMap.get(tag)![func] = item as ControllerMeta\r\n\r\n else\r\n metaMap.set(tag, { [func]: item as ControllerMeta })\r\n }\r\n }\r\n\r\n handleMeta()\r\n HMR(handleMeta)\r\n\r\n return metaMap\r\n}\r\n\r\n// detect whether plugin/filter/pipe/guard/intercept is injected\r\nexport function detectAopDep(meta: Meta[], { guards, interceptors, plugins }: {\r\n guards?: string[]\r\n interceptors?: string[]\r\n plugins?: string[]\r\n\r\n} = {}, controller: string = 'http') {\r\n const pluginSet = new Set<string>()\r\n const guardSet = new Set<string>()\r\n const interceptorSet = new Set<string>()\r\n const pipeSet = new Set<string>()\r\n const filterSet = new Set<string>()\r\n const warningSet = new Set<string>()\r\n\r\n function handleMeta() {\r\n pluginSet.clear()\r\n guardSet.clear()\r\n interceptorSet.clear()\r\n pipeSet.clear()\r\n filterSet.clear()\r\n warningSet.clear()\r\n\r\n plugins?.forEach((item) => {\r\n pluginSet.add(item)\r\n })\r\n guards?.forEach((item) => {\r\n guardSet.add(item)\r\n })\r\n interceptors?.forEach((item) => {\r\n interceptorSet.add(item)\r\n });\r\n\r\n (meta as ControllerMeta[]).forEach(({ data }) => {\r\n if (data.controller !== controller) {\r\n if (data[controller])\r\n warningSet.add(`Module \"${data.tag === data.name ? data.name : `${data.name}(${data.tag})`}\" should use ${controller} controller to decorate class or remove ${controller} decorator on method \"${data.func}\"`)\r\n\r\n return\r\n }\r\n if (data.filter)\r\n filterSet.add(data.filter)\r\n\r\n data.interceptors.forEach(i => interceptorSet.add(i))\r\n data.guards.forEach(i => guardSet.add(i))\r\n data.plugins.forEach(i => pluginSet.add(i))\r\n data.params.forEach((i) => {\r\n if (i.pipe)\r\n pipeSet.add(i.pipe)\r\n })\r\n })\r\n const missPlugins = [...pluginSet].filter(i => !Context.pluginRecord[i])\r\n const missGuards = [...guardSet].filter(i => !Context.guardRecord[i])\r\n const missInterceptors = [...interceptorSet].filter(i => !Context.interceptorRecord[i])\r\n const missPipes = [...pipeSet].filter(i => !Context.pipeRecord[i])\r\n const missFilters = [...filterSet].filter(i => !Context.filterRecord[i])\r\n\r\n if (missPlugins.length)\r\n log(`${pc.white(`Plugin [${missPlugins.join(',')}]`)} doesn't exist`, 'warn')\r\n if (missGuards.length)\r\n log(`${pc.magenta(`Guard [${missGuards.join(',')}]`)} doesn't exist`, 'warn')\r\n\r\n if (missInterceptors.length)\r\n log(`${pc.cyan(`Interceptor [${missInterceptors.join(',')}]`)} doesn't exist`, 'warn')\r\n\r\n if (missPipes.length)\r\n log(`${pc.blue(`Pipe [${missPipes.join(',')}]`)} doesn't exist`, 'warn')\r\n\r\n if (missFilters.length)\r\n log(`${pc.red(`Filter [${missFilters.join(',')}]`)} doesn't exist`, 'warn')\r\n\r\n warningSet.forEach(warn => log(warn, 'warn'))\r\n }\r\n\r\n handleMeta()\r\n HMR(handleMeta)\r\n return {\r\n pluginSet,\r\n guardSet,\r\n interceptorSet,\r\n pipeSet,\r\n filterSet,\r\n }\r\n}\r\n","import Debug from 'debug'\r\nimport { defaultPipe } from './pipe'\r\nimport { ForbiddenException, FrameworkException } from './exception'\r\nimport { defaultFilter } from './filter'\r\nimport type { BaseContext, DefaultOptions } from './types'\r\nimport { IS_HMR, IS_STRICT } from './common'\r\nimport { log } from './utils'\r\nimport type { Exception } from './exception'\r\nimport { resolveDep } from './helper'\r\n\r\nconst debug = Debug('phecda-server(Context)')\r\n\r\nexport interface PipeArg { arg: any; pipe?: string; key: string; type: string; index: number; reflect: any; define: Record<string, any> }\r\nexport type GuardType<C extends BaseContext = any> = ((ctx: C) => Promise<boolean> | boolean)\r\nexport type InterceptorType<C extends BaseContext = any> = (ctx: C) => (any | ((ret: any) => any))\r\nexport type PipeType<C extends BaseContext = any> = (arg: PipeArg, ctx: C) => Promise<any>\r\nexport type FilterType<C extends BaseContext = any, E extends Exception = any> = (err: E | Error, ctx?: C) => Error | any\r\n\r\nexport class Context<Data extends BaseContext> {\r\n method: string\r\n params: string[]\r\n\r\n static filterRecord: Record<PropertyKey, FilterType> = {\r\n default: defaultFilter,\r\n }\r\n\r\n static pipeRecord: Record<PropertyKey, PipeType> = {\r\n default: defaultPipe,\r\n }\r\n\r\n static guardRecord: Record<PropertyKey, GuardType> = {}\r\n static interceptorRecord: Record<PropertyKey, InterceptorType> = {}\r\n\r\n static pluginRecord: Record<PropertyKey, (framework: string) => any> = {}\r\n private postInterceptors: Function[]\r\n\r\n constructor(public data: Data) {\r\n if (IS_HMR)\r\n // @ts-expect-error work for debug\r\n data._context = this\r\n }\r\n\r\n public async run<ReturnData = any, ReturnErr = any>(opts: DefaultOptions, successCb: (data: any) => ReturnData, failCb: (err: any) => ReturnErr) {\r\n const { meta, moduleMap } = this.data\r\n const { globalGuards = [], globalFilter, globalInterceptors = [], globalPipe } = opts\r\n const {\r\n paramsType,\r\n data: {\r\n guards, interceptors, params,\r\n tag, func, ctx, filter,\r\n\r\n },\r\n } = meta\r\n\r\n try {\r\n await this.useGuard([...globalGuards, ...guards])\r\n const i1 = await this.useInterceptor([...globalInterceptors, ...interceptors])\r\n if (i1 !== undefined)\r\n return successCb(i1)\r\n\r\n const args = await this.usePipe(params.map((param) => {\r\n return { arg: resolveDep(this.data[param.type], param.key), reflect: paramsType[param.index], ...param, pipe: param.pipe || globalPipe }\r\n }))\r\n const instance = moduleMap.get(tag)!\r\n if (ctx)\r\n instance[ctx] = this.data\r\n const returnData = await instance[func](...args)\r\n const i2 = await this.usePostInterceptor(returnData)\r\n if (i2 !== undefined)\r\n return successCb(i2)\r\n\r\n return successCb(returnData)\r\n }\r\n catch (e) {\r\n const err = await this.useFilter(e, filter || globalFilter)\r\n return failCb(err)\r\n }\r\n }\r\n\r\n private usePipe(args: PipeArg[]) {\r\n return Promise.all(args.map((item) => {\r\n if (item.pipe && !Context.pipeRecord[item.pipe]) {\r\n if (IS_STRICT) {\r\n throw new FrameworkException(`can't find pipe named '${item.pipe}'`)\r\n }\r\n\r\n else {\r\n debug(`Can't find pipe named \"${item.pipe}\" when handling the ${item.index + 1}th argument of the func \"${this.data.func}\" on module \"${this.data.tag}\",use default pipe instead`)\r\n\r\n return Context.pipeRecord.default(item, this.data)\r\n }\r\n }\r\n\r\n return Context.pipeRecord[item.pipe || 'default'](item, this.data)\r\n }))\r\n }\r\n\r\n private useFilter(arg: any, filter = 'default') {\r\n if (!Context.filterRecord[filter]) {\r\n if (IS_STRICT) {\r\n throw new FrameworkException(`can't find filter named \"${filter}\"`)\r\n }\r\n else {\r\n debug(`Can't find filter named \"${filter}\" when handling func \"${this.data.func}\" on module \"${this.data.tag}\",use default filter instead`)\r\n\r\n return Context.filterRecord.default(arg, this.data)\r\n }\r\n }\r\n\r\n return Context.filterRecord[filter](arg, this.data)\r\n }\r\n\r\n private async useGuard(guards: string[]) {\r\n for (const guard of new Set(guards)) {\r\n if (!(guard in Context.guardRecord)) {\r\n if (IS_STRICT)\r\n throw new FrameworkException(`Can't find guard named \"${guard}\"`)\r\n else debug(`Can't find guard named \"${guard}\" when handling func \"${this.data.func}\" on module \"${this.data.tag}\",skip it`)\r\n continue\r\n }\r\n if (!await Context.guardRecord[guard](this.data))\r\n throw new ForbiddenException(`Guard exception--[${guard}]`)\r\n }\r\n }\r\n\r\n private async usePostInterceptor(data: any) {\r\n for (const cb of this.postInterceptors) {\r\n const ret = await cb(data)\r\n if (ret !== undefined)\r\n return ret\r\n }\r\n }\r\n\r\n private async useInterceptor(interceptors: string[]) {\r\n const cb = []\r\n for (const interceptor of new Set(interceptors)) {\r\n if (!(interceptor in Context.interceptorRecord)) {\r\n if (IS_STRICT)\r\n throw new FrameworkException(`can't find interceptor named \"${interceptor}\"`)\r\n else debug(`Can't find interceptor named \"${interceptor}\" when handling func \"${this.data.func}\" on module \"${this.data.tag}\",skip it`)\r\n\r\n continue\r\n }\r\n const interceptRet = await Context.interceptorRecord[interceptor](this.data)\r\n if (interceptRet !== undefined) {\r\n if (typeof interceptRet === 'function')\r\n cb.push(interceptRet)\r\n\r\n else\r\n return interceptRet\r\n }\r\n }\r\n this.postInterceptors = cb\r\n }\r\n\r\n static usePlugin<Plugin>(plugins: string[], framework: string) {\r\n const ret: Plugin[] = []\r\n for (const m of new Set(plugins)) {\r\n if (!(m in Context.pluginRecord)) {\r\n if (IS_STRICT)\r\n throw new FrameworkException(`can't find middleware named '${m}'`)\r\n\r\n continue\r\n }\r\n const plugin = Context.pluginRecord[m](framework)\r\n plugin && ret.push(plugin)\r\n }\r\n return ret\r\n }\r\n}\r\n\r\nexport function addPlugin<T>(key: PropertyKey, handler: (framework: string) => T) {\r\n if (Context.pluginRecord[key] && Context.pluginRecord[key] !== handler)\r\n log(`overwrite Plugin \"${String(key)}\"`, 'warn')\r\n\r\n Context.pluginRecord[key] = handler\r\n}\r\n\r\nexport function addPipe<C extends BaseContext>(key: PropertyKey, handler: PipeType<C>) {\r\n if (Context.pipeRecord[key] && Context.pipeRecord[key] !== handler)\r\n log(`overwrite Pipe \"${String(key)}\"`, 'warn')\r\n Context.pipeRecord[key] = handler\r\n}\r\n\r\nexport function addFilter<C extends BaseContext>(key: PropertyKey, handler: FilterType<C>) {\r\n if (Context.filterRecord[key] && Context.filterRecord[key] !== handler)\r\n log(`overwrite Filter \"${String(key)}\"`, 'warn')\r\n Context.filterRecord[key] = handler\r\n}\r\n\r\nexport function addGuard<C extends BaseContext>(key: PropertyKey, handler: GuardType<C>) {\r\n if (Context.guardRecord[key] && Context.guardRecord[key] !== handler)\r\n log(`overwrite Guard \"${String(key)}\"`, 'warn')\r\n Context.guardRecord[key] = handler\r\n}\r\n\r\nexport function addInterceptor<C extends BaseContext>(key: PropertyKey, handler: InterceptorType<C>) {\r\n if (Context.interceptorRecord[key] && Context.interceptorRecord[key] !== handler)\r\n log(`overwrite Interceptor \"${String(key)}\"`, 'warn')\r\n Context.interceptorRecord[key] = handler\r\n}\r\n","import { LOG_LEVEL } from './common'\r\nimport { Exception, UndefinedException } from './exception'\r\nimport { log } from './utils'\r\nimport type { FilterType } from './context'\r\n\r\nexport const defaultFilter: FilterType = (e) => {\r\n if (!(e instanceof Exception)) {\r\n log(e.message, 'error')\r\n if (LOG_LEVEL <= 0)\r\n console.error(e.stack)\r\n\r\n e = new UndefinedException(e.message || e)\r\n }\r\n else {\r\n log(`[${e.constructor.name}] ${e.message}`, 'error')\r\n if (LOG_LEVEL <= 0)\r\n console.error(e.stack)\r\n }\r\n\r\n return e.data\r\n}\r\n"]}
|