@eggjs/controller-decorator 3.62.0 → 4.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/builder/ControllerMetaBuilderFactory.js +41 -0
- package/dist/builder/index.d.ts +1 -0
- package/dist/builder/index.js +2 -0
- package/dist/decorator/Acl.js +22 -0
- package/dist/decorator/Context.js +11 -0
- package/dist/decorator/Middleware.js +69 -0
- package/dist/decorator/http/HTTPController.js +29 -0
- package/dist/decorator/http/HTTPMethod.js +17 -0
- package/dist/decorator/http/HTTPParam.js +75 -0
- package/dist/decorator/http/Host.js +25 -0
- package/dist/decorator/http/index.d.ts +4 -0
- package/dist/decorator/http/index.js +5 -0
- package/dist/decorator/index.d.ts +4 -0
- package/dist/decorator/index.js +5 -0
- package/dist/{src/impl → impl}/http/HTTPControllerMetaBuilder.d.ts +1 -1
- package/dist/impl/http/HTTPControllerMetaBuilder.js +57 -0
- package/dist/{src/impl → impl}/http/HTTPControllerMethodMetaBuilder.d.ts +1 -1
- package/dist/impl/http/HTTPControllerMethodMetaBuilder.js +100 -0
- package/dist/impl/http/index.d.ts +2 -0
- package/dist/impl/http/index.js +3 -0
- package/dist/impl/index.d.ts +1 -0
- package/dist/impl/index.js +2 -0
- package/dist/index.d.ts +5 -20
- package/dist/index.js +7 -43
- package/dist/{src/model → model}/HTTPControllerMeta.d.ts +2 -4
- package/dist/model/HTTPControllerMeta.js +60 -0
- package/dist/model/HTTPCookies.js +4 -0
- package/dist/{src/model → model}/HTTPMethodMeta.d.ts +2 -3
- package/dist/model/HTTPMethodMeta.js +124 -0
- package/dist/model/HTTPRequest.d.ts +7 -0
- package/dist/model/HTTPRequest.js +3 -0
- package/dist/model/HTTPResponse.d.ts +10 -0
- package/dist/model/HTTPResponse.js +3 -0
- package/dist/model/index.d.ts +5 -0
- package/dist/model/index.js +6 -0
- package/dist/{src/util → util}/ControllerInfoUtil.d.ts +3 -5
- package/dist/util/ControllerInfoUtil.js +46 -0
- package/dist/{src/util → util}/ControllerMetadataUtil.d.ts +1 -1
- package/dist/util/ControllerMetadataUtil.js +20 -0
- package/dist/{src/util → util}/HTTPInfoUtil.d.ts +1 -1
- package/dist/util/HTTPInfoUtil.js +64 -0
- package/dist/util/HTTPPriorityUtil.js +42 -0
- package/dist/{src/util → util}/MethodInfoUtil.d.ts +2 -4
- package/dist/util/MethodInfoUtil.js +72 -0
- package/dist/util/index.d.ts +6 -0
- package/dist/util/index.js +7 -0
- package/dist/util/validator/ControllerValidator.js +15 -0
- package/dist/util/validator/MethodValidator.js +31 -0
- package/dist/util/validator/index.d.ts +2 -0
- package/dist/util/validator/index.js +3 -0
- package/package.json +31 -35
- package/README.json +0 -5
- package/dist/src/builder/ControllerMetaBuilderFactory.js +0 -49
- package/dist/src/decorator/Acl.js +0 -29
- package/dist/src/decorator/Context.js +0 -17
- package/dist/src/decorator/Middleware.js +0 -76
- package/dist/src/decorator/http/HTTPController.js +0 -39
- package/dist/src/decorator/http/HTTPMethod.js +0 -27
- package/dist/src/decorator/http/HTTPParam.js +0 -87
- package/dist/src/decorator/http/Host.js +0 -32
- package/dist/src/decorator/mcp/Extra.d.ts +0 -1
- package/dist/src/decorator/mcp/Extra.js +0 -12
- package/dist/src/decorator/mcp/MCPController.d.ts +0 -2
- package/dist/src/decorator/mcp/MCPController.js +0 -39
- package/dist/src/decorator/mcp/MCPPrompt.d.ts +0 -4
- package/dist/src/decorator/mcp/MCPPrompt.js +0 -34
- package/dist/src/decorator/mcp/MCPResource.d.ts +0 -2
- package/dist/src/decorator/mcp/MCPResource.js +0 -23
- package/dist/src/decorator/mcp/MCPTool.d.ts +0 -4
- package/dist/src/decorator/mcp/MCPTool.js +0 -34
- package/dist/src/impl/http/HTTPControllerMetaBuilder.js +0 -67
- package/dist/src/impl/http/HTTPControllerMethodMetaBuilder.js +0 -109
- package/dist/src/impl/mcp/MCPControllerMetaBuilder.d.ts +0 -11
- package/dist/src/impl/mcp/MCPControllerMetaBuilder.js +0 -83
- package/dist/src/impl/mcp/MCPControllerPromptMetaBuilder.d.ts +0 -8
- package/dist/src/impl/mcp/MCPControllerPromptMetaBuilder.js +0 -40
- package/dist/src/impl/mcp/MCPControllerResourceMetaBuilder.d.ts +0 -8
- package/dist/src/impl/mcp/MCPControllerResourceMetaBuilder.js +0 -38
- package/dist/src/impl/mcp/MCPControllerToolMetaBuilder.d.ts +0 -8
- package/dist/src/impl/mcp/MCPControllerToolMetaBuilder.js +0 -40
- package/dist/src/model/HTTPControllerMeta.js +0 -61
- package/dist/src/model/HTTPCookies.js +0 -8
- package/dist/src/model/HTTPMethodMeta.js +0 -139
- package/dist/src/model/HTTPRequest.d.ts +0 -4
- package/dist/src/model/HTTPRequest.js +0 -13
- package/dist/src/model/HTTPResponse.d.ts +0 -4
- package/dist/src/model/HTTPResponse.js +0 -13
- package/dist/src/model/MCPControllerMeta.d.ts +0 -26
- package/dist/src/model/MCPControllerMeta.js +0 -40
- package/dist/src/model/MCPPromptMeta.d.ts +0 -24
- package/dist/src/model/MCPPromptMeta.js +0 -18
- package/dist/src/model/MCPResourceMeta.d.ts +0 -25
- package/dist/src/model/MCPResourceMeta.js +0 -21
- package/dist/src/model/MCPToolMeta.d.ts +0 -22
- package/dist/src/model/MCPToolMeta.js +0 -17
- package/dist/src/model/index.d.ts +0 -9
- package/dist/src/model/index.js +0 -26
- package/dist/src/util/ControllerInfoUtil.js +0 -55
- package/dist/src/util/ControllerMetadataUtil.js +0 -24
- package/dist/src/util/HTTPInfoUtil.js +0 -67
- package/dist/src/util/HTTPPriorityUtil.js +0 -46
- package/dist/src/util/MCPInfoUtil.d.ts +0 -48
- package/dist/src/util/MCPInfoUtil.js +0 -108
- package/dist/src/util/MethodInfoUtil.js +0 -83
- package/dist/src/util/validator/ControllerValidator.js +0 -22
- package/dist/src/util/validator/MethodValidator.js +0 -38
- /package/dist/{src/builder → builder}/ControllerMetaBuilderFactory.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/Acl.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/Context.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/Middleware.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/http/HTTPController.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/http/HTTPMethod.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/http/HTTPParam.d.ts +0 -0
- /package/dist/{src/decorator → decorator}/http/Host.d.ts +0 -0
- /package/dist/{src/model → model}/HTTPCookies.d.ts +0 -0
- /package/dist/{src/util → util}/HTTPPriorityUtil.d.ts +0 -0
- /package/dist/{src/util → util}/validator/ControllerValidator.d.ts +0 -0
- /package/dist/{src/util → util}/validator/MethodValidator.d.ts +0 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { MetadataUtil } from '@eggjs/core-decorator';
|
|
2
|
+
import { MapUtil } from '@eggjs/tegg-common-util';
|
|
3
|
+
import { METHOD_ACL, METHOD_AOP_MIDDLEWARES, METHOD_AOP_REGISTER_MAP, METHOD_CONTEXT_INDEX, METHOD_CONTROLLER_HOST, METHOD_CONTROLLER_TYPE_MAP, METHOD_MIDDLEWARES, } from '@eggjs/tegg-types';
|
|
4
|
+
export class MethodInfoUtil {
|
|
5
|
+
static setMethodControllerType(clazz, methodName, controllerType) {
|
|
6
|
+
const methodControllerMap = MetadataUtil.initOwnMapMetaData(METHOD_CONTROLLER_TYPE_MAP, clazz, new Map());
|
|
7
|
+
methodControllerMap.set(methodName, controllerType);
|
|
8
|
+
}
|
|
9
|
+
static getMethodControllerType(clazz, methodName) {
|
|
10
|
+
const methodControllerMap = MetadataUtil.getMetaData(METHOD_CONTROLLER_TYPE_MAP, clazz);
|
|
11
|
+
return methodControllerMap?.get(methodName);
|
|
12
|
+
}
|
|
13
|
+
static setMethodContextIndexInArgs(index, clazz, methodName) {
|
|
14
|
+
const methodContextIndexMap = MetadataUtil.initOwnMapMetaData(METHOD_CONTEXT_INDEX, clazz, new Map());
|
|
15
|
+
methodContextIndexMap.set(methodName, index);
|
|
16
|
+
}
|
|
17
|
+
static getMethodContextIndex(clazz, methodName) {
|
|
18
|
+
const methodContextIndexMap = MetadataUtil.getMetaData(METHOD_CONTEXT_INDEX, clazz);
|
|
19
|
+
return methodContextIndexMap?.get(methodName);
|
|
20
|
+
}
|
|
21
|
+
static addMethodMiddleware(middleware, clazz, methodName) {
|
|
22
|
+
const methodMiddlewareMap = MetadataUtil.initOwnMapMetaData(METHOD_MIDDLEWARES, clazz, new Map());
|
|
23
|
+
const methodMiddlewares = MapUtil.getOrStore(methodMiddlewareMap, methodName, []);
|
|
24
|
+
methodMiddlewares.push(middleware);
|
|
25
|
+
}
|
|
26
|
+
static getMethodMiddlewares(clazz, methodName) {
|
|
27
|
+
const methodMiddlewareMap = MetadataUtil.getMetaData(METHOD_MIDDLEWARES, clazz);
|
|
28
|
+
return methodMiddlewareMap?.get(methodName) || [];
|
|
29
|
+
}
|
|
30
|
+
static addMethodAopMiddleware(middleware, clazz, methodName) {
|
|
31
|
+
const methodMiddlewareMap = MetadataUtil.initOwnMapMetaData(METHOD_AOP_MIDDLEWARES, clazz, new Map());
|
|
32
|
+
const methodMiddlewares = MapUtil.getOrStore(methodMiddlewareMap, methodName, []);
|
|
33
|
+
methodMiddlewares.push(middleware);
|
|
34
|
+
}
|
|
35
|
+
static getMethodAopMiddlewares(clazz, methodName) {
|
|
36
|
+
const methodMiddlewareMap = MetadataUtil.getMetaData(METHOD_AOP_MIDDLEWARES, clazz);
|
|
37
|
+
return methodMiddlewareMap?.get(methodName) || [];
|
|
38
|
+
}
|
|
39
|
+
static setMethodAcl(code, clazz, methodName) {
|
|
40
|
+
const methodAclMap = MetadataUtil.initOwnMapMetaData(METHOD_ACL, clazz, new Map());
|
|
41
|
+
methodAclMap.set(methodName, code);
|
|
42
|
+
}
|
|
43
|
+
static hasMethodAcl(clazz, methodName) {
|
|
44
|
+
const methodAclMap = MetadataUtil.getMetaData(METHOD_ACL, clazz);
|
|
45
|
+
return !!methodAclMap?.has(methodName);
|
|
46
|
+
}
|
|
47
|
+
static getMethodAcl(clazz, methodName) {
|
|
48
|
+
const methodAclMap = MetadataUtil.getMetaData(METHOD_ACL, clazz);
|
|
49
|
+
return methodAclMap?.get(methodName);
|
|
50
|
+
}
|
|
51
|
+
static setMethodHosts(hosts, clazz, methodName) {
|
|
52
|
+
const methodControllerMap = MetadataUtil.initOwnMapMetaData(METHOD_CONTROLLER_HOST, clazz, new Map());
|
|
53
|
+
methodControllerMap.set(methodName, hosts);
|
|
54
|
+
}
|
|
55
|
+
static getMethodHosts(clazz, methodName) {
|
|
56
|
+
const methodControllerMap = MetadataUtil.getMetaData(METHOD_CONTROLLER_HOST, clazz);
|
|
57
|
+
return methodControllerMap?.get(methodName);
|
|
58
|
+
}
|
|
59
|
+
static getMethods(clazz) {
|
|
60
|
+
const methodControllerMap = MetadataUtil.getMetaData(METHOD_CONTROLLER_TYPE_MAP, clazz);
|
|
61
|
+
return Array.from(methodControllerMap?.keys() || []);
|
|
62
|
+
}
|
|
63
|
+
static shouldRegisterAopMiddlewarePointCut(clazz, methodName) {
|
|
64
|
+
const methodControllerMap = MetadataUtil.getMetaData(METHOD_AOP_REGISTER_MAP, clazz);
|
|
65
|
+
return !(methodControllerMap && methodControllerMap.get(methodName));
|
|
66
|
+
}
|
|
67
|
+
static registerAopMiddlewarePointcut(clazz, methodName) {
|
|
68
|
+
const methodControllerMap = MetadataUtil.initOwnMapMetaData(METHOD_AOP_REGISTER_MAP, clazz, new Map());
|
|
69
|
+
methodControllerMap.set(methodName, true);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0aG9kSW5mb1V0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9NZXRob2RJbmZvVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xELE9BQU8sRUFFTCxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQzNELG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGtCQUFrQixHQUNuQixNQUFNLG1CQUFtQixDQUFDO0FBVTNCLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxLQUF3QixFQUFFLFVBQWtCLEVBQUUsY0FBa0M7UUFDN0csTUFBTSxtQkFBbUIsR0FBZSxZQUFZLENBQUMsa0JBQWtCLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN0SCxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBd0IsRUFBRSxVQUFrQjtRQUN6RSxNQUFNLG1CQUFtQixHQUEyQixZQUFZLENBQUMsV0FBVyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2hILE9BQU8sbUJBQW1CLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBbUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsTUFBTSxDQUFDLDJCQUEyQixDQUFDLEtBQWEsRUFBRSxLQUF3QixFQUFFLFVBQWtCO1FBQzVGLE1BQU0scUJBQXFCLEdBQTBCLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzdILHFCQUFxQixD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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./validator/index.js";
|
|
2
|
+
export * from "./ControllerInfoUtil.js";
|
|
3
|
+
export * from "./ControllerMetadataUtil.js";
|
|
4
|
+
export * from "./HTTPInfoUtil.js";
|
|
5
|
+
export * from "./HTTPPriorityUtil.js";
|
|
6
|
+
export * from "./MethodInfoUtil.js";
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQyJ9
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ClassUtil } from '@eggjs/tegg-metadata';
|
|
2
|
+
import { ControllerInfoUtil } from "../ControllerInfoUtil.js";
|
|
3
|
+
export class ControllerValidator {
|
|
4
|
+
// should throw error
|
|
5
|
+
// 1. use controller middleware but not has controller decorator
|
|
6
|
+
static validate(clazz) {
|
|
7
|
+
const controllerType = ControllerInfoUtil.getControllerType(clazz);
|
|
8
|
+
const middlewares = ControllerInfoUtil.getControllerMiddlewares(clazz);
|
|
9
|
+
if (middlewares.length && !controllerType) {
|
|
10
|
+
const desc = ClassUtil.classDescription(clazz);
|
|
11
|
+
throw new Error(`${desc} @Middleware should use with controller decorator`);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlclZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL3ZhbGlkYXRvci9Db250cm9sbGVyVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5RCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLHFCQUFxQjtJQUNyQixnRUFBZ0U7SUFDaEUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUF3QjtRQUN0QyxNQUFNLGNBQWMsR0FBRyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RSxJQUFJLFdBQVcsQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksbURBQW1ELENBQUMsQ0FBQztRQUM5RSxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ClassUtil } from '@eggjs/tegg-metadata';
|
|
2
|
+
import { MethodInfoUtil } from "../MethodInfoUtil.js";
|
|
3
|
+
import { ControllerInfoUtil } from "../ControllerInfoUtil.js";
|
|
4
|
+
export class MethodValidator {
|
|
5
|
+
// should throw error
|
|
6
|
+
// 1. use method middleware but not has method decorator
|
|
7
|
+
// 2. use context decorator but not has method decorator
|
|
8
|
+
// 3. method decorator type is not same as controller decorator type
|
|
9
|
+
static validate(clazz, methodName) {
|
|
10
|
+
const methodControllerType = MethodInfoUtil.getMethodControllerType(clazz, methodName);
|
|
11
|
+
const methodMiddlewares = MethodInfoUtil.getMethodMiddlewares(clazz, methodName);
|
|
12
|
+
const contextIndex = MethodInfoUtil.getMethodContextIndex(clazz, methodName);
|
|
13
|
+
if (!methodControllerType) {
|
|
14
|
+
if (methodMiddlewares.length) {
|
|
15
|
+
const desc = ClassUtil.classDescription(clazz);
|
|
16
|
+
throw new Error(`${desc}:${methodName} @Middleware should use with method decorator`);
|
|
17
|
+
}
|
|
18
|
+
if (contextIndex !== undefined) {
|
|
19
|
+
const desc = ClassUtil.classDescription(clazz);
|
|
20
|
+
throw new Error(`${desc}:${methodName} @Context should use with method decorator`);
|
|
21
|
+
}
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const controllerType = ControllerInfoUtil.getControllerType(clazz);
|
|
25
|
+
if (methodControllerType !== controllerType) {
|
|
26
|
+
const desc = ClassUtil.classDescription(clazz);
|
|
27
|
+
throw new Error(`${desc}:${methodName} method decorator ${methodControllerType} can not be used with ${controllerType}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWV0aG9kVmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3V0aWwvdmFsaWRhdG9yL01ldGhvZFZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlELE1BQU0sT0FBTyxlQUFlO0lBQzFCLHFCQUFxQjtJQUNyQix3REFBd0Q7SUFDeEQsd0RBQXdEO0lBQ3hELG9FQUFvRTtJQUNwRSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQXdCLEVBQUUsVUFBa0I7UUFDMUQsTUFBTSxvQkFBb0IsR0FBRyxjQUFjLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZGLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRixNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMscUJBQXFCLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzFCLElBQUksaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxVQUFVLCtDQUErQyxDQUFDLENBQUM7WUFDeEYsQ0FBQztZQUNELElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUMvQixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksVUFBVSw0Q0FBNEMsQ0FBQyxDQUFDO1lBQ3JGLENBQUM7WUFDRCxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25FLElBQUksb0JBQW9CLEtBQUssY0FBYyxFQUFFLENBQUM7WUFDNUMsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksVUFBVSxxQkFBcUIsb0JBQW9CLHlCQUF5QixjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQzNILENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./ControllerValidator.js";
|
|
2
|
+
export * from "./MethodValidator.js";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC92YWxpZGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHNCQUFzQixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eggjs/controller-decorator",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-beta.10",
|
|
4
4
|
"description": "tegg controller decorator",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"egg",
|
|
@@ -9,22 +9,17 @@
|
|
|
9
9
|
"controller",
|
|
10
10
|
"tegg"
|
|
11
11
|
],
|
|
12
|
-
"
|
|
12
|
+
"type": "module",
|
|
13
|
+
"exports": {
|
|
14
|
+
".": "./dist/index.js",
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
13
17
|
"files": [
|
|
14
|
-
"dist
|
|
15
|
-
"dist/**/*.d.ts"
|
|
18
|
+
"dist"
|
|
16
19
|
],
|
|
17
|
-
"typings": "dist/index.d.ts",
|
|
18
|
-
"scripts": {
|
|
19
|
-
"test": "cross-env NODE_ENV=test NODE_OPTIONS='--no-deprecation' mocha",
|
|
20
|
-
"clean": "tsc -b --clean",
|
|
21
|
-
"tsc": "npm run clean && tsc -p ./tsconfig.json",
|
|
22
|
-
"tsc:pub": "npm run clean && tsc -p ./tsconfig.pub.json",
|
|
23
|
-
"prepublishOnly": "npm run tsc:pub"
|
|
24
|
-
},
|
|
25
20
|
"author": "killagu <killa123@126.com>",
|
|
26
21
|
"license": "MIT",
|
|
27
|
-
"homepage": "https://github.com/eggjs/tegg",
|
|
22
|
+
"homepage": "https://github.com/eggjs/tegg/tree/next/core/controller-decorator",
|
|
28
23
|
"bugs": {
|
|
29
24
|
"url": "https://github.com/eggjs/tegg/issues"
|
|
30
25
|
},
|
|
@@ -34,33 +29,34 @@
|
|
|
34
29
|
"directory": "core/controller-decorator"
|
|
35
30
|
},
|
|
36
31
|
"engines": {
|
|
37
|
-
"node": ">=
|
|
32
|
+
"node": ">=22.18.0"
|
|
38
33
|
},
|
|
39
34
|
"dependencies": {
|
|
40
|
-
"@eggjs/
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"@eggjs/
|
|
44
|
-
"@eggjs/tegg-metadata": "
|
|
45
|
-
"@eggjs/tegg-
|
|
46
|
-
"@
|
|
47
|
-
"
|
|
48
|
-
"path-to-regexp": "^1.8.0",
|
|
49
|
-
"reflect-metadata": "^0.1.13",
|
|
50
|
-
"undici": "^5.26.5",
|
|
51
|
-
"zod": "^3.24.4"
|
|
35
|
+
"@eggjs/cookies": "beta",
|
|
36
|
+
"is-type-of": "^2.2.0",
|
|
37
|
+
"path-to-regexp": "^1.9.0",
|
|
38
|
+
"@eggjs/aop-decorator": "4.0.0-beta.10",
|
|
39
|
+
"@eggjs/tegg-metadata": "4.0.0-beta.10",
|
|
40
|
+
"@eggjs/tegg-common-util": "4.0.0-beta.10",
|
|
41
|
+
"@eggjs/tegg-types": "4.0.0-beta.10",
|
|
42
|
+
"@eggjs/core-decorator": "4.0.0-beta.10"
|
|
52
43
|
},
|
|
53
44
|
"devDependencies": {
|
|
54
|
-
"@types/
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"ts-node": "^10.9.1",
|
|
60
|
-
"typescript": "^5.0.4"
|
|
45
|
+
"@types/node": "^22.10.5",
|
|
46
|
+
"egg": "beta",
|
|
47
|
+
"typescript": "^5.9.3",
|
|
48
|
+
"tsdown": "^0.15.6",
|
|
49
|
+
"unplugin-unused": "^0.5.3"
|
|
61
50
|
},
|
|
62
51
|
"publishConfig": {
|
|
63
52
|
"access": "public"
|
|
64
53
|
},
|
|
65
|
-
"
|
|
66
|
-
|
|
54
|
+
"main": "./dist/index.js",
|
|
55
|
+
"module": "./dist/index.js",
|
|
56
|
+
"types": "./dist/index.d.ts",
|
|
57
|
+
"scripts": {
|
|
58
|
+
"clean": "rimraf dist",
|
|
59
|
+
"build": "tsdown && rimraf dist && tsc -b --clean && tsc",
|
|
60
|
+
"typecheck": "tsc --noEmit"
|
|
61
|
+
}
|
|
62
|
+
}
|
package/README.json
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ControllerMetaBuilderFactory = void 0;
|
|
7
|
-
const ControllerInfoUtil_1 = __importDefault(require("../util/ControllerInfoUtil"));
|
|
8
|
-
const MethodInfoUtil_1 = __importDefault(require("../util/MethodInfoUtil"));
|
|
9
|
-
const aop_decorator_1 = require("@eggjs/aop-decorator");
|
|
10
|
-
class ControllerMetaBuilderFactory {
|
|
11
|
-
static registerControllerMetaBuilder(controllerType, controllerBuilderCreator) {
|
|
12
|
-
this.builderCreatorMap.set(controllerType, controllerBuilderCreator);
|
|
13
|
-
}
|
|
14
|
-
static createControllerMetaBuilder(clazz, controllerType) {
|
|
15
|
-
if (!controllerType) {
|
|
16
|
-
controllerType = ControllerInfoUtil_1.default.getControllerType(clazz);
|
|
17
|
-
}
|
|
18
|
-
if (!controllerType) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
const creator = this.builderCreatorMap.get(controllerType);
|
|
22
|
-
if (!creator) {
|
|
23
|
-
throw new Error(`not found controller meta builder for type ${controllerType}`);
|
|
24
|
-
}
|
|
25
|
-
return creator(clazz);
|
|
26
|
-
}
|
|
27
|
-
static build(clazz, controllerType) {
|
|
28
|
-
const builder = ControllerMetaBuilderFactory.createControllerMetaBuilder(clazz, controllerType);
|
|
29
|
-
if (!builder)
|
|
30
|
-
return;
|
|
31
|
-
const metadata = builder.build();
|
|
32
|
-
if (!metadata)
|
|
33
|
-
return;
|
|
34
|
-
const controllerAopMws = ControllerInfoUtil_1.default.getControllerAopMiddlewares(clazz);
|
|
35
|
-
for (const { name } of metadata.methods) {
|
|
36
|
-
const methodAopMws = MethodInfoUtil_1.default.getMethodAopMiddlewares(clazz, name);
|
|
37
|
-
if (MethodInfoUtil_1.default.shouldRegisterAopMiddlewarePointCut(clazz, name)) {
|
|
38
|
-
for (const mw of [...methodAopMws, ...controllerAopMws].reverse()) {
|
|
39
|
-
(0, aop_decorator_1.Pointcut)(mw)(clazz.prototype, name);
|
|
40
|
-
}
|
|
41
|
-
MethodInfoUtil_1.default.registerAopMiddlewarePointcut(clazz, name);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return metadata;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.ControllerMetaBuilderFactory = ControllerMetaBuilderFactory;
|
|
48
|
-
ControllerMetaBuilderFactory.builderCreatorMap = new Map();
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlck1ldGFCdWlsZGVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9idWlsZGVyL0NvbnRyb2xsZXJNZXRhQnVpbGRlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBTUEsb0ZBQTREO0FBQzVELDRFQUFvRDtBQUNwRCx3REFBZ0Q7QUFFaEQsTUFBYSw0QkFBNEI7SUFHdkMsTUFBTSxDQUFDLDZCQUE2QixDQUFDLGNBQWtDLEVBQUUsd0JBQXNEO1FBQzdILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVELE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxLQUF3QixFQUFFLGNBQW1DO1FBQzlGLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixjQUFjLEdBQUcsNEJBQWtCLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUNELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNwQixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNsRixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBd0IsRUFBRSxjQUFtQztRQUN4RSxNQUFNLE9BQU8sR0FBRyw0QkFBNEIsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDaEcsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBQ3JCLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyw0QkFBa0IsQ0FBQywyQkFBMkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxLQUFLLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsd0JBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSx3QkFBYyxDQUFDLG1DQUFtQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNwRSxLQUFLLE1BQU0sRUFBRSxJQUFJLENBQUUsR0FBRyxZQUFZLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7b0JBQ3BFLElBQUEsd0JBQVEsRUFBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxDQUFDO2dCQUNELHdCQUFjLENBQUMsNkJBQTZCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzVELENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7QUF0Q0gsb0VBdUNDO0FBdENnQiw4Q0FBaUIsR0FBMEQsSUFBSSxHQUFHLEVBQUUsQ0FBQyJ9
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Acl = Acl;
|
|
7
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
-
const ControllerInfoUtil_1 = __importDefault(require("../util/ControllerInfoUtil"));
|
|
9
|
-
const MethodInfoUtil_1 = __importDefault(require("../util/MethodInfoUtil"));
|
|
10
|
-
function Acl(code) {
|
|
11
|
-
function classAcl(constructor) {
|
|
12
|
-
ControllerInfoUtil_1.default.setControllerAcl(code, constructor);
|
|
13
|
-
}
|
|
14
|
-
function methodAcl(target, propertyKey) {
|
|
15
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
16
|
-
const controllerClazz = target.constructor;
|
|
17
|
-
const methodName = propertyKey;
|
|
18
|
-
MethodInfoUtil_1.default.setMethodAcl(code, controllerClazz, methodName);
|
|
19
|
-
}
|
|
20
|
-
return function (target, propertyKey) {
|
|
21
|
-
if (propertyKey === undefined) {
|
|
22
|
-
classAcl(target);
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
methodAcl(target, propertyKey);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWNsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RlY29yYXRvci9BY2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSxrQkFvQkM7QUF6QkQsOERBQWlDO0FBRWpDLG9GQUE0RDtBQUM1RCw0RUFBb0Q7QUFFcEQsU0FBZ0IsR0FBRyxDQUFDLElBQWE7SUFDL0IsU0FBUyxRQUFRLENBQUMsV0FBOEI7UUFDOUMsNEJBQWtCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxTQUFTLFNBQVMsQ0FBQyxNQUFXLEVBQUUsV0FBd0I7UUFDdEQsSUFBQSxxQkFBTSxFQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFDcEMsZUFBZSxNQUFNLENBQUMsSUFBSSxxREFBcUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUNoRSxNQUFNLFVBQVUsR0FBRyxXQUFxQixDQUFDO1FBQ3pDLHdCQUFjLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBeUI7UUFDcEQsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25CLENBQUM7YUFBTSxDQUFDO1lBQ04sU0FBUyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Context = Context;
|
|
7
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
-
const MethodInfoUtil_1 = __importDefault(require("../util/MethodInfoUtil"));
|
|
9
|
-
function Context() {
|
|
10
|
-
return function (target, propertyKey, parameterIndex) {
|
|
11
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
12
|
-
const methodName = propertyKey;
|
|
13
|
-
const controllerClazz = target.constructor;
|
|
14
|
-
MethodInfoUtil_1.default.setMethodContextIndexInArgs(parameterIndex, controllerClazz, methodName);
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvQ29udGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBLDBCQVFDO0FBWkQsOERBQWlDO0FBRWpDLDRFQUFvRDtBQUVwRCxTQUFnQixPQUFPO0lBQ3JCLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUMzRSxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDaEUsd0JBQWMsQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFGLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Middleware = Middleware;
|
|
7
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
-
const is_type_of_1 = __importDefault(require("is-type-of"));
|
|
9
|
-
const ControllerInfoUtil_1 = __importDefault(require("../util/ControllerInfoUtil"));
|
|
10
|
-
const MethodInfoUtil_1 = __importDefault(require("../util/MethodInfoUtil"));
|
|
11
|
-
const aop_decorator_1 = require("@eggjs/aop-decorator");
|
|
12
|
-
var MiddlewareType;
|
|
13
|
-
(function (MiddlewareType) {
|
|
14
|
-
MiddlewareType["AOP"] = "AOP";
|
|
15
|
-
MiddlewareType["MiddlewareFunc"] = "MiddlewareFunc";
|
|
16
|
-
})(MiddlewareType || (MiddlewareType = {}));
|
|
17
|
-
function isAop(mw) {
|
|
18
|
-
return is_type_of_1.default.class(mw) && aop_decorator_1.AdviceInfoUtil.isAdvice(mw);
|
|
19
|
-
}
|
|
20
|
-
function isAopTypeOrMiddlewareType(middlewares) {
|
|
21
|
-
const adviceCount = middlewares.filter(t => isAop(t)).length;
|
|
22
|
-
if (adviceCount) {
|
|
23
|
-
if (adviceCount === middlewares.length) {
|
|
24
|
-
return MiddlewareType.AOP;
|
|
25
|
-
}
|
|
26
|
-
throw new Error('AOP and MiddlewareFunc can not be mixed');
|
|
27
|
-
}
|
|
28
|
-
return MiddlewareType.MiddlewareFunc;
|
|
29
|
-
}
|
|
30
|
-
function Middleware(...middlewares) {
|
|
31
|
-
function functionTypeClassMiddleware(constructor) {
|
|
32
|
-
middlewares.forEach(mid => {
|
|
33
|
-
ControllerInfoUtil_1.default.addControllerMiddleware(mid, constructor);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
function aopTypeClassMiddleware(constructor) {
|
|
37
|
-
for (const aopAdvice of middlewares) {
|
|
38
|
-
ControllerInfoUtil_1.default.addControllerAopMiddleware(aopAdvice, constructor);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function functionTypeMethodMiddleware(target, propertyKey) {
|
|
42
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
43
|
-
const controllerClazz = target.constructor;
|
|
44
|
-
const methodName = propertyKey;
|
|
45
|
-
middlewares.forEach(mid => {
|
|
46
|
-
MethodInfoUtil_1.default.addMethodMiddleware(mid, controllerClazz, methodName);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
function aopTypeMethodMiddleware(target, propertyKey) {
|
|
50
|
-
const controllerClazz = target.constructor;
|
|
51
|
-
const methodName = propertyKey;
|
|
52
|
-
for (const aopAdvice of middlewares) {
|
|
53
|
-
MethodInfoUtil_1.default.addMethodAopMiddleware(aopAdvice, controllerClazz, methodName);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
return function (target, propertyKey) {
|
|
57
|
-
const type = isAopTypeOrMiddlewareType(middlewares);
|
|
58
|
-
if (propertyKey === undefined) {
|
|
59
|
-
if (type === MiddlewareType.AOP) {
|
|
60
|
-
aopTypeClassMiddleware(target);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
functionTypeClassMiddleware(target);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
if (type === MiddlewareType.AOP) {
|
|
68
|
-
aopTypeMethodMiddleware(target, propertyKey);
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
functionTypeMethodMiddleware(target, propertyKey);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvTWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQTJCQSxnQ0ErQ0M7QUExRUQsOERBQWlDO0FBRWpDLDREQUE0QjtBQUM1QixvRkFBNEQ7QUFDNUQsNEVBQW9EO0FBQ3BELHdEQUFzRDtBQUV0RCxJQUFLLGNBR0o7QUFIRCxXQUFLLGNBQWM7SUFDakIsNkJBQVcsQ0FBQTtJQUNYLG1EQUFpQyxDQUFBO0FBQ25DLENBQUMsRUFISSxjQUFjLEtBQWQsY0FBYyxRQUdsQjtBQUVELFNBQVMsS0FBSyxDQUFDLEVBQStDO0lBQzVELE9BQU8sb0JBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksOEJBQWMsQ0FBQyxRQUFRLENBQUMsRUFBZ0MsQ0FBQyxDQUFDO0FBQ25GLENBQUM7QUFFRCxTQUFTLHlCQUF5QixDQUFDLFdBQXNFO0lBQ3ZHLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDN0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNoQixJQUFJLFdBQVcsS0FBSyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkMsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDO1FBQzVCLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELE9BQU8sY0FBYyxDQUFDLGNBQWMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLEdBQUcsV0FBc0U7SUFDbEcsU0FBUywyQkFBMkIsQ0FBQyxXQUE4QjtRQUNqRSxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLDRCQUFrQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLHNCQUFzQixDQUFDLFdBQThCO1FBQzVELEtBQUssTUFBTSxTQUFTLElBQUksV0FBMkMsRUFBRSxDQUFDO1lBQ3BFLDRCQUFrQixDQUFDLDBCQUEwQixDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztJQUVELFNBQVMsNEJBQTRCLENBQUMsTUFBVyxFQUFFLFdBQXdCO1FBQ3pFLElBQUEscUJBQU0sRUFBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQ3BDLGVBQWUsTUFBTSxDQUFDLElBQUkscURBQXFELE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEcsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsV0FBcUIsQ0FBQztRQUN6QyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLHdCQUFjLENBQUMsbUJBQW1CLENBQUMsR0FBRyxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLHVCQUF1QixDQUFDLE1BQVcsRUFBRSxXQUF3QjtRQUNwRSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUNoRSxNQUFNLFVBQVUsR0FBRyxXQUFxQixDQUFDO1FBQ3pDLEtBQUssTUFBTSxTQUFTLElBQUksV0FBMkMsRUFBRSxDQUFDO1lBQ3BFLHdCQUFjLENBQUMsc0JBQXNCLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNoRixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBeUI7UUFDcEQsTUFBTSxJQUFJLEdBQUcseUJBQXlCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEQsSUFBSSxXQUFXLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNoQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEMsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxJQUFJLEtBQUssY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNoQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDL0MsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLDRCQUE0QixDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNwRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HTTPController = HTTPController;
|
|
7
|
-
const core_decorator_1 = require("@eggjs/core-decorator");
|
|
8
|
-
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
9
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
10
|
-
const ControllerInfoUtil_1 = __importDefault(require("../../util/ControllerInfoUtil"));
|
|
11
|
-
const HTTPInfoUtil_1 = __importDefault(require("../../util/HTTPInfoUtil"));
|
|
12
|
-
function HTTPController(param) {
|
|
13
|
-
return function (constructor) {
|
|
14
|
-
ControllerInfoUtil_1.default.setControllerType(constructor, tegg_types_1.ControllerType.HTTP);
|
|
15
|
-
if (param === null || param === void 0 ? void 0 : param.controllerName) {
|
|
16
|
-
ControllerInfoUtil_1.default.setControllerName(constructor, param.controllerName);
|
|
17
|
-
}
|
|
18
|
-
if (param === null || param === void 0 ? void 0 : param.timeout) {
|
|
19
|
-
ControllerInfoUtil_1.default.setControllerTimeout(param.timeout, constructor);
|
|
20
|
-
}
|
|
21
|
-
if (param === null || param === void 0 ? void 0 : param.path) {
|
|
22
|
-
HTTPInfoUtil_1.default.setHTTPPath(param.path, constructor);
|
|
23
|
-
}
|
|
24
|
-
// TODO elegant?
|
|
25
|
-
const func = (0, core_decorator_1.SingletonProto)({
|
|
26
|
-
accessLevel: tegg_types_1.AccessLevel.PUBLIC,
|
|
27
|
-
name: param === null || param === void 0 ? void 0 : param.protoName,
|
|
28
|
-
});
|
|
29
|
-
func(constructor);
|
|
30
|
-
// './tegg/core/common-util/src/StackUtil.ts',
|
|
31
|
-
// './tegg/core/core-decorator/src/decorator/Prototype.ts',
|
|
32
|
-
// './tegg/core/controller-decorator/src/decorator/http/HTTPController.ts',
|
|
33
|
-
// './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
|
|
34
|
-
// './tegg/core/core-decorator/node_modules/_reflect-metadata@0.1.13@reflect-metadata/Reflect.js',
|
|
35
|
-
// './tegg/core/controller-decorator/test/fixtures/TRFooController.ts',
|
|
36
|
-
core_decorator_1.PrototypeUtil.setFilePath(constructor, tegg_common_util_1.StackUtil.getCalleeFromStack(false, 5));
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZGVjb3JhdG9yL2h0dHAvSFRUUENvbnRyb2xsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFPQSx3Q0EyQkM7QUFsQ0QsMERBQXNFO0FBQ3RFLDhEQUFvRDtBQUVwRCxrREFBZ0U7QUFDaEUsdUZBQStEO0FBQy9ELDJFQUFtRDtBQUVuRCxTQUFnQixjQUFjLENBQUMsS0FBNEI7SUFDekQsT0FBTyxVQUFTLFdBQThCO1FBQzVDLDRCQUFrQixDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSwyQkFBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLGNBQWMsRUFBRSxDQUFDO1lBQzFCLDRCQUFrQixDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUNELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ25CLDRCQUFrQixDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDdEUsQ0FBQztRQUNELElBQUksS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hCLHNCQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDcEQsQ0FBQztRQUNELGdCQUFnQjtRQUNoQixNQUFNLElBQUksR0FBRyxJQUFBLCtCQUFjLEVBQUM7WUFDMUIsV0FBVyxFQUFFLHdCQUFXLENBQUMsTUFBTTtZQUMvQixJQUFJLEVBQUUsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLFNBQVM7U0FDdkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxCLDhDQUE4QztRQUM5QywyREFBMkQ7UUFDM0QsMkVBQTJFO1FBQzNFLGtHQUFrRztRQUNsRyxrR0FBa0c7UUFDbEcsdUVBQXVFO1FBQ3ZFLDhCQUFhLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSw0QkFBUyxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HTTPMethod = HTTPMethod;
|
|
7
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
8
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
9
|
-
const HTTPInfoUtil_1 = __importDefault(require("../../util/HTTPInfoUtil"));
|
|
10
|
-
const MethodInfoUtil_1 = __importDefault(require("../../util/MethodInfoUtil"));
|
|
11
|
-
function HTTPMethod(param) {
|
|
12
|
-
return function (target, propertyKey) {
|
|
13
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
14
|
-
const controllerClazz = target.constructor;
|
|
15
|
-
const methodName = propertyKey;
|
|
16
|
-
MethodInfoUtil_1.default.setMethodControllerType(controllerClazz, methodName, tegg_types_1.ControllerType.HTTP);
|
|
17
|
-
HTTPInfoUtil_1.default.setHTTPMethodPath(param.path, controllerClazz, methodName);
|
|
18
|
-
HTTPInfoUtil_1.default.setHTTPMethodMethod(param.method, controllerClazz, methodName);
|
|
19
|
-
if (param.timeout) {
|
|
20
|
-
MethodInfoUtil_1.default.setMethodTimeout(param.timeout, controllerClazz, methodName);
|
|
21
|
-
}
|
|
22
|
-
if (param.priority !== undefined) {
|
|
23
|
-
HTTPInfoUtil_1.default.setHTTPMethodPriority(param.priority, controllerClazz, methodName);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUE1ldGhvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kZWNvcmF0b3IvaHR0cC9IVFRQTWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsZ0NBZ0JDO0FBdEJELDhEQUFpQztBQUNqQyxrREFBbUQ7QUFFbkQsMkVBQW1EO0FBQ25ELCtFQUF1RDtBQUV2RCxTQUFnQixVQUFVLENBQUMsS0FBdUI7SUFDaEQsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QjtRQUNuRCxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsd0JBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLDJCQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekYsc0JBQVksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4RSxzQkFBWSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzVFLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLHdCQUFjLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUUsQ0FBQztRQUNELElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxzQkFBWSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7SUFDSCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HTTPBody = HTTPBody;
|
|
7
|
-
exports.HTTPHeaders = HTTPHeaders;
|
|
8
|
-
exports.HTTPQuery = HTTPQuery;
|
|
9
|
-
exports.HTTPQueries = HTTPQueries;
|
|
10
|
-
exports.HTTPParam = HTTPParam;
|
|
11
|
-
exports.Request = Request;
|
|
12
|
-
exports.Cookies = Cookies;
|
|
13
|
-
const node_assert_1 = __importDefault(require("node:assert"));
|
|
14
|
-
const tegg_types_1 = require("@eggjs/tegg-types");
|
|
15
|
-
const HTTPInfoUtil_1 = __importDefault(require("../../util/HTTPInfoUtil"));
|
|
16
|
-
const tegg_common_util_1 = require("@eggjs/tegg-common-util");
|
|
17
|
-
// TODO url params
|
|
18
|
-
// /foo/:id
|
|
19
|
-
// refactor HTTPQuery, HTTPBody, HTTPParam
|
|
20
|
-
function HTTPBody() {
|
|
21
|
-
return function (target, propertyKey, parameterIndex) {
|
|
22
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
23
|
-
const methodName = propertyKey;
|
|
24
|
-
const controllerClazz = target.constructor;
|
|
25
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.BODY, parameterIndex, controllerClazz, methodName);
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
function HTTPHeaders() {
|
|
29
|
-
return function (target, propertyKey, parameterIndex) {
|
|
30
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
31
|
-
const methodName = propertyKey;
|
|
32
|
-
const controllerClazz = target.constructor;
|
|
33
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.HEADERS, parameterIndex, controllerClazz, methodName);
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function HTTPQuery(param) {
|
|
37
|
-
return function (target, propertyKey, parameterIndex) {
|
|
38
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
39
|
-
const methodName = propertyKey;
|
|
40
|
-
const controllerClazz = target.constructor;
|
|
41
|
-
const argNames = tegg_common_util_1.ObjectUtils.getFunctionArgNameList(target[propertyKey]);
|
|
42
|
-
const name = (param === null || param === void 0 ? void 0 : param.name) || argNames[parameterIndex];
|
|
43
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.QUERY, parameterIndex, controllerClazz, methodName);
|
|
44
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamName(name, parameterIndex, controllerClazz, methodName);
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function HTTPQueries(param) {
|
|
48
|
-
return function (target, propertyKey, parameterIndex) {
|
|
49
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
50
|
-
const methodName = propertyKey;
|
|
51
|
-
const controllerClazz = target.constructor;
|
|
52
|
-
const argNames = tegg_common_util_1.ObjectUtils.getFunctionArgNameList(target[propertyKey]);
|
|
53
|
-
const name = (param === null || param === void 0 ? void 0 : param.name) || argNames[parameterIndex];
|
|
54
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.QUERIES, parameterIndex, controllerClazz, methodName);
|
|
55
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamName(name, parameterIndex, controllerClazz, methodName);
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
function HTTPParam(param) {
|
|
59
|
-
return function (target, propertyKey, parameterIndex) {
|
|
60
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
61
|
-
const methodName = propertyKey;
|
|
62
|
-
const controllerClazz = target.constructor;
|
|
63
|
-
const argNames = tegg_common_util_1.ObjectUtils.getFunctionArgNameList(target[propertyKey]);
|
|
64
|
-
const name = (param === null || param === void 0 ? void 0 : param.name) || argNames[parameterIndex];
|
|
65
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.PARAM, parameterIndex, controllerClazz, methodName);
|
|
66
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamName(name, parameterIndex, controllerClazz, methodName);
|
|
67
|
-
};
|
|
68
|
-
}
|
|
69
|
-
function Request() {
|
|
70
|
-
return function (target, propertyKey, parameterIndex) {
|
|
71
|
-
const [nodeMajor] = process.versions.node.split('.').map(v => Number(v));
|
|
72
|
-
(0, node_assert_1.default)(nodeMajor >= 16, `[controller/${target.name}] expect node version >=16, but now is ${nodeMajor}`);
|
|
73
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
74
|
-
const methodName = propertyKey;
|
|
75
|
-
const controllerClazz = target.constructor;
|
|
76
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.REQUEST, parameterIndex, controllerClazz, methodName);
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
function Cookies() {
|
|
80
|
-
return function (target, propertyKey, parameterIndex) {
|
|
81
|
-
(0, node_assert_1.default)(typeof propertyKey === 'string', `[controller/${target.name}] expect method name be typeof string, but now is ${String(propertyKey)}`);
|
|
82
|
-
const methodName = propertyKey;
|
|
83
|
-
const controllerClazz = target.constructor;
|
|
84
|
-
HTTPInfoUtil_1.default.setHTTPMethodParamType(tegg_types_1.HTTPParamType.COOKIES, parameterIndex, controllerClazz, methodName);
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUFBhcmFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RlY29yYXRvci9odHRwL0hUVFBQYXJhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVVBLDRCQVFDO0FBRUQsa0NBUUM7QUFFRCw4QkFXQztBQUVELGtDQVdDO0FBRUQsOEJBV0M7QUFFRCwwQkFXQztBQUVELDBCQVFDO0FBMUZELDhEQUFpQztBQUNqQyxrREFBa0Q7QUFFbEQsMkVBQW1EO0FBQ25ELDhEQUFzRDtBQUV0RCxrQkFBa0I7QUFDbEIsV0FBVztBQUNYLDBDQUEwQztBQUUxQyxTQUFnQixRQUFRO0lBQ3RCLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUMzRSxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDaEUsc0JBQVksQ0FBQyxzQkFBc0IsQ0FBQywwQkFBYSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZHLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixXQUFXO0lBQ3pCLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUMzRSxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDaEUsc0JBQVksQ0FBQyxzQkFBc0IsQ0FBQywwQkFBYSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFHLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixTQUFTLENBQUMsS0FBdUI7SUFDL0MsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QixFQUFFLGNBQXNCO1FBQzNFLElBQUEscUJBQU0sRUFBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQ3BDLGVBQWUsTUFBTSxDQUFDLElBQUkscURBQXFELE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEcsTUFBTSxVQUFVLEdBQUcsV0FBcUIsQ0FBQztRQUN6QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUNoRSxNQUFNLFFBQVEsR0FBRyw4QkFBVyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sSUFBSSxHQUFHLENBQUEsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLElBQUksS0FBSSxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsc0JBQVksQ0FBQyxzQkFBc0IsQ0FBQywwQkFBYSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3RHLHNCQUFZLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekYsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLFdBQVcsQ0FBQyxLQUF5QjtJQUNuRCxPQUFPLFVBQVMsTUFBVyxFQUFFLFdBQXdCLEVBQUUsY0FBc0I7UUFDM0UsSUFBQSxxQkFBTSxFQUFDLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFDcEMsZUFBZSxNQUFNLENBQUMsSUFBSSxxREFBcUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4RyxNQUFNLFVBQVUsR0FBRyxXQUFxQixDQUFDO1FBQ3pDLE1BQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxXQUFnQyxDQUFDO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLDhCQUFXLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDekUsTUFBTSxJQUFJLEdBQUcsQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsSUFBSSxLQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyRCxzQkFBWSxDQUFDLHNCQUFzQixDQUFDLDBCQUFhLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDeEcsc0JBQVksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6RixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsU0FBUyxDQUFDLEtBQXVCO0lBQy9DLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUMzRSxJQUFBLHFCQUFNLEVBQUMsT0FBTyxXQUFXLEtBQUssUUFBUSxFQUNwQyxlQUFlLE1BQU0sQ0FBQyxJQUFJLHFEQUFxRCxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hHLE1BQU0sVUFBVSxHQUFHLFdBQXFCLENBQUM7UUFDekMsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFdBQWdDLENBQUM7UUFDaEUsTUFBTSxRQUFRLEdBQUcsOEJBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUN6RSxNQUFNLElBQUksR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxJQUFJLEtBQUksUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JELHNCQUFZLENBQUMsc0JBQXNCLENBQUMsMEJBQWEsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN0RyxzQkFBWSxDQUFDLHNCQUFzQixDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3pGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQixPQUFPO0lBQ3JCLE9BQU8sVUFBUyxNQUFXLEVBQUUsV0FBd0IsRUFBRSxjQUFzQjtRQUMzRSxNQUFNLENBQUUsU0FBUyxDQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNFLElBQUEscUJBQU0sRUFBQyxTQUFTLElBQUksRUFBRSxFQUNwQixlQUFlLE1BQU0sQ0FBQyxJQUFJLDBDQUEwQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ25GLElBQUEscUJBQU0sRUFBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQ3BDLGVBQWUsTUFBTSxDQUFDLElBQUkscURBQXFELE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEcsTUFBTSxVQUFVLEdBQUcsV0FBcUIsQ0FBQztRQUN6QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUNoRSxzQkFBWSxDQUFDLHNCQUFzQixDQUFDLDBCQUFhLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDMUcsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQWdCLE9BQU87SUFDckIsT0FBTyxVQUFTLE1BQVcsRUFBRSxXQUF3QixFQUFFLGNBQXNCO1FBQzNFLElBQUEscUJBQU0sRUFBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQ3BDLGVBQWUsTUFBTSxDQUFDLElBQUkscURBQXFELE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEcsTUFBTSxVQUFVLEdBQUcsV0FBcUIsQ0FBQztRQUN6QyxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBZ0MsQ0FBQztRQUNoRSxzQkFBWSxDQUFDLHNCQUFzQixDQUFDLDBCQUFhLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDMUcsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|