phecda-server 4.0.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-UEH6FW5I.js → chunk-7E4FZ7TC.js} +13 -8
- package/dist/chunk-7E4FZ7TC.js.map +1 -0
- package/dist/{chunk-BP7CKHPK.js → chunk-B22W7BG7.js} +70 -19
- package/dist/chunk-B22W7BG7.js.map +1 -0
- package/dist/{chunk-MFGAP3PV.mjs → chunk-KVUJ3VJZ.mjs} +7 -2
- package/dist/{chunk-MFGAP3PV.mjs.map → chunk-KVUJ3VJZ.mjs.map} +1 -1
- package/dist/{chunk-3PXRNECS.mjs → chunk-O2H7ERZR.mjs} +67 -16
- package/dist/chunk-O2H7ERZR.mjs.map +1 -0
- package/dist/{chunk-FPN7NODB.mjs → chunk-PIRUVYEF.mjs} +4 -2
- package/dist/chunk-PIRUVYEF.mjs.map +1 -0
- package/dist/{chunk-62QDU5FJ.js → chunk-PU3LWJ2C.js} +4 -2
- package/dist/chunk-PU3LWJ2C.js.map +1 -0
- package/dist/index.d.ts +15 -8
- package/dist/index.js +43 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -14
- package/dist/index.mjs.map +1 -1
- package/dist/rpc/rabbitmq/index.js +10 -5
- package/dist/rpc/rabbitmq/index.js.map +1 -1
- package/dist/rpc/rabbitmq/index.mjs +8 -3
- package/dist/rpc/rabbitmq/index.mjs.map +1 -1
- package/dist/rpc/redis/index.js +10 -5
- package/dist/rpc/redis/index.js.map +1 -1
- package/dist/rpc/redis/index.mjs +8 -3
- package/dist/rpc/redis/index.mjs.map +1 -1
- package/dist/server/express/index.js +22 -16
- package/dist/server/express/index.js.map +1 -1
- package/dist/server/express/index.mjs +9 -3
- package/dist/server/express/index.mjs.map +1 -1
- package/dist/server/fastify/index.js +20 -14
- package/dist/server/fastify/index.js.map +1 -1
- package/dist/server/fastify/index.mjs +9 -3
- package/dist/server/fastify/index.mjs.map +1 -1
- package/dist/server/h3/index.js +22 -16
- package/dist/server/h3/index.js.map +1 -1
- package/dist/server/h3/index.mjs +9 -3
- package/dist/server/h3/index.mjs.map +1 -1
- package/dist/test.js +4 -4
- package/dist/test.mjs +2 -2
- package/package.json +1 -1
- package/register/loader.mjs +0 -1
- package/dist/chunk-3PXRNECS.mjs.map +0 -1
- package/dist/chunk-62QDU5FJ.js.map +0 -1
- package/dist/chunk-BP7CKHPK.js.map +0 -1
- package/dist/chunk-FPN7NODB.mjs.map +0 -1
- package/dist/chunk-UEH6FW5I.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
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/context.ts","../src/filter.ts","../src/history.ts"],"sourcesContent":["export class Exception extends Error {\n constructor(public message: string, public status: number, public description = 'Http exception') {\n super(message)\n }\n\n get data() {\n return { message: this.message, description: this.description, status: this.status, error: true }\n }\n}\n","import { Exception } from './base'\n\nexport class ValidateException extends Exception {\n constructor(message: string) {\n super(message, 400, 'Validate exception')\n }\n}\n","import { isPhecda, plainToClass, transformClass } from 'phecda-core'\nimport { ValidateException } from './exception/validate'\n\nimport type { P } from './types'\n\nexport const defaultPipe: P.Pipe = async ({ arg, reflect, index }: any) => {\n if (isPhecda(reflect)) {\n const instance = plainToClass(reflect, arg)\n const err = await transformClass(instance)\n if (err.length > 0)\n throw new ValidateException(err[0])\n\n arg = instance\n }\n else {\n if ([Number, Boolean].includes(reflect)) {\n arg = reflect(arg)\n\n if (reflect === Number && Object.is(arg, NaN))\n throw new ValidateException(`parameter ${Number(index) + 1} should be a number`)\n }\n }\n return arg\n}\n","import { Exception } from './base'\n\nexport class UndefinedException extends Exception {\n constructor(message: string) {\n super(message, 500, 'Undefined error')\n }\n}\n","import { Exception } from './base'\n\nexport class ForbiddenException extends Exception {\n constructor(message: string) {\n super(message, 403, 'Forbidden resource')\n }\n}\n","import { Exception } from './base'\n\nexport class BadRequestException extends Exception {\n constructor(message: string) {\n super(message, 400, 'Bad Request')\n }\n}\n","import { Exception } from './base'\n\nexport class NotFoundException extends Exception {\n constructor(message: string) {\n super(message, 404, 'Not Found')\n }\n}\n","import { Exception } from './base'\n\nexport class ConflictException extends Exception {\n constructor(message: string) {\n super(message, 409, 'Conflict')\n }\n}\n","import { Exception } from './base'\n\nexport class BadGatewayException extends Exception {\n constructor(message: string) {\n super(message, 502, 'Bad Gatrway')\n }\n}\n","import { Exception } from './base'\n\nexport class InvalidInputException extends Exception {\n constructor(message: string) {\n super(message, 502, 'Invalid Input')\n }\n}\n","import { Exception } from './base'\n\nexport class UnsupportedMediaTypeException extends Exception {\n constructor(message: string) {\n super(message, 415, 'Unsupported Media Type')\n }\n}\n","import { Exception } from './base'\n\nexport class PayloadLargeException extends Exception {\n constructor(message: string) {\n super(message, 413, 'Payload Too Large')\n }\n}\n","import { Exception } from './base'\n\nexport class TimeoutException extends Exception {\n constructor(message: string) {\n super(message, 408, 'Request Timeout',\n )\n }\n}\n","import { Exception } from './base'\n\nexport class UnauthorizedException extends Exception {\n constructor(message: string) {\n super(message, 401, 'Unauthorized')\n }\n}\n","import { Exception } from './base'\n\nexport class ServiceUnavailableException extends Exception {\n constructor(message: string) {\n super(message, 503, 'Service Unavailable')\n }\n}\n","import { Exception } from './base'\n\nexport class FrameworkException extends Exception {\n constructor(message: string) {\n super(`[phecda-server] ${message}`, 500, 'Framework Error')\n }\n}\n","import pc from 'picocolors'\nimport { defaultPipe } from './pipe'\nimport { ForbiddenException, FrameworkException } from './exception'\nimport { defaultFilter } from './filter'\nimport { Histroy } from './history'\nimport type { P } from './types'\nimport { IS_DEV, IS_STRICT } from './common'\nimport type { Meta } from './meta'\nimport { log } from './utils'\nexport const guardRecord = {} as Record<string, P.Guard>\n\nexport class Context<Data = any> {\n method: string\n params: string[]\n history = new Histroy()\n\n static filter: P.Filter = defaultFilter\n static pipeRecord: Record<string, P.Pipe> = {\n default: defaultPipe,\n }\n\n static guardRecord: Record<string, P.Guard> = {}\n static interceptorRecord: Record<string, P.Interceptor> = {}\n\n static pluginRecord: Record<string, any> = {}\n postInterceptors: Function[]\n\n constructor(public tag: string, public data: Data) {\n if (IS_DEV)\n // @ts-expect-error work for debug\n data._context = this\n }\n\n usePipe(args: { arg: any; pipe?: string; pipeOpts?: any; type: string; key: string; index: number; reflect: any }[]) {\n return Promise.all(args.map((item) => {\n if (item.pipe && !Context.pipeRecord[item.pipe]) {\n if (IS_STRICT)\n throw new FrameworkException(`can't find pipe named '${item.pipe}'`)\n\n else\n return Context.pipeRecord.default(item, this.tag, this.data)\n }\n\n return Context.pipeRecord[item.pipe || 'default'](item, this.tag, this.data)\n }))\n }\n\n useFilter(arg: any) {\n return Context.filter(arg, this.tag, this.data)\n }\n\n async useGuard(guards: string[]) {\n for (const guard of guards) {\n if (this.history.record(guard, 'guard')) {\n if (!(guard in Context.guardRecord)) {\n if (IS_STRICT)\n throw new FrameworkException(`can't find guard named '${guard}'`)\n continue\n }\n if (!await Context.guardRecord[guard](this.tag, this.data))\n throw new ForbiddenException(`Guard exception--${guard}`)\n }\n }\n }\n\n async usePostInterceptor(ret: any) {\n for (const cb of this.postInterceptors)\n ret = await cb(ret) || ret\n\n return ret\n }\n\n async useInterceptor(interceptors: string[]) {\n const ret = []\n for (const interceptor of interceptors) {\n if (this.history.record(interceptor, 'interceptor')) {\n if (!(interceptor in Context.interceptorRecord)) {\n if (IS_STRICT)\n throw new FrameworkException(`can't find interceptor named '${interceptor}'`)\n\n continue\n }\n const postInterceptor = await Context.interceptorRecord[interceptor](this.tag, this.data)\n if (postInterceptor !== undefined) {\n if (typeof postInterceptor === 'function')\n ret.push(postInterceptor)\n\n else\n return postInterceptor\n }\n }\n }\n this.postInterceptors = ret\n }\n\n static usePlugin(plugins: string[]) {\n const ret = []\n for (const m of plugins) {\n if (!(m in Context.pluginRecord)) {\n if (IS_STRICT)\n throw new FrameworkException(`can't find middleware named '${m}'`)\n\n continue\n }\n ret.push(Context.pluginRecord[m])\n }\n return ret as any[]\n }\n}\nexport function addPlugin<C>(key: string, handler: C) {\n Context.pluginRecord[key] = handler\n}\n\nexport function addPipe(key: string, pipe: P.Pipe) {\n Context.pipeRecord[key] = pipe\n}\n\nexport function setFilter(filter: P.Filter) {\n Context.filter = filter\n}\n\nexport function addGuard(key: string, handler: P.Guard) {\n Context.guardRecord[key] = handler\n}\n\nexport function addInterceptor(key: string, handler: P.Interceptor) {\n Context.interceptorRecord[key] = handler\n}\n\nexport function isAopDepInject(meta: Meta[], { guards, interceptors, plugins }: {\n guards?: string[]\n interceptors?: string[]\n plugins?: string[]\n} = {}) {\n const pluginSet = new Set<string>(plugins)\n\n const guardSet = new Set<string>(guards)\n const interceptorSet = new Set<string>(interceptors)\n const pipeSet = new Set<string>()\n meta.forEach(({ data }) => {\n data.interceptors.forEach(i => interceptorSet.add(i))\n data.guards.forEach(i => guardSet.add(i))\n data.plugins.forEach(i => pluginSet.add(i))\n data.params.forEach((i) => {\n if (i.pipe)\n pipeSet.add(i.pipe)\n })\n });\n\n [...pluginSet].forEach((i) => {\n if (!Context.pluginRecord[i])\n log(`${pc.white(`Plugin [${i}]`)} doesn't exist`, 'warn')\n });\n [...guardSet].forEach((i) => {\n if (!Context.guardRecord[i])\n log(`${pc.red(`Guard [${i}]`)} doesn't exist`, 'warn')\n });\n [...interceptorSet].forEach((i) => {\n if (!Context.interceptorRecord[i])\n log(`${pc.cyan(`Interceptor [${i}]`)} doesn't exist`, 'warn')\n });\n [...pipeSet].forEach((i) => {\n if (!Context.pipeRecord[i])\n log(`${pc.blue(`Pipe [${i}]`)} doesn't exist`, 'warn')\n })\n}\n","import { Exception, UndefinedException } from './exception'\nimport type { P } from './types'\nimport { log } from './utils'\n\nexport const defaultFilter: P.Filter = (e: any) => {\n if (!(e instanceof Exception)) {\n log(e.message, 'error')\n console.error(e.stack)\n e = new UndefinedException(e.message || e)\n }\n else {\n log(`[${e.constructor.name}] ${e.message}`, 'error')\n console.error(e.stack)\n }\n\n return e.data\n}\n","export class Histroy {\n guard: string[] = []\n interceptor: string[] = []\n record(name: string, type: 'guard' | 'interceptor') {\n if (!this[type].includes(name)) {\n this[type].push(name)\n return true\n }\n return false\n }\n}\n"],"mappings":"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","names":["Exception","Error","message","status","description","constructor","data","error","ValidateException","Exception","constructor","message","isPhecda","plainToClass","transformClass","defaultPipe","arg","reflect","index","isPhecda","instance","plainToClass","err","transformClass","length","ValidateException","Number","Boolean","includes","Object","is","NaN","UndefinedException","Exception","constructor","message","ForbiddenException","Exception","constructor","message","BadRequestException","Exception","constructor","message","NotFoundException","Exception","constructor","message","ConflictException","Exception","constructor","message","BadGatewayException","Exception","constructor","message","InvalidInputException","Exception","constructor","message","UnsupportedMediaTypeException","Exception","constructor","message","PayloadLargeException","Exception","constructor","message","TimeoutException","Exception","constructor","message","UnauthorizedException","Exception","constructor","message","ServiceUnavailableException","Exception","constructor","message","FrameworkException","Exception","constructor","message","pc","defaultFilter","e","Exception","log","message","console","error","stack","UndefinedException","constructor","name","data","Histroy","guard","interceptor","record","name","type","includes","push","guardRecord","Context","tag","data","method","params","history","postInterceptors","constructor","Histroy","IS_DEV","_context","usePipe","args","Promise","all","map","item","pipe","pipeRecord","IS_STRICT","FrameworkException","default","useFilter","arg","filter","useGuard","guards","guard","record","ForbiddenException","usePostInterceptor","ret","cb","useInterceptor","interceptors","interceptor","interceptorRecord","postInterceptor","undefined","push","usePlugin","plugins","m","pluginRecord","defaultFilter","defaultPipe","addPlugin","key","handler","addPipe","setFilter","addGuard","addInterceptor","isAopDepInject","meta","pluginSet","Set","guardSet","interceptorSet","pipeSet","forEach","i","add","log","pc","white","red","cyan","blue"]}
|
|
@@ -9,6 +9,7 @@ var MODULE_SYMBOL = "__PS_MODULE__";
|
|
|
9
9
|
var META_SYMBOL = "__PS_META__";
|
|
10
10
|
var APP_SYMBOL = "__PS__";
|
|
11
11
|
var IS_DEV = process.env.NODE_ENV === "development";
|
|
12
|
+
var IS_STRICT = !!process.env.PS_STRICT;
|
|
12
13
|
|
|
13
14
|
// src/utils.ts
|
|
14
15
|
import pc from "picocolors";
|
|
@@ -30,6 +31,7 @@ export {
|
|
|
30
31
|
MODULE_SYMBOL,
|
|
31
32
|
META_SYMBOL,
|
|
32
33
|
APP_SYMBOL,
|
|
33
|
-
IS_DEV
|
|
34
|
+
IS_DEV,
|
|
35
|
+
IS_STRICT
|
|
34
36
|
};
|
|
35
|
-
//# sourceMappingURL=chunk-
|
|
37
|
+
//# sourceMappingURL=chunk-PIRUVYEF.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common.ts","../src/utils.ts"],"sourcesContent":["export const MERGE_SYMBOL = '__PS_MERGE__'\nexport const UNMOUNT_SYMBOL = '__PS_UNMOUNT__'\nexport const MODULE_SYMBOL = '__PS_MODULE__'\nexport const META_SYMBOL = '__PS_META__'\nexport const APP_SYMBOL = '__PS__'\nexport const IS_DEV = process.env.NODE_ENV === 'development'\nexport const IS_STRICT = !!process.env.PS_STRICT\n","import pc from 'picocolors'\n\nexport function log(msg: string, level: 'error' | 'info' | 'warn' = 'info') {\n const color = ({ error: 'red', info: 'green', warn: 'yellow' } as const)[level]\n const date = new Date()\n // eslint-disable-next-line no-console\n console.log(`${pc.magenta('[phecda-server]')} ${pc.gray(`${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`)} ${pc[color](msg)}`)\n}\n"],"mappings":";;;;;AAAO,IAAMA,eAAe;AACrB,IAAMC,iBAAiB;AACvB,IAAMC,gBAAgB;AACtB,IAAMC,cAAc;AACpB,IAAMC,aAAa;AACnB,IAAMC,SAASC,QAAQC,IAAIC,aAAa;AACxC,IAAMC,YAAY,CAAC,CAACH,QAAQC,IAAIG;;;ACNvC,OAAOC,QAAQ;AAER,SAASC,IAAIC,KAAaC,QAAmC,QAAQ;AAC1E,QAAMC,QAAS;IAAEC,OAAO;IAAOC,MAAM;IAASC,MAAM;EAAS,EAAYJ;AACzE,QAAMK,OAAO,IAAIC,KAAAA;AAEjBC,UAAQT,IAAI,GAAGU,GAAGC,QAAQ,iBAAA,KAAsBD,GAAGE,KAAK,GAAGL,KAAKM,SAAQ,KAAMN,KAAKO,WAAU,KAAMP,KAAKQ,WAAU,GAAI,KAAKL,GAAGP,OAAOF,GAAAA,GAAM;AAC7I;AALgBD;","names":["MERGE_SYMBOL","UNMOUNT_SYMBOL","MODULE_SYMBOL","META_SYMBOL","APP_SYMBOL","IS_DEV","process","env","NODE_ENV","IS_STRICT","PS_STRICT","pc","log","msg","level","color","error","info","warn","date","Date","console","pc","magenta","gray","getHours","getMinutes","getSeconds"]}
|
|
@@ -9,6 +9,7 @@ var MODULE_SYMBOL = "__PS_MODULE__";
|
|
|
9
9
|
var META_SYMBOL = "__PS_META__";
|
|
10
10
|
var APP_SYMBOL = "__PS__";
|
|
11
11
|
var IS_DEV = process.env.NODE_ENV === "development";
|
|
12
|
+
var IS_STRICT = !!process.env.PS_STRICT;
|
|
12
13
|
|
|
13
14
|
// src/utils.ts
|
|
14
15
|
var _picocolors = require('picocolors'); var _picocolors2 = _interopRequireDefault(_picocolors);
|
|
@@ -31,5 +32,6 @@ _chunkIIGNGFDCjs.__name.call(void 0, log, "log");
|
|
|
31
32
|
|
|
32
33
|
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
|
|
36
|
+
exports.log = log; exports.MERGE_SYMBOL = MERGE_SYMBOL; exports.UNMOUNT_SYMBOL = UNMOUNT_SYMBOL; exports.MODULE_SYMBOL = MODULE_SYMBOL; exports.META_SYMBOL = META_SYMBOL; exports.APP_SYMBOL = APP_SYMBOL; exports.IS_DEV = IS_DEV; exports.IS_STRICT = IS_STRICT;
|
|
37
|
+
//# sourceMappingURL=chunk-PU3LWJ2C.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common.ts","../src/utils.ts"],"names":["MERGE_SYMBOL","UNMOUNT_SYMBOL","MODULE_SYMBOL","META_SYMBOL","APP_SYMBOL","IS_DEV","process","env","NODE_ENV","IS_STRICT","PS_STRICT","pc","log","msg","level","color","error","info","warn","date","Date","console","magenta","gray","getHours","getMinutes","getSeconds"],"mappings":";;;;;AAAO,IAAMA,eAAe;AACrB,IAAMC,iBAAiB;AACvB,IAAMC,gBAAgB;AACtB,IAAMC,cAAc;AACpB,IAAMC,aAAa;AACnB,IAAMC,SAASC,QAAQC,IAAIC,aAAa;AACxC,IAAMC,YAAY,CAAC,CAACH,QAAQC,IAAIG;;;ACNvC,OAAOC,QAAQ;AAER,SAASC,IAAIC,KAAaC,QAAmC,QAAQ;AAC1E,QAAMC,QAAS;IAAEC,OAAO;IAAOC,MAAM;IAASC,MAAM;EAAS,EAAYJ;AACzE,QAAMK,OAAO,IAAIC,KAAAA;AAEjBC,UAAQT,IAAI,GAAGD,GAAGW,QAAQ,iBAAA,KAAsBX,GAAGY,KAAK,GAAGJ,KAAKK,SAAQ,KAAML,KAAKM,WAAU,KAAMN,KAAKO,WAAU,GAAI,KAAKf,GAAGI,OAAOF,GAAAA,GAAM;AAC7I;AALgBD","sourcesContent":["export const MERGE_SYMBOL = '__PS_MERGE__'\nexport const UNMOUNT_SYMBOL = '__PS_UNMOUNT__'\nexport const MODULE_SYMBOL = '__PS_MODULE__'\nexport const META_SYMBOL = '__PS_META__'\nexport const APP_SYMBOL = '__PS__'\nexport const IS_DEV = process.env.NODE_ENV === 'development'\nexport const IS_STRICT = !!process.env.PS_STRICT\n","import pc from 'picocolors'\n\nexport function log(msg: string, level: 'error' | 'info' | 'warn' = 'info') {\n const color = ({ error: 'red', info: 'green', warn: 'yellow' } as const)[level]\n const date = new Date()\n // eslint-disable-next-line no-console\n console.log(`${pc.magenta('[phecda-server]')} ${pc.gray(`${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`)} ${pc[color](msg)}`)\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { E as Exception, P } from './types-ead02c5d.js';
|
|
2
2
|
export { B as BaseError, C as Construct, a as Emitter, M as MergeType, R as RequestType, S as ServerErr, T as ToInstance } from './types-ead02c5d.js';
|
|
3
|
-
|
|
3
|
+
import { M as Meta } from './core-7c2dd0c7.js';
|
|
4
|
+
export { F as Factory, I as Injectable, e as emitter } from './core-7c2dd0c7.js';
|
|
4
5
|
export * from 'phecda-core';
|
|
5
6
|
|
|
6
7
|
declare class Histroy {
|
|
@@ -65,7 +66,7 @@ declare class FrameworkException extends Exception {
|
|
|
65
66
|
constructor(message: string);
|
|
66
67
|
}
|
|
67
68
|
|
|
68
|
-
declare const
|
|
69
|
+
declare const guardRecord: Record<string, P.Guard<any>>;
|
|
69
70
|
declare class Context<Data = any> {
|
|
70
71
|
tag: string;
|
|
71
72
|
data: Data;
|
|
@@ -74,8 +75,8 @@ declare class Context<Data = any> {
|
|
|
74
75
|
history: Histroy;
|
|
75
76
|
static filter: P.Filter;
|
|
76
77
|
static pipeRecord: Record<string, P.Pipe>;
|
|
77
|
-
static
|
|
78
|
-
static
|
|
78
|
+
static guardRecord: Record<string, P.Guard>;
|
|
79
|
+
static interceptorRecord: Record<string, P.Interceptor>;
|
|
79
80
|
static pluginRecord: Record<string, any>;
|
|
80
81
|
postInterceptors: Function[];
|
|
81
82
|
constructor(tag: string, data: Data);
|
|
@@ -99,6 +100,11 @@ declare function addPipe(key: string, pipe: P.Pipe): void;
|
|
|
99
100
|
declare function setFilter(filter: P.Filter): void;
|
|
100
101
|
declare function addGuard(key: string, handler: P.Guard): void;
|
|
101
102
|
declare function addInterceptor(key: string, handler: P.Interceptor): void;
|
|
103
|
+
declare function isAopDepInject(meta: Meta[], { guards, interceptors, plugins }?: {
|
|
104
|
+
guards?: string[];
|
|
105
|
+
interceptors?: string[];
|
|
106
|
+
plugins?: string[];
|
|
107
|
+
}): void;
|
|
102
108
|
|
|
103
109
|
declare function BaseParam(type: string, key: string): any;
|
|
104
110
|
declare function Pipe(key?: string, opts?: any): (target: any, k: PropertyKey, index: number) => void;
|
|
@@ -135,6 +141,7 @@ declare const MODULE_SYMBOL = "__PS_MODULE__";
|
|
|
135
141
|
declare const META_SYMBOL = "__PS_META__";
|
|
136
142
|
declare const APP_SYMBOL = "__PS__";
|
|
137
143
|
declare const IS_DEV: boolean;
|
|
144
|
+
declare const IS_STRICT: boolean;
|
|
138
145
|
|
|
139
146
|
declare class Dev {
|
|
140
147
|
[UNMOUNT_SYMBOL]: (() => void)[];
|
|
@@ -148,16 +155,16 @@ declare abstract class PFilter extends Dev {
|
|
|
148
155
|
|
|
149
156
|
declare abstract class PGuard extends Dev {
|
|
150
157
|
abstract use<C>(tag: string, ctx: C): Promise<boolean> | boolean;
|
|
151
|
-
constructor(
|
|
158
|
+
constructor();
|
|
152
159
|
}
|
|
153
160
|
|
|
154
161
|
declare abstract class PInterceptor extends Dev {
|
|
155
162
|
abstract use<C>(tag: string, ctx: C): ((arg: any) => any) | void;
|
|
156
|
-
constructor(
|
|
163
|
+
constructor();
|
|
157
164
|
}
|
|
158
165
|
|
|
159
166
|
declare abstract class PPipe<C = any> extends Dev {
|
|
160
|
-
constructor(
|
|
167
|
+
constructor();
|
|
161
168
|
abstract use(args: {
|
|
162
169
|
arg: any;
|
|
163
170
|
option?: any;
|
|
@@ -172,4 +179,4 @@ declare function generateRPCCode(meta: P.Meta[]): string;
|
|
|
172
179
|
|
|
173
180
|
declare function generateHTTPCode(meta: P.Meta[]): string;
|
|
174
181
|
|
|
175
|
-
export { APP_SYMBOL, Arg, BadGatewayException, BadRequestException, BaseParam, Body, ConflictException, Context, Controller, Define, Delete, Dev, Event, Exception, ForbiddenException, FrameworkException, Get, Guard, Head, Header, IS_DEV, Interceptor, InvalidInputException, MERGE_SYMBOL, META_SYMBOL, MODULE_SYMBOL, NotFoundException, P, PFilter, PGuard, PInterceptor, PPipe, 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,
|
|
182
|
+
export { APP_SYMBOL, Arg, BadGatewayException, BadRequestException, BaseParam, Body, ConflictException, Context, Controller, Define, Delete, Dev, 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, 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 };
|
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunk7E4FZ7TCjs = require('./chunk-7E4FZ7TC.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
var _chunkJGSJIKGNjs = require('./chunk-JGSJIKGN.js');
|
|
@@ -34,15 +34,17 @@ var _chunkJGSJIKGNjs = require('./chunk-JGSJIKGN.js');
|
|
|
34
34
|
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
var _chunkBP7CKHPKjs = require('./chunk-BP7CKHPK.js');
|
|
38
37
|
|
|
38
|
+
var _chunkB22W7BG7js = require('./chunk-B22W7BG7.js');
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
var _chunkPU3LWJ2Cjs = require('./chunk-PU3LWJ2C.js');
|
|
46
48
|
|
|
47
49
|
|
|
48
50
|
var _chunkIIGNGFDCjs = require('./chunk-IIGNGFDC.js');
|
|
@@ -262,57 +264,76 @@ _chunkIIGNGFDCjs.__name.call(void 0, Define, "Define");
|
|
|
262
264
|
|
|
263
265
|
|
|
264
266
|
// src/modules/dev.ts
|
|
265
|
-
|
|
266
|
-
|
|
267
|
+
|
|
268
|
+
var __decorate = function(decorators, target, key, desc) {
|
|
269
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
270
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
271
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
272
|
+
else
|
|
273
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
274
|
+
if (d = decorators[i])
|
|
275
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
276
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
277
|
+
};
|
|
278
|
+
var Dev = /* @__PURE__ */ _chunkIIGNGFDCjs.__name.call(void 0, (_class =class Dev2 {constructor() { _class.prototype.__init.call(this); }
|
|
279
|
+
__init() {this[_chunkPU3LWJ2Cjs.UNMOUNT_SYMBOL] = []}
|
|
267
280
|
onUnmount(cb) {
|
|
268
|
-
this[
|
|
281
|
+
this[_chunkPU3LWJ2Cjs.UNMOUNT_SYMBOL].push(cb);
|
|
269
282
|
}
|
|
270
|
-
}, _class);
|
|
271
|
-
|
|
283
|
+
}, _class), "Dev");
|
|
284
|
+
Dev = exports.Dev = __decorate([
|
|
285
|
+
_phecdacore.Empty
|
|
286
|
+
], Dev);
|
|
272
287
|
|
|
273
288
|
// src/modules/filter.ts
|
|
274
289
|
var PFilter = class extends Dev {
|
|
275
290
|
constructor() {
|
|
276
291
|
super();
|
|
277
|
-
|
|
292
|
+
_chunkB22W7BG7js.setFilter.call(void 0, this.use.bind(this));
|
|
278
293
|
this.onUnmount(() => {
|
|
279
|
-
|
|
294
|
+
_chunkB22W7BG7js.setFilter.call(void 0, _chunkB22W7BG7js.defaultFilter);
|
|
280
295
|
});
|
|
281
296
|
}
|
|
282
297
|
};
|
|
283
298
|
_chunkIIGNGFDCjs.__name.call(void 0, PFilter, "PFilter");
|
|
284
299
|
|
|
285
300
|
// src/modules/guard.ts
|
|
301
|
+
|
|
286
302
|
var PGuard = class extends Dev {
|
|
287
|
-
constructor(
|
|
303
|
+
constructor() {
|
|
288
304
|
super();
|
|
289
|
-
|
|
305
|
+
const key = _phecdacore.getSymbol.call(void 0, this);
|
|
306
|
+
_chunkB22W7BG7js.addGuard.call(void 0, key, this.use.bind(this));
|
|
290
307
|
this.onUnmount(() => {
|
|
291
|
-
|
|
308
|
+
delete _chunkB22W7BG7js.Context.guardRecord[key];
|
|
292
309
|
});
|
|
293
310
|
}
|
|
294
311
|
};
|
|
295
312
|
_chunkIIGNGFDCjs.__name.call(void 0, PGuard, "PGuard");
|
|
296
313
|
|
|
297
314
|
// src/modules/interceptor.ts
|
|
315
|
+
|
|
298
316
|
var PInterceptor = class extends Dev {
|
|
299
|
-
constructor(
|
|
317
|
+
constructor() {
|
|
300
318
|
super();
|
|
319
|
+
const key = _phecdacore.getSymbol.call(void 0, this);
|
|
301
320
|
this.onUnmount(() => {
|
|
302
|
-
|
|
321
|
+
delete _chunkB22W7BG7js.Context.interceptorRecord[key];
|
|
303
322
|
});
|
|
304
|
-
|
|
323
|
+
_chunkB22W7BG7js.addInterceptor.call(void 0, key, this.use.bind(this));
|
|
305
324
|
}
|
|
306
325
|
};
|
|
307
326
|
_chunkIIGNGFDCjs.__name.call(void 0, PInterceptor, "PInterceptor");
|
|
308
327
|
|
|
309
328
|
// src/modules/pipe.ts
|
|
329
|
+
|
|
310
330
|
var PPipe = class extends Dev {
|
|
311
|
-
constructor(
|
|
331
|
+
constructor() {
|
|
312
332
|
super();
|
|
313
|
-
|
|
333
|
+
const key = _phecdacore.getSymbol.call(void 0, this);
|
|
334
|
+
_chunkB22W7BG7js.addPipe.call(void 0, key, this.use.bind(this));
|
|
314
335
|
this.onUnmount(() => {
|
|
315
|
-
|
|
336
|
+
delete _chunkB22W7BG7js.Context.pipeRecord[key];
|
|
316
337
|
});
|
|
317
338
|
}
|
|
318
339
|
};
|
|
@@ -380,5 +401,7 @@ _chunkIIGNGFDCjs.__name.call(void 0, PPipe, "PPipe");
|
|
|
380
401
|
|
|
381
402
|
|
|
382
403
|
|
|
383
|
-
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
exports.APP_SYMBOL = _chunkPU3LWJ2Cjs.APP_SYMBOL; exports.Arg = Arg; exports.BadGatewayException = _chunkB22W7BG7js.BadGatewayException; exports.BadRequestException = _chunkB22W7BG7js.BadRequestException; exports.BaseParam = BaseParam; exports.Body = Body; exports.ConflictException = _chunkB22W7BG7js.ConflictException; exports.Context = _chunkB22W7BG7js.Context; exports.Controller = Controller; exports.Define = Define; exports.Delete = Delete; exports.Dev = Dev; exports.Event = Event; exports.Exception = _chunkB22W7BG7js.Exception; exports.Factory = _chunk7E4FZ7TCjs.Factory; exports.ForbiddenException = _chunkB22W7BG7js.ForbiddenException; exports.FrameworkException = _chunkB22W7BG7js.FrameworkException; exports.Get = Get; exports.Guard = Guard; exports.Head = Head; exports.Header = Header; exports.IS_DEV = _chunkPU3LWJ2Cjs.IS_DEV; exports.IS_STRICT = _chunkPU3LWJ2Cjs.IS_STRICT; exports.Injectable = _chunk7E4FZ7TCjs.Injectable; exports.Interceptor = Interceptor; exports.InvalidInputException = _chunkB22W7BG7js.InvalidInputException; exports.MERGE_SYMBOL = _chunkPU3LWJ2Cjs.MERGE_SYMBOL; exports.META_SYMBOL = _chunkPU3LWJ2Cjs.META_SYMBOL; exports.MODULE_SYMBOL = _chunkPU3LWJ2Cjs.MODULE_SYMBOL; exports.Meta = _chunk7E4FZ7TCjs.Meta; exports.NotFoundException = _chunkB22W7BG7js.NotFoundException; exports.PFilter = PFilter; exports.PGuard = PGuard; exports.PInterceptor = PInterceptor; exports.PPipe = PPipe; exports.Param = Param; exports.Patch = Patch; exports.PayloadLargeException = _chunkB22W7BG7js.PayloadLargeException; exports.Pipe = Pipe; exports.Plugin = Plugin; exports.Post = Post; exports.Put = Put; exports.Query = Query; exports.Route = Route; exports.Rpc = Rpc; exports.ServiceUnavailableException = _chunkB22W7BG7js.ServiceUnavailableException; exports.TimeoutException = _chunkB22W7BG7js.TimeoutException; exports.UNMOUNT_SYMBOL = _chunkPU3LWJ2Cjs.UNMOUNT_SYMBOL; exports.UnauthorizedException = _chunkB22W7BG7js.UnauthorizedException; exports.UndefinedException = _chunkB22W7BG7js.UndefinedException; exports.UnsupportedMediaTypeException = _chunkB22W7BG7js.UnsupportedMediaTypeException; exports.ValidateException = _chunkB22W7BG7js.ValidateException; exports.addGuard = _chunkB22W7BG7js.addGuard; exports.addInterceptor = _chunkB22W7BG7js.addInterceptor; exports.addPipe = _chunkB22W7BG7js.addPipe; exports.addPlugin = _chunkB22W7BG7js.addPlugin; exports.defaultPipe = _chunkB22W7BG7js.defaultPipe; exports.emitter = _chunk7E4FZ7TCjs.emitter; exports.generateHTTPCode = _chunk7E4FZ7TCjs.generateHTTPCode; exports.generateRPCCode = _chunk7E4FZ7TCjs.generateRPCCode; exports.guardRecord = _chunkB22W7BG7js.guardRecord; exports.isAopDepInject = _chunkB22W7BG7js.isAopDepInject; exports.resolveDep = _chunkJGSJIKGNjs.resolveDep; exports.setFilter = _chunkB22W7BG7js.setFilter;
|
|
384
407
|
//# 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"],"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","Dev","UNMOUNT_SYMBOL","onUnmount","cb","PFilter","constructor","setFilter","use","bind","defaultFilter","PGuard","addGuard","PInterceptor","addInterceptor","PPipe","addPipe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,eAAAA,cAAaC,YAAAA,iBAAgB;;;ACAtC,SAASD,aAAaC,gBAAgB;AAE/B,SAASC,UAAUC,MAAcC,KAAkB;AACxD,SAAO,CAACC,QAAaC,GAAgBC,UAAkB;AACrDP,gBAAYK,QAAQC,CAAAA;AAEpB,UAAME,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIL,CAAAA,KAAM,CAAC;AAC/D,QAAI,CAACE,MAAMI;AACTJ,YAAMI,SAAS,CAAA;AACjB,UAAMC,YAAYL,MAAMI,OAAOE,KAAK,CAACC,SAAcA,KAAKR,UAAUA,KAAAA;AAClE,QAAIM;AACFG,aAAOC,OAAOJ,WAAW;QAAEV;QAAMC;MAAI,CAAA;;AAGrCI,YAAMI,OAAOM,KAAK;QAAEf;QAAMC;QAAKG;MAAM,CAAA;AAEvCN,aAASI,QAAQC,GAAGE,KAAAA;EACtB;AACF;AAhBgBN;AAkBT,SAASiB,KAAKf,KAAcgB,MAAY;AAC7C,SAAO,CAACf,QAAaC,GAAgBC,UAAkB;AACrDP,gBAAYK,QAAQC,CAAAA;AAEpB,UAAME,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIL,CAAAA,KAAM,CAAC;AAC/D,UAAMO,YAAYL,MAAMI,OAAOE,KAAK,CAACC,SAAcA,KAAKR,UAAUA,KAAAA;AAClE,QAAIM;AACFG,aAAOC,OAAOJ,WAAW;QAAEQ,MAAMjB;QAAKkB,UAAUF;MAAK,CAAA;;AAGrDZ,YAAMI,OAAOM,KAAK;QAAEG,MAAMjB;QAAKkB,UAAUF;QAAMb;MAAM,CAAA;AAEvDN,aAASI,QAAQC,GAAGE,KAAAA;EACtB;AACF;AAdgBW;AAgBT,SAASI,KAAKnB,MAAM,IAAI;AAC7B,SAAOF,UAAU,QAAQE,GAAAA;AAC3B;AAFgBmB;AAIT,SAASC,KAAKpB,KAAa;AAChC,SAAOF,UAAU,WAAWE,IAAIqB,YAAW,CAAA;AAC7C;AAFgBD;AAIT,SAASE,MAAMtB,MAAM,IAAI;AAC9B,SAAOF,UAAU,SAASE,GAAAA;AAC5B;AAFgBsB;AAGT,SAASC,MAAMvB,KAAa;AACjC,SAAOF,UAAU,UAAUE,GAAAA;AAC7B;AAFgBuB;AAKT,SAASC,MAAM;AACpB,SAAO1B,UAAU,UAAU,EAAA;AAC7B;AAFgB0B;;;ACpDhB,SAAS5B,eAAAA,cAAaC,YAAAA,iBAAgB;AAE/B,SAAS4B,MAAMC,OAAe3B,MAAoB;AACvD,SAAO,CAACE,QAAaD,QAAsB;AACzC,QAAI,CAACA;AACHA,YAAM;AACRC,aAASD,QAAQ,YAAYC,OAAO0B,YAAY1B;AAEhDL,IAAAA,aAAYK,QAAQD,GAAAA;AAEpB,UAAMI,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIP,GAAAA,KAAQ,CAAC;AACjEI,UAAMwB,OAAO;MACXF;MACA3B;IACF;AACAF,IAAAA,UAASI,QAAQD,KAAKI,KAAAA;EACxB;AACF;AAfgBqB;AAiBT,SAASI,IAAIH,OAAe;AACjC,SAAOD,MAAMC,OAAO,KAAA;AACtB;AAFgBG;AAIT,SAASC,KAAKJ,OAAe;AAClC,SAAOD,MAAMC,OAAO,MAAA;AACtB;AAFgBI;AAGT,SAASC,IAAIL,OAAe;AACjC,SAAOD,MAAMC,OAAO,KAAA;AACtB;AAFgBK;AAIT,SAASC,MAAMN,OAAe;AACnC,SAAOD,MAAMC,OAAO,OAAA;AACtB;AAFgBM;AAGT,SAASC,OAAOP,OAAe;AACpC,SAAOD,MAAMC,OAAO,QAAA;AACtB;AAFgBO;AAIT,SAASC,WAAWR,QAAQ,IAAI;AACrC,SAAOD,MAAMC,KAAAA;AACf;AAFgBQ;AAIT,SAASC,OAAOC,OAAoC;AACzD,SAAO,CAACnC,QAAaD,QAAsB;AACzC,QAAI,CAACA;AACHA,YAAM;AACRC,aAASD,QAAQ,YAAYC,OAAO0B,YAAY1B;AAChDL,IAAAA,aAAYK,QAAQD,GAAAA;AACpB,UAAMI,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIP,GAAAA,KAAQ,CAAC;AACjE,QAAI,CAACI,MAAMiC;AACTjC,YAAMiC,MAAM,CAAC;AAEfjC,UAAMiC,IAAItC,OAAOqC;AACjBvC,IAAAA,UAASI,QAAQD,KAAKI,KAAAA;EACxB;AACF;AAbgB+B;AAcT,SAASG,MAAMC,UAAU,MAAM;AACpC,SAAO,CAACtC,QAAaD,QAAsB;AACzC,QAAI,CAACA;AACHA,YAAM;AACRC,aAASD,QAAQ,YAAYC,OAAO0B,YAAY1B;AAChDL,IAAAA,aAAYK,QAAQD,GAAAA;AACpB,UAAMI,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIP,GAAAA,KAAQ,CAAC;AACjE,QAAI,CAACI,MAAMiC;AACTjC,YAAMiC,MAAM,CAAC;AAEfjC,UAAMiC,IAAIE,UAAUA;AACpB1C,IAAAA,UAASI,QAAQD,KAAKI,KAAAA;EACxB;AACF;AAbgBkC;;;ACvDhB,SAAS1C,eAAAA,cAAaC,YAAAA,iBAAgB;AAE/B,SAAS2C,SAASC,QAAuB;AAC9C,SAAO,CAACxC,QAAaD,QAAsB;AACzC,QAAI,CAACA;AACHA,YAAM;AACRC,aAASD,QAAQ,YAAYC,OAAO0B,YAAY1B;AAEhDL,IAAAA,aAAYK,QAAQD,GAAAA;AAEpB,UAAMI,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIP,GAAAA,KAAQ,CAAC;AACjE,QAAI,CAACI,MAAMqC;AACTrC,YAAMqC,SAAS,CAAA;AACjBrC,UAAMqC,OAAO3B,KAAI,GAAI2B,MAAAA;AACrB5C,IAAAA,UAASI,QAAQD,KAAKI,KAAAA;EACxB;AACF;AAdgBoC;AAgBT,SAASE,UAAUC,SAAwB;AAChD,SAAO,CAAC1C,QAAaD,QAAsB;AACzC,QAAI,CAACA;AACHA,YAAM;AACRC,aAASD,QAAQ,YAAYC,OAAO0B,YAAY1B;AAEhDL,IAAAA,aAAYK,QAAQD,GAAAA;AAEpB,UAAMI,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIP,GAAAA,KAAQ,CAAC;AACjE,QAAI,CAACI,MAAMuC;AACTvC,YAAMuC,UAAU,CAAA;AAClBvC,UAAMuC,QAAQ7B,KAAI,GAAI6B,OAAAA;AACtB9C,IAAAA,UAASI,QAAQD,KAAKI,KAAAA;EACxB;AACF;AAdgBsC;AAgBT,SAASE,eAAeC,cAA6B;AAC1D,SAAO,CAAC5C,QAAaD,QAAsB;AACzC,QAAI,CAACA;AACHA,YAAM;AACRC,aAASD,QAAQ,YAAYC,OAAO0B,YAAY1B;AAEhDL,IAAAA,aAAYK,QAAQD,GAAAA;AAEpB,UAAMI,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIP,GAAAA,KAAQ,CAAC;AACjE,QAAI,CAACI,MAAMyC;AACTzC,YAAMyC,eAAe,CAAA;AACvBzC,UAAMyC,aAAa/B,KAAI,GAAI+B,YAAAA;AAC3BhD,IAAAA,UAASI,QAAQD,KAAKI,KAAAA;EACxB;AACF;AAdgBwC;;;AHhCT,SAASE,OAAOC,MAAcC,OAAe;AAClD,SAAO,CAAC/C,QAAaC,MAAmB;AACtCN,IAAAA,aAAYK,QAAQC,CAAAA;AACpB,UAAME,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIL,CAAAA,KAAM,CAAC;AAC/D,QAAI,CAACE,MAAM6C;AACT7C,YAAM6C,SAAS,CAAC;AAElB7C,UAAM6C,OAAOF,QAAQC;AACrBnD,IAAAA,UAASI,QAAQC,GAAGE,KAAAA;EACtB;AACF;AAVgB0C;AAYT,SAASI,OAAOlD,KAAagD,OAAY;AAC9C,SAAO,CAAC/C,QAAaC,MAAoB;AACvC,QAAI,CAACA,GAAG;AACNA,UAAI;AACJD,eAASA,OAAO0B;IAClB;AAEA/B,IAAAA,aAAYK,QAAQC,CAAAA;AACpB,UAAME,QAAQH,OAAOI,WAAWC,oBAAoBC,IAAIL,CAAAA,KAAM,CAAC;AAC/D,QAAI,CAACE,MAAM+C;AACT/C,YAAM+C,SAAS,CAAC;AAElB/C,UAAM+C,OAAOnD,OAAOgD;AACpBnD,IAAAA,UAASI,QAAQC,GAAGE,KAAAA;EACtB;AACF;AAfgB8C;;;AIPhB,cAAc;;;ACLP,IAAME,MAAN,MAAMA;EACX,CAACC,kBAAkC,CAAA;EACnCC,UAAUC,IAAgB;AACxB,SAAKF,gBAAgBvC,KAAKyC,EAAAA;EAC5B;AACF;AALaH;;;ACGN,IAAeI,UAAf,cAA+BJ,IAAAA;EACpCK,cAAc;AACZ,UAAK;AACLC,cAAU,KAAKC,IAAIC,KAAK,IAAI,CAAA;AAC5B,SAAKN,UAAU,MAAM;AACnBI,gBAAUG,aAAAA;IACZ,CAAA;EACF;AAGF;AAVsBL;;;ACFf,IAAeM,SAAf,cAA8BV,IAAAA;EAGnCK,YAAYzD,KAAa;AACvB,UAAK;AACL+D,aAAS/D,KAAK,KAAK2D,IAAIC,KAAK,IAAI,CAAA;AAEhC,SAAKN,UAAU,MAAM;AACnBS,eAAS/D,KAAK,IAAI;IACpB,CAAA;EACF;AACF;AAXsB8D;;;ACAf,IAAeE,eAAf,cAAoCZ,IAAAA;EAGzCK,YAAYzD,KAAa;AACvB,UAAK;AACL,SAAKsD,UAAU,MAAM;AACnBW,qBAAejE,KAAK,IAAI;IAC1B,CAAA;AACAiE,mBAAejE,KAAK,KAAK2D,IAAIC,KAAK,IAAI,CAAA;EACxC;AACF;AAVsBI;;;ACAf,IAAeE,QAAf,cAAsCd,IAAAA;EAC3CK,YAAYzD,KAAa;AACvB,UAAK;AACLmE,YAAQnE,KAAK,KAAK2D,IAAIC,KAAK,IAAI,CAAA;AAC/B,SAAKN,UAAU,MAAM;AACnBa,cAAQnE,KAAK,IAAI;IACnB,CAAA;EACF;AAGF;AAVsBkE","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 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 { UNMOUNT_SYMBOL } from '../common'\n\nexport class Dev {\n [UNMOUNT_SYMBOL]: (() => void)[] = []\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 extends Dev {\n constructor() {\n super()\n setFilter(this.use.bind(this))\n this.onUnmount(() => {\n setFilter(defaultFilter)\n })\n }\n\n abstract use< C, S, E extends Exception >(error: Error | E, tag?: string, ctx?: C): S\n}\n","import { addGuard } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PGuard extends Dev {\n abstract use<C>(tag: string, ctx: C): Promise<boolean> | boolean\n\n constructor(key: string) {\n super()\n addGuard(key, this.use.bind(this))\n\n this.onUnmount(() => {\n addGuard(key, null as any)\n })\n }\n}\n","import { addInterceptor } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PInterceptor extends Dev {\n abstract use<C>(tag: string, ctx: C): ((arg: any) => any) | void\n\n constructor(key: string) {\n super()\n this.onUnmount(() => {\n addInterceptor(key, null as any)\n })\n addInterceptor(key, this.use.bind(this))\n }\n}\n","import { addPipe } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PPipe<C = any> extends Dev {\n constructor(key: string) {\n super()\n addPipe(key, this.use.bind(this))\n this.onUnmount(() => {\n addPipe(key, null as any)\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"]}
|
|
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"],"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","UNMOUNT_SYMBOL","onUnmount","cb","PFilter","constructor","setFilter","use","bind","defaultFilter","getSymbol","PGuard","addGuard","Context","guardRecord","PInterceptor","interceptorRecord","addInterceptor","PPipe","addPipe","pipeRecord"],"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 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'\n\n@Empty\nexport class Dev {\n [UNMOUNT_SYMBOL]: (() => void)[] = []\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 extends Dev {\n constructor() {\n super()\n setFilter(this.use.bind(this))\n this.onUnmount(() => {\n setFilter(defaultFilter)\n })\n }\n\n abstract use< C, S, E extends Exception >(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 extends Dev {\n abstract use<C>(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 extends Dev {\n abstract use<C>(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"]}
|
package/dist/index.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
emitter,
|
|
6
6
|
generateHTTPCode,
|
|
7
7
|
generateRPCCode
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KVUJ3VJZ.mjs";
|
|
9
9
|
import {
|
|
10
10
|
resolveDep
|
|
11
11
|
} from "./chunk-HY6T4ZWQ.mjs";
|
|
@@ -32,17 +32,19 @@ import {
|
|
|
32
32
|
addPlugin,
|
|
33
33
|
defaultFilter,
|
|
34
34
|
defaultPipe,
|
|
35
|
-
|
|
35
|
+
guardRecord,
|
|
36
|
+
isAopDepInject,
|
|
36
37
|
setFilter
|
|
37
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-O2H7ERZR.mjs";
|
|
38
39
|
import {
|
|
39
40
|
APP_SYMBOL,
|
|
40
41
|
IS_DEV,
|
|
42
|
+
IS_STRICT,
|
|
41
43
|
MERGE_SYMBOL,
|
|
42
44
|
META_SYMBOL,
|
|
43
45
|
MODULE_SYMBOL,
|
|
44
46
|
UNMOUNT_SYMBOL
|
|
45
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-PIRUVYEF.mjs";
|
|
46
48
|
import {
|
|
47
49
|
__name
|
|
48
50
|
} from "./chunk-Q4FA4TAV.mjs";
|
|
@@ -262,13 +264,26 @@ __name(Define, "Define");
|
|
|
262
264
|
export * from "phecda-core";
|
|
263
265
|
|
|
264
266
|
// src/modules/dev.ts
|
|
265
|
-
|
|
267
|
+
import { Empty } from "phecda-core";
|
|
268
|
+
var __decorate = function(decorators, target, key, desc) {
|
|
269
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
270
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
271
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
272
|
+
else
|
|
273
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
274
|
+
if (d = decorators[i])
|
|
275
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
276
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
277
|
+
};
|
|
278
|
+
var Dev = /* @__PURE__ */ __name(class Dev2 {
|
|
266
279
|
[UNMOUNT_SYMBOL] = [];
|
|
267
280
|
onUnmount(cb) {
|
|
268
281
|
this[UNMOUNT_SYMBOL].push(cb);
|
|
269
282
|
}
|
|
270
|
-
};
|
|
271
|
-
|
|
283
|
+
}, "Dev");
|
|
284
|
+
Dev = __decorate([
|
|
285
|
+
Empty
|
|
286
|
+
], Dev);
|
|
272
287
|
|
|
273
288
|
// src/modules/filter.ts
|
|
274
289
|
var PFilter = class extends Dev {
|
|
@@ -283,23 +298,27 @@ var PFilter = class extends Dev {
|
|
|
283
298
|
__name(PFilter, "PFilter");
|
|
284
299
|
|
|
285
300
|
// src/modules/guard.ts
|
|
301
|
+
import { getSymbol } from "phecda-core";
|
|
286
302
|
var PGuard = class extends Dev {
|
|
287
|
-
constructor(
|
|
303
|
+
constructor() {
|
|
288
304
|
super();
|
|
305
|
+
const key = getSymbol(this);
|
|
289
306
|
addGuard(key, this.use.bind(this));
|
|
290
307
|
this.onUnmount(() => {
|
|
291
|
-
|
|
308
|
+
delete Context.guardRecord[key];
|
|
292
309
|
});
|
|
293
310
|
}
|
|
294
311
|
};
|
|
295
312
|
__name(PGuard, "PGuard");
|
|
296
313
|
|
|
297
314
|
// src/modules/interceptor.ts
|
|
315
|
+
import { getSymbol as getSymbol2 } from "phecda-core";
|
|
298
316
|
var PInterceptor = class extends Dev {
|
|
299
|
-
constructor(
|
|
317
|
+
constructor() {
|
|
300
318
|
super();
|
|
319
|
+
const key = getSymbol2(this);
|
|
301
320
|
this.onUnmount(() => {
|
|
302
|
-
|
|
321
|
+
delete Context.interceptorRecord[key];
|
|
303
322
|
});
|
|
304
323
|
addInterceptor(key, this.use.bind(this));
|
|
305
324
|
}
|
|
@@ -307,12 +326,14 @@ var PInterceptor = class extends Dev {
|
|
|
307
326
|
__name(PInterceptor, "PInterceptor");
|
|
308
327
|
|
|
309
328
|
// src/modules/pipe.ts
|
|
329
|
+
import { getSymbol as getSymbol3 } from "phecda-core";
|
|
310
330
|
var PPipe = class extends Dev {
|
|
311
|
-
constructor(
|
|
331
|
+
constructor() {
|
|
312
332
|
super();
|
|
333
|
+
const key = getSymbol3(this);
|
|
313
334
|
addPipe(key, this.use.bind(this));
|
|
314
335
|
this.onUnmount(() => {
|
|
315
|
-
|
|
336
|
+
delete Context.pipeRecord[key];
|
|
316
337
|
});
|
|
317
338
|
}
|
|
318
339
|
};
|
|
@@ -340,6 +361,7 @@ export {
|
|
|
340
361
|
Head,
|
|
341
362
|
Header,
|
|
342
363
|
IS_DEV,
|
|
364
|
+
IS_STRICT,
|
|
343
365
|
Injectable,
|
|
344
366
|
Interceptor,
|
|
345
367
|
InvalidInputException,
|
|
@@ -377,7 +399,8 @@ export {
|
|
|
377
399
|
emitter,
|
|
378
400
|
generateHTTPCode,
|
|
379
401
|
generateRPCCode,
|
|
380
|
-
|
|
402
|
+
guardRecord,
|
|
403
|
+
isAopDepInject,
|
|
381
404
|
resolveDep,
|
|
382
405
|
setFilter
|
|
383
406
|
};
|
package/dist/index.mjs.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"],"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 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 { UNMOUNT_SYMBOL } from '../common'\n\nexport class Dev {\n [UNMOUNT_SYMBOL]: (() => void)[] = []\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 extends Dev {\n constructor() {\n super()\n setFilter(this.use.bind(this))\n this.onUnmount(() => {\n setFilter(defaultFilter)\n })\n }\n\n abstract use< C, S, E extends Exception >(error: Error | E, tag?: string, ctx?: C): S\n}\n","import { addGuard } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PGuard extends Dev {\n abstract use<C>(tag: string, ctx: C): Promise<boolean> | boolean\n\n constructor(key: string) {\n super()\n addGuard(key, this.use.bind(this))\n\n this.onUnmount(() => {\n addGuard(key, null as any)\n })\n }\n}\n","import { addInterceptor } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PInterceptor extends Dev {\n abstract use<C>(tag: string, ctx: C): ((arg: any) => any) | void\n\n constructor(key: string) {\n super()\n this.onUnmount(() => {\n addInterceptor(key, null as any)\n })\n addInterceptor(key, this.use.bind(this))\n }\n}\n","import { addPipe } from '../context'\nimport { Dev } from './dev'\n\nexport abstract class PPipe<C = any> extends Dev {\n constructor(key: string) {\n super()\n addPipe(key, this.use.bind(this))\n this.onUnmount(() => {\n addPipe(key, null as any)\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"],"mappings":"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","names":["setModelVar","setState","setModelVar","setState","BaseParam","type","key","target","k","index","setModelVar","state","_namespace","__STATE_NAMESPACE__","get","params","existItem","find","item","Object","assign","push","setState","Pipe","opts","pipe","pipeOpts","Body","Head","toLowerCase","Query","Param","Arg","setModelVar","setState","Route","route","type","target","key","prototype","setModelVar","state","_namespace","__STATE_NAMESPACE__","get","http","setState","Get","Post","Put","Patch","Delete","Controller","Rpc","types","rpc","Event","isEvent","setModelVar","setState","Guard","guards","target","key","prototype","setModelVar","state","_namespace","__STATE_NAMESPACE__","get","push","setState","Plugin","plugins","Interceptor","interceptors","Header","name","value","target","k","setModelVar","state","_namespace","__STATE_NAMESPACE__","get","header","setState","Define","key","prototype","define","Dev","UNMOUNT_SYMBOL","onUnmount","cb","push","PFilter","Dev","constructor","setFilter","use","bind","onUnmount","defaultFilter","PGuard","Dev","constructor","key","addGuard","use","bind","onUnmount","PInterceptor","Dev","constructor","key","onUnmount","addInterceptor","use","bind","PPipe","Dev","constructor","key","addPipe","use","bind","onUnmount"]}
|
|
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"],"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 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'\n\n@Empty\nexport class Dev {\n [UNMOUNT_SYMBOL]: (() => void)[] = []\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 extends Dev {\n constructor() {\n super()\n setFilter(this.use.bind(this))\n this.onUnmount(() => {\n setFilter(defaultFilter)\n })\n }\n\n abstract use< C, S, E extends Exception >(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 extends Dev {\n abstract use<C>(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 extends Dev {\n abstract use<C>(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"],"mappings":"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","names":["setModelVar","setState","setModelVar","setState","BaseParam","type","key","target","k","index","setModelVar","state","_namespace","__STATE_NAMESPACE__","get","params","existItem","find","item","Object","assign","push","setState","Pipe","opts","pipe","pipeOpts","Body","Head","toLowerCase","Query","Param","Arg","setModelVar","setState","Route","route","type","target","key","prototype","setModelVar","state","_namespace","__STATE_NAMESPACE__","get","http","setState","Get","Post","Put","Patch","Delete","Controller","Rpc","types","rpc","Event","isEvent","setModelVar","setState","Guard","guards","target","key","prototype","setModelVar","state","_namespace","__STATE_NAMESPACE__","get","push","setState","Plugin","plugins","Interceptor","interceptors","Header","name","value","target","k","setModelVar","state","_namespace","__STATE_NAMESPACE__","get","header","setState","Define","key","prototype","define","Empty","Dev","UNMOUNT_SYMBOL","onUnmount","cb","push","Empty","PFilter","Dev","constructor","setFilter","use","bind","onUnmount","defaultFilter","getSymbol","PGuard","Dev","constructor","key","getSymbol","addGuard","use","bind","onUnmount","Context","guardRecord","getSymbol","PInterceptor","Dev","constructor","key","getSymbol","onUnmount","Context","interceptorRecord","addInterceptor","use","bind","getSymbol","PPipe","Dev","constructor","key","getSymbol","addPipe","use","bind","onUnmount","Context","pipeRecord"]}
|