phecda-server 4.0.4 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/{chunk-YU7ROHTO.js → chunk-7OB6K45T.js} +78 -66
  2. package/dist/chunk-7OB6K45T.js.map +1 -0
  3. package/dist/{chunk-LZAU5FUS.js → chunk-AAF47ZC6.js} +9 -3
  4. package/dist/chunk-AAF47ZC6.js.map +1 -0
  5. package/dist/{chunk-AJ2HYENF.mjs → chunk-AYJWOIAW.mjs} +10 -4
  6. package/dist/chunk-AYJWOIAW.mjs.map +1 -0
  7. package/dist/{chunk-Q6T7HNEO.mjs → chunk-GSJ5A2MA.mjs} +43 -31
  8. package/dist/chunk-GSJ5A2MA.mjs.map +1 -0
  9. package/dist/{chunk-JUXEUWOU.mjs → chunk-K32VRTXB.mjs} +32 -18
  10. package/dist/chunk-K32VRTXB.mjs.map +1 -0
  11. package/dist/{chunk-W64EUEDU.js → chunk-TZ27DHWL.js} +51 -37
  12. package/dist/chunk-TZ27DHWL.js.map +1 -0
  13. package/dist/{chunk-JQPX546Z.mjs → chunk-V7SC5EVJ.mjs} +2 -2
  14. package/dist/{chunk-FAHHXHL5.js → chunk-ZPMAM4LQ.js} +3 -3
  15. package/dist/{core-7c2dd0c7.d.ts → core-c27b4cf4.d.ts} +3 -2
  16. package/dist/index.d.ts +45 -26
  17. package/dist/index.js +119 -54
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +98 -33
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/rpc/rabbitmq/index.d.ts +2 -2
  22. package/dist/rpc/rabbitmq/index.js +19 -13
  23. package/dist/rpc/rabbitmq/index.js.map +1 -1
  24. package/dist/rpc/rabbitmq/index.mjs +13 -7
  25. package/dist/rpc/rabbitmq/index.mjs.map +1 -1
  26. package/dist/rpc/redis/index.d.ts +2 -2
  27. package/dist/rpc/redis/index.js +19 -13
  28. package/dist/rpc/redis/index.js.map +1 -1
  29. package/dist/rpc/redis/index.mjs +13 -7
  30. package/dist/rpc/redis/index.mjs.map +1 -1
  31. package/dist/server/express/index.d.ts +4 -3
  32. package/dist/server/express/index.js +37 -29
  33. package/dist/server/express/index.js.map +1 -1
  34. package/dist/server/express/index.mjs +19 -11
  35. package/dist/server/express/index.mjs.map +1 -1
  36. package/dist/server/fastify/index.d.ts +3 -2
  37. package/dist/server/fastify/index.js +33 -25
  38. package/dist/server/fastify/index.js.map +1 -1
  39. package/dist/server/fastify/index.mjs +18 -10
  40. package/dist/server/fastify/index.mjs.map +1 -1
  41. package/dist/server/h3/index.d.ts +6 -5
  42. package/dist/server/h3/index.js +34 -28
  43. package/dist/server/h3/index.js.map +1 -1
  44. package/dist/server/h3/index.mjs +16 -10
  45. package/dist/server/h3/index.mjs.map +1 -1
  46. package/dist/server/koa/index.d.ts +3 -2
  47. package/dist/server/koa/index.js +36 -28
  48. package/dist/server/koa/index.js.map +1 -1
  49. package/dist/server/koa/index.mjs +18 -10
  50. package/dist/server/koa/index.mjs.map +1 -1
  51. package/dist/test.d.ts +1 -1
  52. package/dist/test.js +6 -6
  53. package/dist/test.mjs +2 -2
  54. package/dist/{types-ead02c5d.d.ts → types-8415bd5d.d.ts} +16 -17
  55. package/package.json +1 -1
  56. package/register/compile.mjs +3 -7
  57. package/register/loader.mjs +0 -1
  58. package/dist/chunk-AJ2HYENF.mjs.map +0 -1
  59. package/dist/chunk-JUXEUWOU.mjs.map +0 -1
  60. package/dist/chunk-LZAU5FUS.js.map +0 -1
  61. package/dist/chunk-Q6T7HNEO.mjs.map +0 -1
  62. package/dist/chunk-W64EUEDU.js.map +0 -1
  63. package/dist/chunk-YU7ROHTO.js.map +0 -1
  64. /package/dist/{chunk-JQPX546Z.mjs.map → chunk-V7SC5EVJ.mjs.map} +0 -0
  65. /package/dist/{chunk-FAHHXHL5.js.map → chunk-ZPMAM4LQ.js.map} +0 -0
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { E as Exception, P, a as Emitter } from './types-ead02c5d.js';
2
- export { B as BaseError, C as Construct, M as MergeType, R as RequestType, S as ServerErr, T as ToInstance } from './types-ead02c5d.js';
3
- import { M as Meta } from './core-7c2dd0c7.js';
4
- export { F as Factory, I as Injectable, e as emitter } from './core-7c2dd0c7.js';
1
+ import { E as Exception, P, a as Emitter, U as UNMOUNT_SYMBOL } from './types-8415bd5d.js';
2
+ export { A as APP_SYMBOL, C as Construct, e as ERROR_SYMBOL, I as IS_DEV, d as IS_STRICT, M as MERGE_SYMBOL, c as META_SYMBOL, b as MODULE_SYMBOL, R as RequestType, T as ToInstance } from './types-8415bd5d.js';
3
+ import { M as Meta } from './core-c27b4cf4.js';
4
+ export { F as Factory, I as Injectable, e as emitter } from './core-c27b4cf4.js';
5
5
  export * from 'phecda-core';
6
6
 
7
7
  declare class Histroy {
@@ -73,7 +73,7 @@ declare class Context<Data = any> {
73
73
  method: string;
74
74
  params: string[];
75
75
  history: Histroy;
76
- static filter: P.Filter;
76
+ static filterRecord: Record<string, P.Filter>;
77
77
  static pipeRecord: Record<string, P.Pipe>;
78
78
  static guardRecord: Record<string, P.Guard>;
79
79
  static interceptorRecord: Record<string, P.Interceptor>;
@@ -89,7 +89,7 @@ declare class Context<Data = any> {
89
89
  index: number;
90
90
  reflect: any;
91
91
  }[]): Promise<any[]>;
92
- useFilter(arg: any): any;
92
+ useFilter(arg: any, filter?: string): P.Error;
93
93
  useGuard(guards: string[]): Promise<void>;
94
94
  usePostInterceptor(ret: any): Promise<any>;
95
95
  useInterceptor(interceptors: string[]): Promise<any>;
@@ -97,7 +97,7 @@ declare class Context<Data = any> {
97
97
  }
98
98
  declare function addPlugin<C>(key: string, handler: C): void;
99
99
  declare function addPipe(key: string, pipe: P.Pipe): void;
100
- declare function setFilter(filter: P.Filter): void;
100
+ declare function addFilter(key: string, handler: P.Filter): void;
101
101
  declare function addGuard(key: string, handler: P.Guard): void;
102
102
  declare function addInterceptor(key: string, handler: P.Interceptor): void;
103
103
  declare function isAopDepInject(meta: Meta[], { guards, interceptors, plugins }?: {
@@ -127,6 +127,7 @@ declare function Event(isEvent?: boolean): (target: any, key?: PropertyKey) => v
127
127
  declare function Guard(...guards: string[]): any;
128
128
  declare function Plugin(...plugins: string[]): any;
129
129
  declare function Interceptor(...interceptors: string[]): any;
130
+ declare function Filter(filter: string): any;
130
131
 
131
132
  declare function Header(name: string, value: string): (target: any, k: PropertyKey) => void;
132
133
  declare function Define(key: string, value: any): (target: any, k?: PropertyKey) => void;
@@ -135,54 +136,72 @@ declare const defaultPipe: P.Pipe;
135
136
 
136
137
  declare function resolveDep(ret: any, key: string): any;
137
138
 
138
- declare const MERGE_SYMBOL = "__PS_MERGE__";
139
- declare const UNMOUNT_SYMBOL = "__PS_UNMOUNT__";
140
- declare const MODULE_SYMBOL = "__PS_MODULE__";
141
- declare const META_SYMBOL = "__PS_META__";
142
- declare const APP_SYMBOL = "__PS__";
143
- declare const IS_DEV: boolean;
144
- declare const IS_STRICT: boolean;
145
-
146
139
  declare class Dev {
147
140
  protected readonly emitter: Emitter;
148
141
  private readonly [UNMOUNT_SYMBOL];
149
142
  onUnmount(cb: () => void): void;
150
143
  }
151
144
 
152
- declare abstract class PFilter<C = any, S = any, E extends Exception = Exception> extends Dev {
153
- constructor();
154
- abstract use(error: Error | E, tag?: string, ctx?: C): S;
145
+ declare abstract class PFilter<C = any, E extends Exception = Exception> extends Dev {
146
+ readonly key: string;
147
+ constructor(tag?: string);
148
+ abstract use(error: Error | E, tag?: string, ctx?: C): P.Error;
155
149
  }
156
150
 
157
151
  declare abstract class PGuard<C = any> extends Dev {
158
152
  abstract use(tag: string, ctx: C): Promise<boolean> | boolean;
159
- constructor();
153
+ readonly key: string;
154
+ constructor(tag?: string);
160
155
  }
161
156
 
162
157
  declare abstract class PInterceptor<C = any> extends Dev {
163
- abstract use(tag: string, ctx: C): ((arg: any) => any) | void;
164
- constructor();
158
+ abstract use(tag: string, ctx: C): Function | Promise<Function> | any;
159
+ readonly key: string;
160
+ constructor(tag?: string);
165
161
  }
166
162
 
167
163
  declare abstract class PPipe<C = any> extends Dev {
168
- constructor();
169
- abstract use(args: {
164
+ readonly key: string;
165
+ constructor(tag?: string);
166
+ abstract use(param: {
170
167
  arg: any;
171
168
  option?: any;
172
169
  key: string;
173
170
  type: string;
174
171
  index: number;
175
172
  reflect: any;
176
- }, tag: string, ctx: C): Promise<any>;
173
+ }, tag: string, ctx: C): any;
177
174
  }
178
175
 
179
176
  declare abstract class PPlugin extends Dev {
180
- constructor();
177
+ readonly key: string;
178
+ constructor(tag?: string);
181
179
  abstract use(...args: any): void;
182
180
  }
183
181
 
182
+ interface PModule<C = any> {
183
+ intercept(tag: string, ctx: C): Function | Promise<Function> | any;
184
+ guard(tag: string, ctx: C): Promise<boolean> | boolean;
185
+ pipe(param: {
186
+ arg: any;
187
+ option?: any;
188
+ key: string;
189
+ type: string;
190
+ index: number;
191
+ reflect: any;
192
+ }, tag: string, ctx: C): any;
193
+ filter<E extends Exception = Exception>(error: Error | E, tag?: string, ctx?: C): P.Error;
194
+ plugin(...args: any): void;
195
+ }
196
+ declare class PModule extends Dev {
197
+ readonly key: string;
198
+ constructor(tag?: string);
199
+ }
200
+
184
201
  declare function generateRPCCode(meta: P.Meta[]): string;
185
202
 
186
203
  declare function generateHTTPCode(meta: P.Meta[]): string;
187
204
 
188
- export { APP_SYMBOL, Arg, BadGatewayException, BadRequestException, BaseParam, Body, ConflictException, Context, Controller, Define, Delete, Dev, Emitter, Event, Exception, ForbiddenException, FrameworkException, Get, Guard, Head, Header, IS_DEV, IS_STRICT, Interceptor, InvalidInputException, MERGE_SYMBOL, META_SYMBOL, MODULE_SYMBOL, Meta, NotFoundException, P, PFilter, PGuard, PInterceptor, PPipe, PPlugin, Param, Patch, PayloadLargeException, Pipe, Plugin, Post, Put, Query, Route, Rpc, ServiceUnavailableException, TimeoutException, UNMOUNT_SYMBOL, UnauthorizedException, UndefinedException, UnsupportedMediaTypeException, ValidateException, addGuard, addInterceptor, addPipe, addPlugin, defaultPipe, generateHTTPCode, generateRPCCode, guardRecord, isAopDepInject, resolveDep, setFilter };
205
+ declare function log(msg: string, level?: 'error' | 'info' | 'warn'): void;
206
+
207
+ export { Arg, BadGatewayException, BadRequestException, BaseParam, Body, ConflictException, Context, Controller, Define, Delete, Dev, Emitter, Event, Exception, Filter, ForbiddenException, FrameworkException, Get, Guard, Head, Header, Interceptor, InvalidInputException, Meta, NotFoundException, P, PFilter, PGuard, PInterceptor, PModule, PPipe, PPlugin, Param, Patch, PayloadLargeException, Pipe, Plugin, Post, Put, Query, Route, Rpc, ServiceUnavailableException, TimeoutException, UNMOUNT_SYMBOL, UnauthorizedException, UndefinedException, UnsupportedMediaTypeException, ValidateException, addFilter, addGuard, addInterceptor, addPipe, addPlugin, defaultPipe, generateHTTPCode, generateRPCCode, guardRecord, isAopDepInject, log, resolveDep };
package/dist/index.js CHANGED
@@ -5,10 +5,10 @@
5
5
 
6
6
 
7
7
 
8
- var _chunkW64EUEDUjs = require('./chunk-W64EUEDU.js');
8
+ var _chunkTZ27DHWLjs = require('./chunk-TZ27DHWL.js');
9
9
 
10
10
 
11
- var _chunkFAHHXHL5js = require('./chunk-FAHHXHL5.js');
11
+ var _chunkZPMAM4LQjs = require('./chunk-ZPMAM4LQ.js');
12
12
 
13
13
 
14
14
 
@@ -34,8 +34,8 @@ var _chunkFAHHXHL5js = require('./chunk-FAHHXHL5.js');
34
34
 
35
35
 
36
36
 
37
+ var _chunk7OB6K45Tjs = require('./chunk-7OB6K45T.js');
37
38
 
38
- var _chunkYU7ROHTOjs = require('./chunk-YU7ROHTO.js');
39
39
 
40
40
 
41
41
 
@@ -45,7 +45,8 @@ var _chunkYU7ROHTOjs = require('./chunk-YU7ROHTO.js');
45
45
 
46
46
 
47
47
 
48
- var _chunkLZAU5FUSjs = require('./chunk-LZAU5FUS.js');
48
+
49
+ var _chunkAAF47ZC6js = require('./chunk-AAF47ZC6.js');
49
50
 
50
51
  // src/decorators/index.ts
51
52
  var _phecdacore = require('phecda-core'); _createStarExport(_phecdacore);
@@ -73,7 +74,7 @@ function BaseParam(type, key) {
73
74
  _phecdacore.setState.call(void 0, target, k, state);
74
75
  };
75
76
  }
76
- _chunkLZAU5FUSjs.__name.call(void 0, BaseParam, "BaseParam");
77
+ _chunkAAF47ZC6js.__name.call(void 0, BaseParam, "BaseParam");
77
78
  function Pipe(key, opts) {
78
79
  return (target, k, index) => {
79
80
  _phecdacore.setModelVar.call(void 0, target, k);
@@ -95,27 +96,27 @@ function Pipe(key, opts) {
95
96
  _phecdacore.setState.call(void 0, target, k, state);
96
97
  };
97
98
  }
98
- _chunkLZAU5FUSjs.__name.call(void 0, Pipe, "Pipe");
99
+ _chunkAAF47ZC6js.__name.call(void 0, Pipe, "Pipe");
99
100
  function Body(key = "") {
100
101
  return BaseParam("body", key);
101
102
  }
102
- _chunkLZAU5FUSjs.__name.call(void 0, Body, "Body");
103
+ _chunkAAF47ZC6js.__name.call(void 0, Body, "Body");
103
104
  function Head(key) {
104
105
  return BaseParam("headers", key.toLowerCase());
105
106
  }
106
- _chunkLZAU5FUSjs.__name.call(void 0, Head, "Head");
107
+ _chunkAAF47ZC6js.__name.call(void 0, Head, "Head");
107
108
  function Query(key = "") {
108
109
  return BaseParam("query", key);
109
110
  }
110
- _chunkLZAU5FUSjs.__name.call(void 0, Query, "Query");
111
+ _chunkAAF47ZC6js.__name.call(void 0, Query, "Query");
111
112
  function Param(key) {
112
113
  return BaseParam("params", key);
113
114
  }
114
- _chunkLZAU5FUSjs.__name.call(void 0, Param, "Param");
115
+ _chunkAAF47ZC6js.__name.call(void 0, Param, "Param");
115
116
  function Arg() {
116
117
  return BaseParam("params", "");
117
118
  }
118
- _chunkLZAU5FUSjs.__name.call(void 0, Arg, "Arg");
119
+ _chunkAAF47ZC6js.__name.call(void 0, Arg, "Arg");
119
120
 
120
121
  // src/decorators/route.ts
121
122
 
@@ -133,31 +134,31 @@ function Route(route, type) {
133
134
  _phecdacore.setState.call(void 0, target, key, state);
134
135
  };
135
136
  }
136
- _chunkLZAU5FUSjs.__name.call(void 0, Route, "Route");
137
+ _chunkAAF47ZC6js.__name.call(void 0, Route, "Route");
137
138
  function Get(route) {
138
139
  return Route(route, "get");
139
140
  }
140
- _chunkLZAU5FUSjs.__name.call(void 0, Get, "Get");
141
+ _chunkAAF47ZC6js.__name.call(void 0, Get, "Get");
141
142
  function Post(route) {
142
143
  return Route(route, "post");
143
144
  }
144
- _chunkLZAU5FUSjs.__name.call(void 0, Post, "Post");
145
+ _chunkAAF47ZC6js.__name.call(void 0, Post, "Post");
145
146
  function Put(route) {
146
147
  return Route(route, "put");
147
148
  }
148
- _chunkLZAU5FUSjs.__name.call(void 0, Put, "Put");
149
+ _chunkAAF47ZC6js.__name.call(void 0, Put, "Put");
149
150
  function Patch(route) {
150
151
  return Route(route, "patch");
151
152
  }
152
- _chunkLZAU5FUSjs.__name.call(void 0, Patch, "Patch");
153
+ _chunkAAF47ZC6js.__name.call(void 0, Patch, "Patch");
153
154
  function Delete(route) {
154
155
  return Route(route, "delete");
155
156
  }
156
- _chunkLZAU5FUSjs.__name.call(void 0, Delete, "Delete");
157
+ _chunkAAF47ZC6js.__name.call(void 0, Delete, "Delete");
157
158
  function Controller(route = "") {
158
159
  return Route(route);
159
160
  }
160
- _chunkLZAU5FUSjs.__name.call(void 0, Controller, "Controller");
161
+ _chunkAAF47ZC6js.__name.call(void 0, Controller, "Controller");
161
162
  function Rpc(...types) {
162
163
  return (target, key) => {
163
164
  if (!key)
@@ -171,7 +172,7 @@ function Rpc(...types) {
171
172
  _phecdacore.setState.call(void 0, target, key, state);
172
173
  };
173
174
  }
174
- _chunkLZAU5FUSjs.__name.call(void 0, Rpc, "Rpc");
175
+ _chunkAAF47ZC6js.__name.call(void 0, Rpc, "Rpc");
175
176
  function Event(isEvent = true) {
176
177
  return (target, key) => {
177
178
  if (!key)
@@ -185,7 +186,7 @@ function Event(isEvent = true) {
185
186
  _phecdacore.setState.call(void 0, target, key, state);
186
187
  };
187
188
  }
188
- _chunkLZAU5FUSjs.__name.call(void 0, Event, "Event");
189
+ _chunkAAF47ZC6js.__name.call(void 0, Event, "Event");
189
190
 
190
191
  // src/decorators/aop.ts
191
192
 
@@ -202,7 +203,7 @@ function Guard(...guards) {
202
203
  _phecdacore.setState.call(void 0, target, key, state);
203
204
  };
204
205
  }
205
- _chunkLZAU5FUSjs.__name.call(void 0, Guard, "Guard");
206
+ _chunkAAF47ZC6js.__name.call(void 0, Guard, "Guard");
206
207
  function Plugin(...plugins) {
207
208
  return (target, key) => {
208
209
  if (!key)
@@ -216,7 +217,7 @@ function Plugin(...plugins) {
216
217
  _phecdacore.setState.call(void 0, target, key, state);
217
218
  };
218
219
  }
219
- _chunkLZAU5FUSjs.__name.call(void 0, Plugin, "Plugin");
220
+ _chunkAAF47ZC6js.__name.call(void 0, Plugin, "Plugin");
220
221
  function Interceptor(...interceptors) {
221
222
  return (target, key) => {
222
223
  if (!key)
@@ -230,7 +231,19 @@ function Interceptor(...interceptors) {
230
231
  _phecdacore.setState.call(void 0, target, key, state);
231
232
  };
232
233
  }
233
- _chunkLZAU5FUSjs.__name.call(void 0, Interceptor, "Interceptor");
234
+ _chunkAAF47ZC6js.__name.call(void 0, Interceptor, "Interceptor");
235
+ function Filter(filter) {
236
+ return (target, key) => {
237
+ if (!key)
238
+ key = "__CLASS";
239
+ target = key === "__CLASS" ? target.prototype : target;
240
+ _phecdacore.setModelVar.call(void 0, target, key);
241
+ const state = target._namespace.__STATE_NAMESPACE__.get(key) || {};
242
+ state.filter = filter;
243
+ _phecdacore.setState.call(void 0, target, key, state);
244
+ };
245
+ }
246
+ _chunkAAF47ZC6js.__name.call(void 0, Filter, "Filter");
234
247
 
235
248
  // src/decorators/index.ts
236
249
  function Header(name, value) {
@@ -243,7 +256,7 @@ function Header(name, value) {
243
256
  _phecdacore.setState.call(void 0, target, k, state);
244
257
  };
245
258
  }
246
- _chunkLZAU5FUSjs.__name.call(void 0, Header, "Header");
259
+ _chunkAAF47ZC6js.__name.call(void 0, Header, "Header");
247
260
  function Define(key, value) {
248
261
  return (target, k) => {
249
262
  if (!k) {
@@ -258,7 +271,7 @@ function Define(key, value) {
258
271
  _phecdacore.setState.call(void 0, target, k, state);
259
272
  };
260
273
  }
261
- _chunkLZAU5FUSjs.__name.call(void 0, Define, "Define");
274
+ _chunkAAF47ZC6js.__name.call(void 0, Define, "Define");
262
275
 
263
276
  // src/index.ts
264
277
 
@@ -275,11 +288,11 @@ var __decorate = function(decorators, target, key, desc) {
275
288
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
276
289
  return c > 3 && r && Object.defineProperty(target, key, r), r;
277
290
  };
278
- var Dev = /* @__PURE__ */ _chunkLZAU5FUSjs.__name.call(void 0, (_class =class Dev2 {constructor() { _class.prototype.__init.call(this);_class.prototype.__init2.call(this); }
279
- __init() {this.emitter = exports.emitter = _chunkW64EUEDUjs.emitter}
280
- __init2() {this[_chunkLZAU5FUSjs.UNMOUNT_SYMBOL] = []}
291
+ var Dev = /* @__PURE__ */ _chunkAAF47ZC6js.__name.call(void 0, (_class =class Dev2 {constructor() { _class.prototype.__init.call(this);_class.prototype.__init2.call(this); }
292
+ __init() {this.emitter = exports.emitter = _chunkTZ27DHWLjs.emitter}
293
+ __init2() {this[_chunkAAF47ZC6js.UNMOUNT_SYMBOL] = []}
281
294
  onUnmount(cb) {
282
- this[_chunkLZAU5FUSjs.UNMOUNT_SYMBOL].push(cb);
295
+ this[_chunkAAF47ZC6js.UNMOUNT_SYMBOL].push(cb);
283
296
  }
284
297
  }, _class), "Dev");
285
298
  Dev = exports.Dev = __decorate([
@@ -287,72 +300,124 @@ Dev = exports.Dev = __decorate([
287
300
  ], Dev);
288
301
 
289
302
  // src/modules/filter.ts
303
+
290
304
  var PFilter = class extends Dev {
291
- constructor() {
305
+
306
+ constructor(tag) {
292
307
  super();
293
- _chunkYU7ROHTOjs.setFilter.call(void 0, this.use.bind(this));
308
+ this.key = tag || _phecdacore.getSymbol.call(void 0, this);
309
+ _chunk7OB6K45Tjs.addFilter.call(void 0, this.key, this.use.bind(this));
294
310
  this.onUnmount(() => {
295
- _chunkYU7ROHTOjs.setFilter.call(void 0, _chunkYU7ROHTOjs.defaultFilter);
311
+ delete _chunk7OB6K45Tjs.Context.filterRecord[this.key];
296
312
  });
297
313
  }
298
314
  };
299
- _chunkLZAU5FUSjs.__name.call(void 0, PFilter, "PFilter");
315
+ _chunkAAF47ZC6js.__name.call(void 0, PFilter, "PFilter");
300
316
 
301
317
  // src/modules/guard.ts
302
318
 
303
319
  var PGuard = class extends Dev {
304
- constructor() {
320
+
321
+ constructor(tag) {
305
322
  super();
306
- const key = _phecdacore.getSymbol.call(void 0, this);
307
- _chunkYU7ROHTOjs.addGuard.call(void 0, key, this.use.bind(this));
323
+ this.key = tag || _phecdacore.getSymbol.call(void 0, this);
324
+ _chunk7OB6K45Tjs.addGuard.call(void 0, this.key, this.use.bind(this));
308
325
  this.onUnmount(() => {
309
- delete _chunkYU7ROHTOjs.Context.guardRecord[key];
326
+ delete _chunk7OB6K45Tjs.Context.guardRecord[this.key];
310
327
  });
311
328
  }
312
329
  };
313
- _chunkLZAU5FUSjs.__name.call(void 0, PGuard, "PGuard");
330
+ _chunkAAF47ZC6js.__name.call(void 0, PGuard, "PGuard");
314
331
 
315
332
  // src/modules/interceptor.ts
316
333
 
317
334
  var PInterceptor = class extends Dev {
318
- constructor() {
335
+
336
+ constructor(tag) {
319
337
  super();
320
- const key = _phecdacore.getSymbol.call(void 0, this);
338
+ this.key = tag || _phecdacore.getSymbol.call(void 0, this);
321
339
  this.onUnmount(() => {
322
- delete _chunkYU7ROHTOjs.Context.interceptorRecord[key];
340
+ delete _chunk7OB6K45Tjs.Context.interceptorRecord[this.key];
323
341
  });
324
- _chunkYU7ROHTOjs.addInterceptor.call(void 0, key, this.use.bind(this));
342
+ _chunk7OB6K45Tjs.addInterceptor.call(void 0, this.key, this.use.bind(this));
325
343
  }
326
344
  };
327
- _chunkLZAU5FUSjs.__name.call(void 0, PInterceptor, "PInterceptor");
345
+ _chunkAAF47ZC6js.__name.call(void 0, PInterceptor, "PInterceptor");
328
346
 
329
347
  // src/modules/pipe.ts
330
348
 
331
349
  var PPipe = class extends Dev {
332
- constructor() {
350
+
351
+ constructor(tag) {
333
352
  super();
334
- const key = _phecdacore.getSymbol.call(void 0, this);
335
- _chunkYU7ROHTOjs.addPipe.call(void 0, key, this.use.bind(this));
353
+ this.key = tag || _phecdacore.getSymbol.call(void 0, this);
354
+ _chunk7OB6K45Tjs.addPipe.call(void 0, this.key, this.use.bind(this));
336
355
  this.onUnmount(() => {
337
- delete _chunkYU7ROHTOjs.Context.pipeRecord[key];
356
+ delete _chunk7OB6K45Tjs.Context.pipeRecord[this.key];
338
357
  });
339
358
  }
340
359
  };
341
- _chunkLZAU5FUSjs.__name.call(void 0, PPipe, "PPipe");
360
+ _chunkAAF47ZC6js.__name.call(void 0, PPipe, "PPipe");
342
361
 
343
362
  // src/modules/plugin.ts
344
363
 
345
364
  var PPlugin = class extends Dev {
346
- constructor() {
365
+
366
+ constructor(tag) {
347
367
  super();
348
- const key = _phecdacore.getSymbol.call(void 0, this);
349
- _chunkYU7ROHTOjs.addPlugin.call(void 0, key, this.use.bind(this));
368
+ this.key = tag || _phecdacore.getSymbol.call(void 0, this);
369
+ _chunk7OB6K45Tjs.addPlugin.call(void 0, this.key, this.use.bind(this));
350
370
  this.onUnmount(() => {
351
- delete _chunkYU7ROHTOjs.Context.pluginRecord[key];
371
+ delete _chunk7OB6K45Tjs.Context.pluginRecord[this.key];
352
372
  });
353
373
  }
354
374
  };
355
- _chunkLZAU5FUSjs.__name.call(void 0, PPlugin, "PPlugin");
375
+ _chunkAAF47ZC6js.__name.call(void 0, PPlugin, "PPlugin");
376
+
377
+ // src/modules/module.ts
378
+
379
+ var PModule = class extends Dev {
380
+
381
+ constructor(tag) {
382
+ super();
383
+ const key = this.key = tag || _phecdacore.getSymbol.call(void 0, this);
384
+ if (this.pipe) {
385
+ _chunk7OB6K45Tjs.addPipe.call(void 0, key, this.pipe.bind(this));
386
+ this.onUnmount(() => {
387
+ delete _chunk7OB6K45Tjs.Context.pipeRecord[key];
388
+ });
389
+ }
390
+ if (this.plugin) {
391
+ _chunk7OB6K45Tjs.addPlugin.call(void 0, key, this.plugin.bind(this));
392
+ this.onUnmount(() => {
393
+ delete _chunk7OB6K45Tjs.Context.pluginRecord[key];
394
+ });
395
+ }
396
+ if (this.intercept) {
397
+ _chunk7OB6K45Tjs.addInterceptor.call(void 0, key, this.intercept.bind(this));
398
+ this.onUnmount(() => {
399
+ delete _chunk7OB6K45Tjs.Context.interceptorRecord[key];
400
+ });
401
+ }
402
+ if (this.guard) {
403
+ _chunk7OB6K45Tjs.addGuard.call(void 0, key, this.guard.bind(this));
404
+ this.onUnmount(() => {
405
+ delete _chunk7OB6K45Tjs.Context.guardRecord[key];
406
+ });
407
+ }
408
+ if (this.filter) {
409
+ _chunk7OB6K45Tjs.addFilter.call(void 0, key, this.filter.bind(this));
410
+ this.onUnmount(() => {
411
+ delete _chunk7OB6K45Tjs.Context.filterRecord[key];
412
+ });
413
+ }
414
+ }
415
+ };
416
+ _chunkAAF47ZC6js.__name.call(void 0, PModule, "PModule");
417
+
418
+
419
+
420
+
356
421
 
357
422
 
358
423
 
@@ -419,5 +484,5 @@ _chunkLZAU5FUSjs.__name.call(void 0, PPlugin, "PPlugin");
419
484
 
420
485
 
421
486
 
422
- exports.APP_SYMBOL = _chunkLZAU5FUSjs.APP_SYMBOL; exports.Arg = Arg; exports.BadGatewayException = _chunkYU7ROHTOjs.BadGatewayException; exports.BadRequestException = _chunkYU7ROHTOjs.BadRequestException; exports.BaseParam = BaseParam; exports.Body = Body; exports.ConflictException = _chunkYU7ROHTOjs.ConflictException; exports.Context = _chunkYU7ROHTOjs.Context; exports.Controller = Controller; exports.Define = Define; exports.Delete = Delete; exports.Dev = Dev; exports.Event = Event; exports.Exception = _chunkYU7ROHTOjs.Exception; exports.Factory = _chunkW64EUEDUjs.Factory; exports.ForbiddenException = _chunkYU7ROHTOjs.ForbiddenException; exports.FrameworkException = _chunkYU7ROHTOjs.FrameworkException; exports.Get = Get; exports.Guard = Guard; exports.Head = Head; exports.Header = Header; exports.IS_DEV = _chunkLZAU5FUSjs.IS_DEV; exports.IS_STRICT = _chunkLZAU5FUSjs.IS_STRICT; exports.Injectable = _chunkW64EUEDUjs.Injectable; exports.Interceptor = Interceptor; exports.InvalidInputException = _chunkYU7ROHTOjs.InvalidInputException; exports.MERGE_SYMBOL = _chunkLZAU5FUSjs.MERGE_SYMBOL; exports.META_SYMBOL = _chunkLZAU5FUSjs.META_SYMBOL; exports.MODULE_SYMBOL = _chunkLZAU5FUSjs.MODULE_SYMBOL; exports.Meta = _chunkW64EUEDUjs.Meta; exports.NotFoundException = _chunkYU7ROHTOjs.NotFoundException; exports.PFilter = PFilter; exports.PGuard = PGuard; exports.PInterceptor = PInterceptor; exports.PPipe = PPipe; exports.PPlugin = PPlugin; exports.Param = Param; exports.Patch = Patch; exports.PayloadLargeException = _chunkYU7ROHTOjs.PayloadLargeException; exports.Pipe = Pipe; exports.Plugin = Plugin; exports.Post = Post; exports.Put = Put; exports.Query = Query; exports.Route = Route; exports.Rpc = Rpc; exports.ServiceUnavailableException = _chunkYU7ROHTOjs.ServiceUnavailableException; exports.TimeoutException = _chunkYU7ROHTOjs.TimeoutException; exports.UNMOUNT_SYMBOL = _chunkLZAU5FUSjs.UNMOUNT_SYMBOL; exports.UnauthorizedException = _chunkYU7ROHTOjs.UnauthorizedException; exports.UndefinedException = _chunkYU7ROHTOjs.UndefinedException; exports.UnsupportedMediaTypeException = _chunkYU7ROHTOjs.UnsupportedMediaTypeException; exports.ValidateException = _chunkYU7ROHTOjs.ValidateException; exports.addGuard = _chunkYU7ROHTOjs.addGuard; exports.addInterceptor = _chunkYU7ROHTOjs.addInterceptor; exports.addPipe = _chunkYU7ROHTOjs.addPipe; exports.addPlugin = _chunkYU7ROHTOjs.addPlugin; exports.defaultPipe = _chunkYU7ROHTOjs.defaultPipe; exports.emitter = _chunkW64EUEDUjs.emitter; exports.generateHTTPCode = _chunkW64EUEDUjs.generateHTTPCode; exports.generateRPCCode = _chunkW64EUEDUjs.generateRPCCode; exports.guardRecord = _chunkYU7ROHTOjs.guardRecord; exports.isAopDepInject = _chunkYU7ROHTOjs.isAopDepInject; exports.resolveDep = _chunkFAHHXHL5js.resolveDep; exports.setFilter = _chunkYU7ROHTOjs.setFilter;
487
+ exports.APP_SYMBOL = _chunkAAF47ZC6js.APP_SYMBOL; exports.Arg = Arg; exports.BadGatewayException = _chunk7OB6K45Tjs.BadGatewayException; exports.BadRequestException = _chunk7OB6K45Tjs.BadRequestException; exports.BaseParam = BaseParam; exports.Body = Body; exports.ConflictException = _chunk7OB6K45Tjs.ConflictException; exports.Context = _chunk7OB6K45Tjs.Context; exports.Controller = Controller; exports.Define = Define; exports.Delete = Delete; exports.Dev = Dev; exports.ERROR_SYMBOL = _chunkAAF47ZC6js.ERROR_SYMBOL; exports.Event = Event; exports.Exception = _chunk7OB6K45Tjs.Exception; exports.Factory = _chunkTZ27DHWLjs.Factory; exports.Filter = Filter; exports.ForbiddenException = _chunk7OB6K45Tjs.ForbiddenException; exports.FrameworkException = _chunk7OB6K45Tjs.FrameworkException; exports.Get = Get; exports.Guard = Guard; exports.Head = Head; exports.Header = Header; exports.IS_DEV = _chunkAAF47ZC6js.IS_DEV; exports.IS_STRICT = _chunkAAF47ZC6js.IS_STRICT; exports.Injectable = _chunkTZ27DHWLjs.Injectable; exports.Interceptor = Interceptor; exports.InvalidInputException = _chunk7OB6K45Tjs.InvalidInputException; exports.MERGE_SYMBOL = _chunkAAF47ZC6js.MERGE_SYMBOL; exports.META_SYMBOL = _chunkAAF47ZC6js.META_SYMBOL; exports.MODULE_SYMBOL = _chunkAAF47ZC6js.MODULE_SYMBOL; exports.Meta = _chunkTZ27DHWLjs.Meta; exports.NotFoundException = _chunk7OB6K45Tjs.NotFoundException; exports.PFilter = PFilter; exports.PGuard = PGuard; exports.PInterceptor = PInterceptor; exports.PModule = PModule; exports.PPipe = PPipe; exports.PPlugin = PPlugin; exports.Param = Param; exports.Patch = Patch; exports.PayloadLargeException = _chunk7OB6K45Tjs.PayloadLargeException; exports.Pipe = Pipe; exports.Plugin = Plugin; exports.Post = Post; exports.Put = Put; exports.Query = Query; exports.Route = Route; exports.Rpc = Rpc; exports.ServiceUnavailableException = _chunk7OB6K45Tjs.ServiceUnavailableException; exports.TimeoutException = _chunk7OB6K45Tjs.TimeoutException; exports.UNMOUNT_SYMBOL = _chunkAAF47ZC6js.UNMOUNT_SYMBOL; exports.UnauthorizedException = _chunk7OB6K45Tjs.UnauthorizedException; exports.UndefinedException = _chunk7OB6K45Tjs.UndefinedException; exports.UnsupportedMediaTypeException = _chunk7OB6K45Tjs.UnsupportedMediaTypeException; exports.ValidateException = _chunk7OB6K45Tjs.ValidateException; exports.addFilter = _chunk7OB6K45Tjs.addFilter; exports.addGuard = _chunk7OB6K45Tjs.addGuard; exports.addInterceptor = _chunk7OB6K45Tjs.addInterceptor; exports.addPipe = _chunk7OB6K45Tjs.addPipe; exports.addPlugin = _chunk7OB6K45Tjs.addPlugin; exports.defaultPipe = _chunk7OB6K45Tjs.defaultPipe; exports.emitter = _chunkTZ27DHWLjs.emitter; exports.generateHTTPCode = _chunkTZ27DHWLjs.generateHTTPCode; exports.generateRPCCode = _chunkTZ27DHWLjs.generateRPCCode; exports.guardRecord = _chunk7OB6K45Tjs.guardRecord; exports.isAopDepInject = _chunk7OB6K45Tjs.isAopDepInject; exports.log = _chunkAAF47ZC6js.log; exports.resolveDep = _chunkZPMAM4LQjs.resolveDep;
423
488
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/decorators/index.ts","../src/decorators/param.ts","../src/decorators/route.ts","../src/decorators/aop.ts","../src/index.ts","../src/modules/dev.ts","../src/modules/filter.ts","../src/modules/guard.ts","../src/modules/interceptor.ts","../src/modules/pipe.ts","../src/modules/plugin.ts"],"names":["setModelVar","setState","BaseParam","type","key","target","k","index","state","_namespace","__STATE_NAMESPACE__","get","params","existItem","find","item","Object","assign","push","Pipe","opts","pipe","pipeOpts","Body","Head","toLowerCase","Query","Param","Arg","Route","route","prototype","http","Get","Post","Put","Patch","Delete","Controller","Rpc","types","rpc","Event","isEvent","Guard","guards","Plugin","plugins","Interceptor","interceptors","Header","name","value","header","Define","define","Empty","Dev","emitter","UNMOUNT_SYMBOL","onUnmount","cb","PFilter","constructor","setFilter","use","bind","defaultFilter","getSymbol","PGuard","addGuard","Context","guardRecord","PInterceptor","interceptorRecord","addInterceptor","PPipe","addPipe","pipeRecord","PPlugin","addPlugin","pluginRecord"],"mappings":"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","sourcesContent":["import { setModelVar, setState } from 'phecda-core'\n\nexport function Header(name: string, value: string) {\n return (target: any, k: PropertyKey) => {\n setModelVar(target, k)\n const state = target._namespace.__STATE_NAMESPACE__.get(k) || {}\n if (!state.header)\n state.header = {}\n\n state.header[name] = value\n setState(target, k, state)\n }\n}\n\nexport function Define(key: string, value: any) {\n return (target: any, k?: PropertyKey) => {\n if (!k) {\n k = '__CLASS'\n target = target.prototype\n }\n\n setModelVar(target, k)\n const state = target._namespace.__STATE_NAMESPACE__.get(k) || {}\n if (!state.define)\n state.define = {}\n\n state.define[key] = value\n setState(target, k, state)\n }\n}\n\nexport * from './param'\nexport * from './route'\nexport * from './aop'\n","import { setModelVar, setState } from 'phecda-core'\n\nexport function BaseParam(type: string, key: string): any {\n return (target: any, k: PropertyKey, index: number) => {\n setModelVar(target, k)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(k) || {}\n if (!state.params)\n state.params = []\n const existItem = state.params.find((item: any) => item.index === index)\n if (existItem)\n Object.assign(existItem, { type, key })\n\n else\n state.params.push({ type, key, index })\n\n setState(target, k, state)\n }\n}\n\nexport function Pipe(key?: string, opts?: any) {\n return (target: any, k: PropertyKey, index: number) => {\n setModelVar(target, k)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(k) || {}\n\n if (!state.params)\n state.params = []\n\n const existItem = state.params.find((item: any) => item.index === index)\n if (existItem)\n Object.assign(existItem, { pipe: key, pipeOpts: opts })\n\n else\n state.params.push({ pipe: key, pipeOpts: opts, index })\n\n setState(target, k, state)\n }\n}\n\nexport function Body(key = '') {\n return BaseParam('body', key)\n}\n// req.headers\nexport function Head(key: string) {\n return BaseParam('headers', key.toLowerCase())\n}\n\nexport function Query(key = '') {\n return BaseParam('query', key)\n}\nexport function Param(key: string) {\n return BaseParam('params', key)\n}\n\n// work for micro service\nexport function Arg() {\n return BaseParam('params', '')\n}\n","import { setModelVar, setState } from 'phecda-core'\n\nexport function Route(route: string, type?: string): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n state.http = {\n route,\n type,\n }\n setState(target, key, state)\n }\n}\n\nexport function Get(route: string) {\n return Route(route, 'get')\n}\n\nexport function Post(route: string) {\n return Route(route, 'post')\n}\nexport function Put(route: string) {\n return Route(route, 'put')\n}\n\nexport function Patch(route: string) {\n return Route(route, 'patch')\n}\nexport function Delete(route: string) {\n return Route(route, 'delete')\n}\n\nexport function Controller(route = '') {\n return Route(route)\n}\n\nexport function Rpc(...types: ('mq' | 'redis' | string)[]) {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n setModelVar(target, key)\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.rpc)\n state.rpc = {}\n\n state.rpc.type = types\n setState(target, key, state)\n }\n}\nexport function Event(isEvent = true) {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n setModelVar(target, key)\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.rpc)\n state.rpc = {}\n\n state.rpc.isEvent = isEvent\n setState(target, key, state)\n }\n}\n","import { setModelVar, setState } from 'phecda-core'\n\nexport function Guard(...guards: string[]): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.guards)\n state.guards = []\n state.guards.push(...guards)\n setState(target, key, state)\n }\n}\n\nexport function Plugin(...plugins: string[]): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.plugins)\n state.plugins = []\n state.plugins.push(...plugins)\n setState(target, key, state)\n }\n}\n\nexport function Interceptor(...interceptors: string[]): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.interceptors)\n state.interceptors = []\n state.interceptors.push(...interceptors)\n setState(target, key, state)\n }\n}\n","export * from './context'\nexport * from './types'\nexport * from './core'\nexport * from './decorators'\nexport * from './exception'\nexport * from './pipe'\nexport * from './meta'\nexport * from 'phecda-core'\nexport * from './helper'\nexport * from './common'\nexport * from './modules'\nexport * from './compiler'\n","import { Empty } from 'phecda-core'\nimport { UNMOUNT_SYMBOL } from '../common'\nimport { emitter } from '../core'\n\n@Empty\nexport class Dev {\n protected readonly emitter = emitter\n private readonly [UNMOUNT_SYMBOL]: (() => void)[] = []\n\n onUnmount(cb: () => void) {\n this[UNMOUNT_SYMBOL].push(cb)\n }\n}\n","import { setFilter } from '../context'\nimport type { Exception } from '../exception'\nimport { defaultFilter } from '../filter'\nimport { Dev } from './dev'\n\nexport abstract class PFilter<C = any, S = any, E extends Exception = Exception > extends Dev {\n constructor() {\n super()\n setFilter(this.use.bind(this))\n this.onUnmount(() => {\n setFilter(defaultFilter)\n })\n }\n\n abstract use(error: Error | E, tag?: string, ctx?: C): S\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addGuard } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PGuard<C = any> extends Dev {\n abstract use(tag: string, ctx: C): Promise<boolean> | boolean\n\n constructor() {\n super()\n const key = getSymbol(this)\n\n addGuard(key, this.use.bind(this))\n\n this.onUnmount(() => {\n delete Context.guardRecord[key]\n })\n }\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addInterceptor } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PInterceptor<C = any> extends Dev {\n abstract use(tag: string, ctx: C): ((arg: any) => any) | void\n\n constructor() {\n super()\n\n const key = getSymbol(this)\n\n this.onUnmount(() => {\n delete Context.interceptorRecord[key]\n })\n addInterceptor(key, this.use.bind(this))\n }\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addPipe } from '../context'\nimport { Dev } from './dev'\nexport abstract class PPipe<C = any> extends Dev {\n constructor() {\n super()\n\n const key = getSymbol(this)\n addPipe(key, this.use.bind(this))\n this.onUnmount(() => {\n delete Context.pipeRecord[key]\n })\n }\n\n abstract use(args: { arg: any; option?: any; key: string; type: string; index: number; reflect: any }, tag: string, ctx: C): Promise<any>\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addPlugin } from '../context'\nimport { Dev } from '../modules/dev'\n\nexport abstract class PPlugin extends Dev {\n constructor() {\n super()\n const key = getSymbol(this)\n\n addPlugin(key, this.use.bind(this))\n\n this.onUnmount(() => {\n delete Context.pluginRecord[key]\n })\n }\n\n abstract use(...args: any): void\n}\n"]}
1
+ {"version":3,"sources":["../src/decorators/index.ts","../src/decorators/param.ts","../src/decorators/route.ts","../src/decorators/aop.ts","../src/index.ts","../src/modules/dev.ts","../src/modules/filter.ts","../src/modules/guard.ts","../src/modules/interceptor.ts","../src/modules/pipe.ts","../src/modules/plugin.ts","../src/modules/module.ts"],"names":["setModelVar","setState","BaseParam","type","key","target","k","index","state","_namespace","__STATE_NAMESPACE__","get","params","existItem","find","item","Object","assign","push","Pipe","opts","pipe","pipeOpts","Body","Head","toLowerCase","Query","Param","Arg","Route","route","prototype","http","Get","Post","Put","Patch","Delete","Controller","Rpc","types","rpc","Event","isEvent","Guard","guards","Plugin","plugins","Interceptor","interceptors","Filter","filter","Header","name","value","header","Define","define","Empty","Dev","emitter","UNMOUNT_SYMBOL","onUnmount","cb","getSymbol","PFilter","constructor","tag","addFilter","use","bind","Context","filterRecord","PGuard","addGuard","guardRecord","PInterceptor","interceptorRecord","addInterceptor","PPipe","addPipe","pipeRecord","PPlugin","addPlugin","pluginRecord","PModule","plugin","intercept","guard"],"mappings":"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","sourcesContent":["import { setModelVar, setState } from 'phecda-core'\n\nexport function Header(name: string, value: string) {\n return (target: any, k: PropertyKey) => {\n setModelVar(target, k)\n const state = target._namespace.__STATE_NAMESPACE__.get(k) || {}\n if (!state.header)\n state.header = {}\n\n state.header[name] = value\n setState(target, k, state)\n }\n}\n\nexport function Define(key: string, value: any) {\n return (target: any, k?: PropertyKey) => {\n if (!k) {\n k = '__CLASS'\n target = target.prototype\n }\n\n setModelVar(target, k)\n const state = target._namespace.__STATE_NAMESPACE__.get(k) || {}\n if (!state.define)\n state.define = {}\n\n state.define[key] = value\n setState(target, k, state)\n }\n}\n\nexport * from './param'\nexport * from './route'\nexport * from './aop'\n","import { setModelVar, setState } from 'phecda-core'\n\nexport function BaseParam(type: string, key: string): any {\n return (target: any, k: PropertyKey, index: number) => {\n setModelVar(target, k)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(k) || {}\n if (!state.params)\n state.params = []\n const existItem = state.params.find((item: any) => item.index === index)\n if (existItem)\n Object.assign(existItem, { type, key })\n\n else\n state.params.push({ type, key, index })\n\n setState(target, k, state)\n }\n}\n\nexport function Pipe(key?: string, opts?: any) {\n return (target: any, k: PropertyKey, index: number) => {\n setModelVar(target, k)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(k) || {}\n\n if (!state.params)\n state.params = []\n\n const existItem = state.params.find((item: any) => item.index === index)\n if (existItem)\n Object.assign(existItem, { pipe: key, pipeOpts: opts })\n\n else\n state.params.push({ pipe: key, pipeOpts: opts, index })\n\n setState(target, k, state)\n }\n}\n\nexport function Body(key = '') {\n return BaseParam('body', key)\n}\n// req.headers\nexport function Head(key: string) {\n return BaseParam('headers', key.toLowerCase())\n}\n\nexport function Query(key = '') {\n return BaseParam('query', key)\n}\nexport function Param(key: string) {\n return BaseParam('params', key)\n}\n\n// work for micro service\nexport function Arg() {\n return BaseParam('params', '')\n}\n","import { setModelVar, setState } from 'phecda-core'\n\nexport function Route(route: string, type?: string): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n state.http = {\n route,\n type,\n }\n setState(target, key, state)\n }\n}\n\nexport function Get(route: string) {\n return Route(route, 'get')\n}\n\nexport function Post(route: string) {\n return Route(route, 'post')\n}\nexport function Put(route: string) {\n return Route(route, 'put')\n}\n\nexport function Patch(route: string) {\n return Route(route, 'patch')\n}\nexport function Delete(route: string) {\n return Route(route, 'delete')\n}\n\nexport function Controller(route = '') {\n return Route(route)\n}\n\nexport function Rpc(...types: ('mq' | 'redis' | string)[]) {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n setModelVar(target, key)\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.rpc)\n state.rpc = {}\n\n state.rpc.type = types\n setState(target, key, state)\n }\n}\nexport function Event(isEvent = true) {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n setModelVar(target, key)\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.rpc)\n state.rpc = {}\n\n state.rpc.isEvent = isEvent\n setState(target, key, state)\n }\n}\n","import { setModelVar, setState } from 'phecda-core'\n\nexport function Guard(...guards: string[]): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.guards)\n state.guards = []\n state.guards.push(...guards)\n setState(target, key, state)\n }\n}\n\nexport function Plugin(...plugins: string[]): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.plugins)\n state.plugins = []\n state.plugins.push(...plugins)\n setState(target, key, state)\n }\n}\n\nexport function Interceptor(...interceptors: string[]): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n if (!state.interceptors)\n state.interceptors = []\n state.interceptors.push(...interceptors)\n setState(target, key, state)\n }\n}\nexport function Filter(filter: string): any {\n return (target: any, key?: PropertyKey) => {\n if (!key)\n key = '__CLASS'\n target = key === '__CLASS' ? target.prototype : target\n\n setModelVar(target, key)\n\n const state = target._namespace.__STATE_NAMESPACE__.get(key) || {}\n state.filter = filter\n setState(target, key, state)\n }\n}\n","export * from './context'\nexport * from './types'\nexport * from './core'\nexport * from './decorators'\nexport * from './exception'\nexport * from './pipe'\nexport * from './meta'\nexport * from 'phecda-core'\nexport * from './helper'\nexport * from './common'\nexport * from './modules'\nexport * from './compiler'\nexport * from './utils'\n","import { Empty } from 'phecda-core'\nimport { UNMOUNT_SYMBOL } from '../common'\nimport { emitter } from '../core'\n\n@Empty\nexport class Dev {\n protected readonly emitter = emitter\n private readonly [UNMOUNT_SYMBOL]: (() => void)[] = []\n\n onUnmount(cb: () => void) {\n this[UNMOUNT_SYMBOL].push(cb)\n }\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addFilter } from '../context'\nimport type { Exception } from '../exception'\nimport type { P } from '../types'\nimport { Dev } from './dev'\n\nexport abstract class PFilter<C = any, E extends Exception = Exception > extends Dev {\n readonly key: string\n constructor(tag?: string) {\n super()\n this.key = tag || getSymbol(this)\n\n addFilter(this.key, this.use.bind(this))\n this.onUnmount(() => {\n delete Context.filterRecord[this.key]\n })\n }\n\n abstract use(error: Error | E, tag?: string, ctx?: C): P.Error\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addGuard } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PGuard<C = any> extends Dev {\n abstract use(tag: string, ctx: C): Promise<boolean> | boolean\n readonly key: string\n constructor(tag?: string) {\n super()\n this.key = tag || getSymbol(this)\n\n addGuard(this.key, this.use.bind(this))\n\n this.onUnmount(() => {\n delete Context.guardRecord[this.key]\n })\n }\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addInterceptor } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PInterceptor<C = any> extends Dev {\n abstract use(tag: string, ctx: C): Function | Promise<Function> | any\n readonly key: string\n\n constructor(tag?: string) {\n super()\n\n this.key = tag || getSymbol(this)\n\n this.onUnmount(() => {\n delete Context.interceptorRecord[this.key]\n })\n addInterceptor(this.key, this.use.bind(this))\n }\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addPipe } from '../context'\nimport { Dev } from './dev'\nexport abstract class PPipe<C = any> extends Dev {\n readonly key: string\n\n constructor(tag?: string) {\n super()\n\n this.key = tag || getSymbol(this)\n addPipe(this.key, this.use.bind(this))\n this.onUnmount(() => {\n delete Context.pipeRecord[this.key]\n })\n }\n\n abstract use(param: { arg: any; option?: any; key: string; type: string; index: number; reflect: any }, tag: string, ctx: C): any\n}\n","import { getSymbol } from 'phecda-core'\nimport { Context, addPlugin } from '../context'\nimport { Dev } from '../modules/dev'\n\nexport abstract class PPlugin extends Dev {\n readonly key: string\n constructor(tag?: string) {\n super()\n this.key = tag || getSymbol(this)\n\n addPlugin(this.key, this.use.bind(this))\n\n this.onUnmount(() => {\n delete Context.pluginRecord[this.key]\n })\n }\n\n abstract use(...args: any): void\n}\n","import { getSymbol } from 'phecda-core'\nimport type { P } from '../types'\nimport { Context, addFilter, addGuard, addInterceptor, addPipe, addPlugin } from '../context'\nimport type { Exception } from '../exception'\nimport { Dev } from './dev'\n\nexport interface PModule<C = any> {\n\n intercept(tag: string, ctx: C): Function | Promise<Function> | any\n\n guard(tag: string, ctx: C): Promise<boolean> | boolean\n\n pipe(param: { arg: any; option?: any; key: string; type: string; index: number; reflect: any }, tag: string, ctx: C): any\n\n filter< E extends Exception = Exception>(error: Error | E, tag?: string, ctx?: C): P.Error\n\n plugin(...args: any): void\n}\n\nexport class PModule extends Dev {\n readonly key: string\n\n constructor(tag?: string) {\n super()\n\n const key = this.key = tag || getSymbol(this)\n\n if (this.pipe) {\n addPipe(key, this.pipe.bind(this))\n this.onUnmount(() => {\n delete Context.pipeRecord[key]\n })\n }\n\n if (this.plugin) {\n addPlugin(key, this.plugin.bind(this))\n\n this.onUnmount(() => {\n delete Context.pluginRecord[key]\n })\n }\n if (this.intercept) {\n addInterceptor(key, this.intercept.bind(this))\n\n this.onUnmount(() => {\n delete Context.interceptorRecord[key]\n })\n }\n if (this.guard) {\n addGuard(key, this.guard.bind(this))\n\n this.onUnmount(() => {\n delete Context.guardRecord[key]\n })\n }\n\n if (this.filter) {\n addFilter(key, this.filter.bind(this))\n this.onUnmount(() => {\n delete Context.filterRecord[key]\n })\n }\n }\n}\n"]}