@eggjs/controller-decorator 4.0.0-beta.7 → 4.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/builder/ControllerMetaBuilderFactory.d.ts +6 -10
  2. package/dist/builder/ControllerMetaBuilderFactory.js +41 -37
  3. package/dist/builder/index.d.ts +1 -0
  4. package/dist/builder/index.js +2 -3
  5. package/dist/decorator/Acl.d.ts +1 -4
  6. package/dist/decorator/Acl.js +21 -23
  7. package/dist/decorator/Context.d.ts +1 -4
  8. package/dist/decorator/Context.js +10 -15
  9. package/dist/decorator/Middleware.d.ts +2 -6
  10. package/dist/decorator/Middleware.js +64 -52
  11. package/dist/decorator/http/HTTPController.d.ts +2 -6
  12. package/dist/decorator/http/HTTPController.js +28 -22
  13. package/dist/decorator/http/HTTPMethod.d.ts +2 -6
  14. package/dist/decorator/http/HTTPMethod.js +16 -20
  15. package/dist/decorator/http/HTTPParam.d.ts +8 -12
  16. package/dist/decorator/http/HTTPParam.js +68 -70
  17. package/dist/decorator/http/Host.d.ts +2 -6
  18. package/dist/decorator/http/Host.js +24 -26
  19. package/dist/decorator/http/index.d.ts +4 -0
  20. package/dist/decorator/http/index.js +5 -6
  21. package/dist/decorator/index.d.ts +4 -0
  22. package/dist/decorator/index.js +5 -10
  23. package/dist/impl/http/HTTPControllerMetaBuilder.d.ts +8 -12
  24. package/dist/impl/http/HTTPControllerMetaBuilder.js +55 -61
  25. package/dist/impl/http/HTTPControllerMethodMetaBuilder.d.ts +10 -14
  26. package/dist/impl/http/HTTPControllerMethodMetaBuilder.js +100 -80
  27. package/dist/impl/http/index.d.ts +2 -0
  28. package/dist/impl/http/index.js +3 -4
  29. package/dist/impl/index.d.ts +1 -0
  30. package/dist/impl/index.js +2 -5
  31. package/dist/index.d.ts +6 -24
  32. package/dist/index.js +7 -31
  33. package/dist/model/HTTPControllerMeta.d.ts +21 -24
  34. package/dist/model/HTTPControllerMeta.js +60 -53
  35. package/dist/model/HTTPCookies.d.ts +3 -6
  36. package/dist/model/HTTPCookies.js +4 -7
  37. package/dist/model/HTTPMethodMeta.d.ts +56 -59
  38. package/dist/model/HTTPMethodMeta.js +124 -102
  39. package/dist/model/HTTPRequest.d.ts +5 -6
  40. package/dist/model/HTTPRequest.js +3 -5
  41. package/dist/model/HTTPResponse.d.ts +10 -11
  42. package/dist/model/HTTPResponse.js +3 -5
  43. package/dist/model/index.d.ts +5 -0
  44. package/dist/model/index.js +6 -7
  45. package/dist/util/ControllerInfoUtil.d.ts +16 -19
  46. package/dist/util/ControllerInfoUtil.js +46 -48
  47. package/dist/util/ControllerMetadataUtil.d.ts +4 -8
  48. package/dist/util/ControllerMetadataUtil.js +20 -21
  49. package/dist/util/HTTPInfoUtil.d.ts +15 -19
  50. package/dist/util/HTTPInfoUtil.js +64 -53
  51. package/dist/util/HTTPPriorityUtil.d.ts +18 -21
  52. package/dist/util/HTTPPriorityUtil.js +42 -38
  53. package/dist/util/MethodInfoUtil.d.ts +19 -22
  54. package/dist/util/MethodInfoUtil.js +72 -62
  55. package/dist/util/index.d.ts +6 -0
  56. package/dist/util/index.js +7 -10
  57. package/dist/util/validator/ControllerValidator.d.ts +3 -7
  58. package/dist/util/validator/ControllerValidator.js +14 -15
  59. package/dist/util/validator/MethodValidator.d.ts +3 -7
  60. package/dist/util/validator/MethodValidator.js +30 -30
  61. package/dist/util/validator/index.d.ts +2 -0
  62. package/dist/util/validator/index.js +3 -4
  63. package/package.json +7 -7
@@ -1,53 +1,64 @@
1
- import { CONTROLLER_HTTP_PATH, CONTROLLER_METHOD_METHOD_MAP, CONTROLLER_METHOD_PARAM_NAME_MAP, CONTROLLER_METHOD_PARAM_TYPE_MAP, CONTROLLER_METHOD_PATH_MAP, CONTROLLER_METHOD_PRIORITY } from "@eggjs/tegg-types";
2
- import { MetadataUtil } from "@eggjs/core-decorator";
3
- import { MapUtil } from "@eggjs/tegg-common-util";
4
-
5
- //#region src/util/HTTPInfoUtil.ts
6
- var HTTPInfoUtil = class {
7
- static setHTTPPath(path, clazz) {
8
- MetadataUtil.defineMetaData(CONTROLLER_HTTP_PATH, path, clazz);
9
- }
10
- static getHTTPPath(clazz) {
11
- return MetadataUtil.getMetaData(CONTROLLER_HTTP_PATH, clazz);
12
- }
13
- static setHTTPMethodPath(path, clazz, methodName) {
14
- MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_PATH_MAP, clazz, /* @__PURE__ */ new Map()).set(methodName, path);
15
- }
16
- static getHTTPMethodPath(clazz, methodName) {
17
- return MetadataUtil.getMetaData(CONTROLLER_METHOD_PATH_MAP, clazz)?.get(methodName);
18
- }
19
- static setHTTPMethodMethod(method, clazz, methodName) {
20
- MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_METHOD_MAP, clazz, /* @__PURE__ */ new Map()).set(methodName, method);
21
- }
22
- static getHTTPMethodMethod(clazz, methodName) {
23
- return MetadataUtil.getMetaData(CONTROLLER_METHOD_METHOD_MAP, clazz)?.get(methodName);
24
- }
25
- static setHTTPMethodParamType(paramType, parameterIndex, clazz, methodName) {
26
- const methodParamMap = MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_PARAM_TYPE_MAP, clazz, /* @__PURE__ */ new Map());
27
- MapUtil.getOrStore(methodParamMap, methodName, /* @__PURE__ */ new Map()).set(parameterIndex, paramType);
28
- }
29
- static getParamIndexList(clazz, methodName) {
30
- const paramMap = MetadataUtil.getMetaData(CONTROLLER_METHOD_PARAM_TYPE_MAP, clazz)?.get(methodName);
31
- if (!paramMap) return [];
32
- return Array.from(paramMap.keys());
33
- }
34
- static getHTTPMethodParamType(parameterIndex, clazz, methodName) {
35
- return (MetadataUtil.getMetaData(CONTROLLER_METHOD_PARAM_TYPE_MAP, clazz)?.get(methodName))?.get(parameterIndex);
36
- }
37
- static setHTTPMethodParamName(paramName, parameterIndex, clazz, methodName) {
38
- const methodParamNameMap = MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_PARAM_NAME_MAP, clazz, /* @__PURE__ */ new Map());
39
- MapUtil.getOrStore(methodParamNameMap, methodName, /* @__PURE__ */ new Map()).set(parameterIndex, paramName);
40
- }
41
- static getHTTPMethodParamName(parameterIndex, clazz, methodName) {
42
- return (MetadataUtil.getMetaData(CONTROLLER_METHOD_PARAM_NAME_MAP, clazz)?.get(methodName))?.get(parameterIndex);
43
- }
44
- static getHTTPMethodPriority(clazz, methodName) {
45
- return MetadataUtil.getMetaData(CONTROLLER_METHOD_PRIORITY, clazz)?.get(methodName);
46
- }
47
- static setHTTPMethodPriority(priority, clazz, methodName) {
48
- MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_PRIORITY, clazz, /* @__PURE__ */ new Map()).set(methodName, priority);
49
- }
50
- };
51
-
52
- //#endregion
53
- export { HTTPInfoUtil };
1
+ import { MetadataUtil } from '@eggjs/core-decorator';
2
+ import { CONTROLLER_HTTP_PATH, CONTROLLER_METHOD_METHOD_MAP, CONTROLLER_METHOD_PARAM_NAME_MAP, CONTROLLER_METHOD_PARAM_TYPE_MAP, CONTROLLER_METHOD_PATH_MAP, CONTROLLER_METHOD_PRIORITY, } from '@eggjs/tegg-types';
3
+ import { MapUtil } from '@eggjs/tegg-common-util';
4
+ export class HTTPInfoUtil {
5
+ static setHTTPPath(path, clazz) {
6
+ MetadataUtil.defineMetaData(CONTROLLER_HTTP_PATH, path, clazz);
7
+ }
8
+ static getHTTPPath(clazz) {
9
+ return MetadataUtil.getMetaData(CONTROLLER_HTTP_PATH, clazz);
10
+ }
11
+ static setHTTPMethodPath(path, clazz, methodName) {
12
+ const methodPathMap = MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_PATH_MAP, clazz, new Map());
13
+ methodPathMap.set(methodName, path);
14
+ }
15
+ static getHTTPMethodPath(clazz, methodName) {
16
+ const methodPathMap = MetadataUtil.getMetaData(CONTROLLER_METHOD_PATH_MAP, clazz);
17
+ return methodPathMap?.get(methodName);
18
+ }
19
+ static setHTTPMethodMethod(method, clazz, methodName) {
20
+ const methodMap = MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_METHOD_MAP, clazz, new Map());
21
+ methodMap.set(methodName, method);
22
+ }
23
+ static getHTTPMethodMethod(clazz, methodName) {
24
+ const methodMap = MetadataUtil.getMetaData(CONTROLLER_METHOD_METHOD_MAP, clazz);
25
+ return methodMap?.get(methodName);
26
+ }
27
+ static setHTTPMethodParamType(paramType, parameterIndex, clazz, methodName) {
28
+ const methodParamMap = MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_PARAM_TYPE_MAP, clazz, new Map());
29
+ const paramMap = MapUtil.getOrStore(methodParamMap, methodName, new Map());
30
+ paramMap.set(parameterIndex, paramType);
31
+ }
32
+ static getParamIndexList(clazz, methodName) {
33
+ const methodParamMap = MetadataUtil.getMetaData(CONTROLLER_METHOD_PARAM_TYPE_MAP, clazz);
34
+ const paramMap = methodParamMap?.get(methodName);
35
+ if (!paramMap) {
36
+ return [];
37
+ }
38
+ return Array.from(paramMap.keys());
39
+ }
40
+ static getHTTPMethodParamType(parameterIndex, clazz, methodName) {
41
+ const methodParamMap = MetadataUtil.getMetaData(CONTROLLER_METHOD_PARAM_TYPE_MAP, clazz);
42
+ const paramMap = methodParamMap?.get(methodName);
43
+ return paramMap?.get(parameterIndex);
44
+ }
45
+ static setHTTPMethodParamName(paramName, parameterIndex, clazz, methodName) {
46
+ const methodParamNameMap = MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_PARAM_NAME_MAP, clazz, new Map());
47
+ const paramMap = MapUtil.getOrStore(methodParamNameMap, methodName, new Map());
48
+ paramMap.set(parameterIndex, paramName);
49
+ }
50
+ static getHTTPMethodParamName(parameterIndex, clazz, methodName) {
51
+ const methodParamNameMap = MetadataUtil.getMetaData(CONTROLLER_METHOD_PARAM_NAME_MAP, clazz);
52
+ const paramMap = methodParamNameMap?.get(methodName);
53
+ return paramMap?.get(parameterIndex);
54
+ }
55
+ static getHTTPMethodPriority(clazz, methodName) {
56
+ const methodPriorityMap = MetadataUtil.getMetaData(CONTROLLER_METHOD_PRIORITY, clazz);
57
+ return methodPriorityMap?.get(methodName);
58
+ }
59
+ static setHTTPMethodPriority(priority, clazz, methodName) {
60
+ const methodPriorityMap = MetadataUtil.initOwnMapMetaData(CONTROLLER_METHOD_PRIORITY, clazz, new Map());
61
+ methodPriorityMap.set(methodName, priority);
62
+ }
63
+ }
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUEluZm9VdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvSFRUUEluZm9VdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLDRCQUE0QixFQUM1QixnQ0FBZ0MsRUFDaEMsZ0NBQWdDLEVBQ2hDLDBCQUEwQixFQUMxQiwwQkFBMEIsR0FDM0IsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFRbEQsTUFBTSxPQUFPLFlBQVk7SUFDdkIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFZLEVBQUUsS0FBd0I7UUFDdkQsWUFBWSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBd0I7UUFDekMsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBWSxFQUFFLEtBQXdCLEVBQUUsVUFBa0I7UUFDakYsTUFBTSxhQUFhLEdBQUcsWUFBWSxDQUFDLGtCQUFrQixDQUFDLDBCQUEwQixFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDcEcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUF3QixFQUFFLFVBQWtCO1FBQ25FLE1BQU0sYUFBYSxHQUFrQyxZQUFZLENBQUMsV0FBVyxDQUFDLDBCQUEwQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pILE9BQU8sYUFBYSxFQUFFLEdBQUcs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
@@ -1,22 +1,19 @@
1
- //#region src/util/HTTPPriorityUtil.d.ts
2
- declare class HTTPPriorityUtil {
3
- static readonly DEFAULT_PRIORITY = 100000;
4
- private static readonly TOKEN_PRIORITY;
5
- /**
6
- * | Path | RegExp index | priority |
7
- * | --- | --- | --- |
8
- * | /* | [0] | 0 |
9
- * | /hello/:name | [1] | 1000 |
10
- * | /hello/world/message/:message | [3] | 3000 |
11
- * | /hello/:name/message/:message | [1, 3] | 4000 |
12
- * | /hello/world | [] | 100000/Infinity? |
13
- *
14
- * priority = hasRegExp
15
- * : regexpIndex.reduce((p,c) => p + c * 1000, 0)
16
- * : 100000;
17
- * @param {string} path -
18
- */
19
- static calcPathPriority(path: string): number;
1
+ export declare class HTTPPriorityUtil {
2
+ static readonly DEFAULT_PRIORITY = 100000;
3
+ private static readonly TOKEN_PRIORITY;
4
+ /**
5
+ * | Path | RegExp index | priority |
6
+ * | --- | --- | --- |
7
+ * | /* | [0] | 0 |
8
+ * | /hello/:name | [1] | 1000 |
9
+ * | /hello/world/message/:message | [3] | 3000 |
10
+ * | /hello/:name/message/:message | [1, 3] | 4000 |
11
+ * | /hello/world | [] | 100000/Infinity? |
12
+ *
13
+ * priority = hasRegExp
14
+ * : regexpIndex.reduce((p,c) => p + c * 1000, 0)
15
+ * : 100000;
16
+ * @param {string} path -
17
+ */
18
+ static calcPathPriority(path: string): number;
20
19
  }
21
- //#endregion
22
- export { HTTPPriorityUtil };
@@ -1,38 +1,42 @@
1
- import { parse } from "path-to-regexp";
2
-
3
- //#region src/util/HTTPPriorityUtil.ts
4
- var HTTPPriorityUtil = class {
5
- static DEFAULT_PRIORITY = 1e5;
6
- static TOKEN_PRIORITY = 1e3;
7
- /**
8
- * | Path | RegExp index | priority |
9
- * | --- | --- | --- |
10
- * | /* | [0] | 0 |
11
- * | /hello/:name | [1] | 1000 |
12
- * | /hello/world/message/:message | [3] | 3000 |
13
- * | /hello/:name/message/:message | [1, 3] | 4000 |
14
- * | /hello/world | [] | 100000/Infinity? |
15
- *
16
- * priority = hasRegExp
17
- * : regexpIndex.reduce((p,c) => p + c * 1000, 0)
18
- * : 100000;
19
- * @param {string} path -
20
- */
21
- static calcPathPriority(path) {
22
- const tokens = parse(path);
23
- let priority = 0;
24
- let hasRegExp = false;
25
- let index = 0;
26
- let token;
27
- while (token = tokens.shift()) if (typeof token === "string") index += token.split("/").length - 1;
28
- else {
29
- hasRegExp = true;
30
- priority += index++ * this.TOKEN_PRIORITY;
31
- }
32
- if (!hasRegExp) return this.DEFAULT_PRIORITY;
33
- return priority;
34
- }
35
- };
36
-
37
- //#endregion
38
- export { HTTPPriorityUtil };
1
+ import { parse } from 'path-to-regexp';
2
+ export class HTTPPriorityUtil {
3
+ static DEFAULT_PRIORITY = 100000;
4
+ static TOKEN_PRIORITY = 1000;
5
+ /**
6
+ * | Path | RegExp index | priority |
7
+ * | --- | --- | --- |
8
+ * | /* | [0] | 0 |
9
+ * | /hello/:name | [1] | 1000 |
10
+ * | /hello/world/message/:message | [3] | 3000 |
11
+ * | /hello/:name/message/:message | [1, 3] | 4000 |
12
+ * | /hello/world | [] | 100000/Infinity? |
13
+ *
14
+ * priority = hasRegExp
15
+ * : regexpIndex.reduce((p,c) => p + c * 1000, 0)
16
+ * : 100000;
17
+ * @param {string} path -
18
+ */
19
+ static calcPathPriority(path) {
20
+ const tokens = parse(path);
21
+ let priority = 0;
22
+ let hasRegExp = false;
23
+ let index = 0;
24
+ let token;
25
+ while ((token = tokens.shift())) {
26
+ if (typeof token === 'string') {
27
+ // /view/users/*
28
+ // token is [ '/view/users', '*' ]
29
+ index += (token.split('/').length - 1);
30
+ }
31
+ else {
32
+ hasRegExp = true;
33
+ priority += index++ * this.TOKEN_PRIORITY;
34
+ }
35
+ }
36
+ if (!hasRegExp) {
37
+ return this.DEFAULT_PRIORITY;
38
+ }
39
+ return priority;
40
+ }
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUFByaW9yaXR5VXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL0hUVFBQcmlvcml0eVV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsTUFBTSxDQUFVLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztJQUNsQyxNQUFNLENBQVUsY0FBYyxHQUFHLElBQUksQ0FBQztJQUU5Qzs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQVk7UUFDbEMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsSUFBSSxLQUFLLENBQUM7UUFDVixPQUFPLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDaEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDOUIsZ0JBQWdCO2dCQUNoQixrQ0FBa0M7Z0JBQ2xDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNqQixRQUFRLElBQUksS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztZQUM1QyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDIn0=
@@ -1,23 +1,20 @@
1
- import { ControllerTypeLike, EggProtoImplClass, IAdvice, MiddlewareFunc } from "@eggjs/tegg-types";
2
-
3
- //#region src/util/MethodInfoUtil.d.ts
4
- declare class MethodInfoUtil {
5
- static setMethodControllerType(clazz: EggProtoImplClass, methodName: string, controllerType: ControllerTypeLike): void;
6
- static getMethodControllerType(clazz: EggProtoImplClass, methodName: string): ControllerTypeLike | undefined;
7
- static setMethodContextIndexInArgs(index: number, clazz: EggProtoImplClass, methodName: string): void;
8
- static getMethodContextIndex(clazz: EggProtoImplClass, methodName: string): number | undefined;
9
- static addMethodMiddleware(middleware: MiddlewareFunc, clazz: EggProtoImplClass, methodName: string): void;
10
- static getMethodMiddlewares(clazz: EggProtoImplClass, methodName: string): MiddlewareFunc[];
11
- static addMethodAopMiddleware(middleware: EggProtoImplClass<IAdvice>, clazz: EggProtoImplClass, methodName: string): void;
12
- static getMethodAopMiddlewares(clazz: EggProtoImplClass, methodName: string): EggProtoImplClass<IAdvice>[];
13
- static setMethodAcl(code: string | undefined, clazz: EggProtoImplClass, methodName: string): void;
14
- static hasMethodAcl(clazz: EggProtoImplClass, methodName: string): boolean;
15
- static getMethodAcl(clazz: EggProtoImplClass, methodName: string): string | undefined;
16
- static setMethodHosts(hosts: string[], clazz: EggProtoImplClass, methodName: string): void;
17
- static getMethodHosts(clazz: EggProtoImplClass, methodName: string): string[] | undefined;
18
- static getMethods(clazz: EggProtoImplClass): string[];
19
- static shouldRegisterAopMiddlewarePointCut(clazz: EggProtoImplClass, methodName: string): boolean;
20
- static registerAopMiddlewarePointcut(clazz: EggProtoImplClass, methodName: string): void;
1
+ import { type IAdvice } from '@eggjs/tegg-types';
2
+ import type { ControllerTypeLike, EggProtoImplClass, MiddlewareFunc } from '@eggjs/tegg-types';
3
+ export declare class MethodInfoUtil {
4
+ static setMethodControllerType(clazz: EggProtoImplClass, methodName: string, controllerType: ControllerTypeLike): void;
5
+ static getMethodControllerType(clazz: EggProtoImplClass, methodName: string): ControllerTypeLike | undefined;
6
+ static setMethodContextIndexInArgs(index: number, clazz: EggProtoImplClass, methodName: string): void;
7
+ static getMethodContextIndex(clazz: EggProtoImplClass, methodName: string): number | undefined;
8
+ static addMethodMiddleware(middleware: MiddlewareFunc, clazz: EggProtoImplClass, methodName: string): void;
9
+ static getMethodMiddlewares(clazz: EggProtoImplClass, methodName: string): MiddlewareFunc[];
10
+ static addMethodAopMiddleware(middleware: EggProtoImplClass<IAdvice>, clazz: EggProtoImplClass, methodName: string): void;
11
+ static getMethodAopMiddlewares(clazz: EggProtoImplClass, methodName: string): EggProtoImplClass<IAdvice>[];
12
+ static setMethodAcl(code: string | undefined, clazz: EggProtoImplClass, methodName: string): void;
13
+ static hasMethodAcl(clazz: EggProtoImplClass, methodName: string): boolean;
14
+ static getMethodAcl(clazz: EggProtoImplClass, methodName: string): string | undefined;
15
+ static setMethodHosts(hosts: string[], clazz: EggProtoImplClass, methodName: string): void;
16
+ static getMethodHosts(clazz: EggProtoImplClass, methodName: string): string[] | undefined;
17
+ static getMethods(clazz: EggProtoImplClass): string[];
18
+ static shouldRegisterAopMiddlewarePointCut(clazz: EggProtoImplClass, methodName: string): boolean;
19
+ static registerAopMiddlewarePointcut(clazz: EggProtoImplClass, methodName: string): void;
21
20
  }
22
- //#endregion
23
- export { MethodInfoUtil };
@@ -1,62 +1,72 @@
1
- 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";
2
- import { MetadataUtil } from "@eggjs/core-decorator";
3
- import { MapUtil } from "@eggjs/tegg-common-util";
4
-
5
- //#region src/util/MethodInfoUtil.ts
6
- var MethodInfoUtil = class {
7
- static setMethodControllerType(clazz, methodName, controllerType) {
8
- MetadataUtil.initOwnMapMetaData(METHOD_CONTROLLER_TYPE_MAP, clazz, /* @__PURE__ */ new Map()).set(methodName, controllerType);
9
- }
10
- static getMethodControllerType(clazz, methodName) {
11
- return MetadataUtil.getMetaData(METHOD_CONTROLLER_TYPE_MAP, clazz)?.get(methodName);
12
- }
13
- static setMethodContextIndexInArgs(index, clazz, methodName) {
14
- MetadataUtil.initOwnMapMetaData(METHOD_CONTEXT_INDEX, clazz, /* @__PURE__ */ new Map()).set(methodName, index);
15
- }
16
- static getMethodContextIndex(clazz, methodName) {
17
- return MetadataUtil.getMetaData(METHOD_CONTEXT_INDEX, clazz)?.get(methodName);
18
- }
19
- static addMethodMiddleware(middleware, clazz, methodName) {
20
- const methodMiddlewareMap = MetadataUtil.initOwnMapMetaData(METHOD_MIDDLEWARES, clazz, /* @__PURE__ */ new Map());
21
- MapUtil.getOrStore(methodMiddlewareMap, methodName, []).push(middleware);
22
- }
23
- static getMethodMiddlewares(clazz, methodName) {
24
- return MetadataUtil.getMetaData(METHOD_MIDDLEWARES, clazz)?.get(methodName) || [];
25
- }
26
- static addMethodAopMiddleware(middleware, clazz, methodName) {
27
- const methodMiddlewareMap = MetadataUtil.initOwnMapMetaData(METHOD_AOP_MIDDLEWARES, clazz, /* @__PURE__ */ new Map());
28
- MapUtil.getOrStore(methodMiddlewareMap, methodName, []).push(middleware);
29
- }
30
- static getMethodAopMiddlewares(clazz, methodName) {
31
- return MetadataUtil.getMetaData(METHOD_AOP_MIDDLEWARES, clazz)?.get(methodName) || [];
32
- }
33
- static setMethodAcl(code, clazz, methodName) {
34
- MetadataUtil.initOwnMapMetaData(METHOD_ACL, clazz, /* @__PURE__ */ new Map()).set(methodName, code);
35
- }
36
- static hasMethodAcl(clazz, methodName) {
37
- return !!MetadataUtil.getMetaData(METHOD_ACL, clazz)?.has(methodName);
38
- }
39
- static getMethodAcl(clazz, methodName) {
40
- return MetadataUtil.getMetaData(METHOD_ACL, clazz)?.get(methodName);
41
- }
42
- static setMethodHosts(hosts, clazz, methodName) {
43
- MetadataUtil.initOwnMapMetaData(METHOD_CONTROLLER_HOST, clazz, /* @__PURE__ */ new Map()).set(methodName, hosts);
44
- }
45
- static getMethodHosts(clazz, methodName) {
46
- return MetadataUtil.getMetaData(METHOD_CONTROLLER_HOST, clazz)?.get(methodName);
47
- }
48
- static getMethods(clazz) {
49
- const methodControllerMap = MetadataUtil.getMetaData(METHOD_CONTROLLER_TYPE_MAP, clazz);
50
- return Array.from(methodControllerMap?.keys() || []);
51
- }
52
- static shouldRegisterAopMiddlewarePointCut(clazz, methodName) {
53
- const methodControllerMap = MetadataUtil.getMetaData(METHOD_AOP_REGISTER_MAP, clazz);
54
- return !(methodControllerMap && methodControllerMap.get(methodName));
55
- }
56
- static registerAopMiddlewarePointcut(clazz, methodName) {
57
- MetadataUtil.initOwnMapMetaData(METHOD_AOP_REGISTER_MAP, clazz, /* @__PURE__ */ new Map()).set(methodName, true);
58
- }
59
- };
60
-
61
- //#endregion
62
- export { MethodInfoUtil };
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,6 @@
1
+ export * from './validator/index.ts';
2
+ export * from './ControllerInfoUtil.ts';
3
+ export * from './ControllerMetadataUtil.ts';
4
+ export * from './HTTPInfoUtil.ts';
5
+ export * from './HTTPPriorityUtil.ts';
6
+ export * from './MethodInfoUtil.ts';
@@ -1,10 +1,7 @@
1
- import { ControllerInfoUtil } from "./ControllerInfoUtil.js";
2
- import { ControllerValidator } from "./validator/ControllerValidator.js";
3
- import { MethodInfoUtil } from "./MethodInfoUtil.js";
4
- import { MethodValidator } from "./validator/MethodValidator.js";
5
- import "./validator/index.js";
6
- import { ControllerMetadataUtil } from "./ControllerMetadataUtil.js";
7
- import { HTTPInfoUtil } from "./HTTPInfoUtil.js";
8
- import { HTTPPriorityUtil } from "./HTTPPriorityUtil.js";
9
-
10
- export { };
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
@@ -1,8 +1,4 @@
1
- import { EggProtoImplClass } from "@eggjs/tegg-types";
2
-
3
- //#region src/util/validator/ControllerValidator.d.ts
4
- declare class ControllerValidator {
5
- static validate(clazz: EggProtoImplClass): void;
1
+ import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
+ export declare class ControllerValidator {
3
+ static validate(clazz: EggProtoImplClass): void;
6
4
  }
7
- //#endregion
8
- export { ControllerValidator };
@@ -1,16 +1,15 @@
1
+ import { ClassUtil } from '@eggjs/tegg-metadata';
1
2
  import { ControllerInfoUtil } from "../ControllerInfoUtil.js";
2
- import { ClassUtil } from "@eggjs/tegg-metadata";
3
-
4
- //#region src/util/validator/ControllerValidator.ts
5
- var ControllerValidator = class {
6
- static validate(clazz) {
7
- const controllerType = ControllerInfoUtil.getControllerType(clazz);
8
- if (ControllerInfoUtil.getControllerMiddlewares(clazz).length && !controllerType) {
9
- const desc = ClassUtil.classDescription(clazz);
10
- throw new Error(`${desc} @Middleware should use with controller decorator`);
11
- }
12
- }
13
- };
14
-
15
- //#endregion
16
- export { ControllerValidator };
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=
@@ -1,8 +1,4 @@
1
- import { EggProtoImplClass } from "@eggjs/tegg-types";
2
-
3
- //#region src/util/validator/MethodValidator.d.ts
4
- declare class MethodValidator {
5
- static validate(clazz: EggProtoImplClass, methodName: string): void;
1
+ import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
+ export declare class MethodValidator {
3
+ static validate(clazz: EggProtoImplClass, methodName: string): void;
6
4
  }
7
- //#endregion
8
- export { MethodValidator };
@@ -1,31 +1,31 @@
1
- import { ControllerInfoUtil } from "../ControllerInfoUtil.js";
1
+ import { ClassUtil } from '@eggjs/tegg-metadata';
2
2
  import { MethodInfoUtil } from "../MethodInfoUtil.js";
3
- import { ClassUtil } from "@eggjs/tegg-metadata";
4
-
5
- //#region src/util/validator/MethodValidator.ts
6
- var MethodValidator = class {
7
- static validate(clazz, methodName) {
8
- const methodControllerType = MethodInfoUtil.getMethodControllerType(clazz, methodName);
9
- const methodMiddlewares = MethodInfoUtil.getMethodMiddlewares(clazz, methodName);
10
- const contextIndex = MethodInfoUtil.getMethodContextIndex(clazz, methodName);
11
- if (!methodControllerType) {
12
- if (methodMiddlewares.length) {
13
- const desc = ClassUtil.classDescription(clazz);
14
- throw new Error(`${desc}:${methodName} @Middleware should use with method decorator`);
15
- }
16
- if (contextIndex !== void 0) {
17
- const desc = ClassUtil.classDescription(clazz);
18
- throw new Error(`${desc}:${methodName} @Context should use with method decorator`);
19
- }
20
- return;
21
- }
22
- const controllerType = ControllerInfoUtil.getControllerType(clazz);
23
- if (methodControllerType !== controllerType) {
24
- const desc = ClassUtil.classDescription(clazz);
25
- throw new Error(`${desc}:${methodName} method decorator ${methodControllerType} can not be used with ${controllerType}`);
26
- }
27
- }
28
- };
29
-
30
- //#endregion
31
- export { MethodValidator };
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,2 @@
1
+ export * from './ControllerValidator.ts';
2
+ export * from './MethodValidator.ts';