@eggjs/controller-decorator 4.0.0-beta.34 → 4.0.0-beta.36

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 (59) hide show
  1. package/dist/builder/ControllerMetaBuilderFactory.d.ts +10 -6
  2. package/dist/builder/ControllerMetaBuilderFactory.js +37 -41
  3. package/dist/builder/index.d.ts +1 -1
  4. package/dist/builder/index.js +3 -2
  5. package/dist/decorator/Acl.d.ts +4 -1
  6. package/dist/decorator/Acl.js +23 -21
  7. package/dist/decorator/Context.d.ts +4 -1
  8. package/dist/decorator/Context.js +15 -10
  9. package/dist/decorator/Middleware.d.ts +6 -2
  10. package/dist/decorator/Middleware.js +49 -61
  11. package/dist/decorator/http/HTTPController.d.ts +6 -2
  12. package/dist/decorator/http/HTTPController.js +22 -28
  13. package/dist/decorator/http/HTTPMethod.d.ts +6 -2
  14. package/dist/decorator/http/HTTPMethod.js +20 -16
  15. package/dist/decorator/http/HTTPParam.d.ts +152 -166
  16. package/dist/decorator/http/HTTPParam.js +208 -226
  17. package/dist/decorator/http/Host.d.ts +6 -2
  18. package/dist/decorator/http/Host.js +26 -24
  19. package/dist/decorator/http/index.d.ts +5 -4
  20. package/dist/decorator/http/index.js +7 -5
  21. package/dist/decorator/index.d.ts +8 -4
  22. package/dist/decorator/index.js +10 -5
  23. package/dist/impl/http/HTTPControllerMetaBuilder.d.ts +13 -8
  24. package/dist/impl/http/HTTPControllerMetaBuilder.js +58 -55
  25. package/dist/impl/http/HTTPControllerMethodMetaBuilder.d.ts +15 -10
  26. package/dist/impl/http/HTTPControllerMethodMetaBuilder.js +80 -96
  27. package/dist/impl/http/index.d.ts +2 -2
  28. package/dist/impl/http/index.js +4 -3
  29. package/dist/impl/index.d.ts +3 -1
  30. package/dist/impl/index.js +5 -2
  31. package/dist/index.d.ts +27 -6
  32. package/dist/index.js +29 -7
  33. package/dist/model/HTTPControllerMeta.d.ts +24 -21
  34. package/dist/model/HTTPControllerMeta.js +53 -57
  35. package/dist/model/HTTPCookies.d.ts +2 -1
  36. package/dist/model/HTTPCookies.js +3 -2
  37. package/dist/model/HTTPMethodMeta.d.ts +59 -56
  38. package/dist/model/HTTPMethodMeta.js +102 -124
  39. package/dist/model/index.d.ts +3 -3
  40. package/dist/model/index.js +5 -4
  41. package/dist/util/ControllerInfoUtil.d.ts +19 -16
  42. package/dist/util/ControllerInfoUtil.js +48 -46
  43. package/dist/util/ControllerMetadataUtil.d.ts +8 -4
  44. package/dist/util/ControllerMetadataUtil.js +21 -20
  45. package/dist/util/HTTPInfoUtil.d.ts +19 -15
  46. package/dist/util/HTTPInfoUtil.js +53 -64
  47. package/dist/util/HTTPPriorityUtil.d.ts +22 -19
  48. package/dist/util/HTTPPriorityUtil.js +39 -43
  49. package/dist/util/MethodInfoUtil.d.ts +22 -19
  50. package/dist/util/MethodInfoUtil.js +62 -72
  51. package/dist/util/index.d.ts +8 -6
  52. package/dist/util/index.js +10 -7
  53. package/dist/util/validator/ControllerValidator.d.ts +7 -3
  54. package/dist/util/validator/ControllerValidator.js +15 -14
  55. package/dist/util/validator/MethodValidator.d.ts +7 -3
  56. package/dist/util/validator/MethodValidator.js +30 -30
  57. package/dist/util/validator/index.d.ts +2 -2
  58. package/dist/util/validator/index.js +4 -3
  59. package/package.json +32 -36
@@ -1,57 +1,53 @@
1
- import path from 'node:path';
2
- import { ControllerType } from '@eggjs/tegg-types';
3
- import { HTTPMethodMeta } from "./HTTPMethodMeta.js";
4
- export class HTTPControllerMeta {
5
- protoName;
6
- controllerName;
7
- className;
8
- type = ControllerType.HTTP;
9
- path;
10
- middlewares;
11
- methods;
12
- needAcl;
13
- aclCode;
14
- hosts;
15
- constructor(className, protoName, controllerName, path, middlewares, methods, needAcl, aclCode, hosts) {
16
- this.protoName = protoName;
17
- this.controllerName = controllerName;
18
- this.className = className;
19
- this.path = path;
20
- this.middlewares = middlewares;
21
- this.methods = methods;
22
- this.needAcl = needAcl;
23
- this.aclCode = aclCode;
24
- this.hosts = hosts;
25
- }
26
- getMethodRealPath(method) {
27
- if (this.path) {
28
- return path.posix.join(this.path, method.path);
29
- }
30
- return method.path;
31
- }
32
- getMethodHosts(method) {
33
- if (this.hosts) {
34
- return this.hosts;
35
- }
36
- return method.hosts;
37
- }
38
- getMethodName(method) {
39
- return `${method.method} ${this.controllerName}.${method.name}`;
40
- }
41
- getMethodMiddlewares(method) {
42
- if (this.middlewares.length) {
43
- return [...this.middlewares, ...method.middlewares];
44
- }
45
- return [...method.middlewares];
46
- }
47
- hasMethodAcl(method) {
48
- return method.needAcl || this.needAcl;
49
- }
50
- getMethodAcl(method) {
51
- if (method.aclCode) {
52
- return method.aclCode;
53
- }
54
- return this.aclCode;
55
- }
56
- }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJNZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0hUVFBDb250cm9sbGVyTWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFHN0IsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3BCLFNBQVMsQ0FBbUI7SUFDNUIsY0FBYyxDQUFTO0lBQ3ZCLFNBQVMsQ0FBUztJQUNYLElBQUksR0FBbUIsY0FBYyxDQUFDLElBQUksQ0FBQztJQUMzQyxJQUFJLENBQVU7SUFDZCxXQUFXLENBQTRCO0lBQ3ZDLE9BQU8sQ0FBNEI7SUFDbkMsT0FBTyxDQUFVO0lBQ2pCLE9BQU8sQ0FBVTtJQUNqQixLQUFLLENBQVk7SUFFakMsWUFDRSxTQUFpQixFQUNqQixTQUEyQixFQUMzQixjQUFzQixFQUN0QixJQUF3QixFQUN4QixXQUE2QixFQUM3QixPQUF5QixFQUN6QixPQUFnQixFQUNoQixPQUEyQixFQUMzQixLQUEyQjtRQUUzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBc0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFzQjtRQUNuQyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxhQUFhLENBQUMsTUFBc0I7UUFDbEMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbEUsQ0FBQztJQUVELG9CQUFvQixDQUFDLE1BQXNCO1FBQ3pDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFzQjtRQUNqQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QyxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQXNCO1FBQ2pDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUN4QixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRiJ9
1
+ import "./HTTPMethodMeta.js";
2
+ import { ControllerType } from "@eggjs/tegg-types";
3
+ import path from "node:path";
4
+
5
+ //#region src/model/HTTPControllerMeta.ts
6
+ var HTTPControllerMeta = class {
7
+ protoName;
8
+ controllerName;
9
+ className;
10
+ type = ControllerType.HTTP;
11
+ path;
12
+ middlewares;
13
+ methods;
14
+ needAcl;
15
+ aclCode;
16
+ hosts;
17
+ constructor(className, protoName, controllerName, path$1, middlewares, methods, needAcl, aclCode, hosts) {
18
+ this.protoName = protoName;
19
+ this.controllerName = controllerName;
20
+ this.className = className;
21
+ this.path = path$1;
22
+ this.middlewares = middlewares;
23
+ this.methods = methods;
24
+ this.needAcl = needAcl;
25
+ this.aclCode = aclCode;
26
+ this.hosts = hosts;
27
+ }
28
+ getMethodRealPath(method) {
29
+ if (this.path) return path.posix.join(this.path, method.path);
30
+ return method.path;
31
+ }
32
+ getMethodHosts(method) {
33
+ if (this.hosts) return this.hosts;
34
+ return method.hosts;
35
+ }
36
+ getMethodName(method) {
37
+ return `${method.method} ${this.controllerName}.${method.name}`;
38
+ }
39
+ getMethodMiddlewares(method) {
40
+ if (this.middlewares.length) return [...this.middlewares, ...method.middlewares];
41
+ return [...method.middlewares];
42
+ }
43
+ hasMethodAcl(method) {
44
+ return method.needAcl || this.needAcl;
45
+ }
46
+ getMethodAcl(method) {
47
+ if (method.aclCode) return method.aclCode;
48
+ return this.aclCode;
49
+ }
50
+ };
51
+
52
+ //#endregion
53
+ export { HTTPControllerMeta };
@@ -1 +1,2 @@
1
- export { Cookies } from '@eggjs/cookies';
1
+ import { Cookies } from "@eggjs/cookies";
2
+ export { Cookies };
@@ -1,2 +1,3 @@
1
- export { Cookies } from '@eggjs/cookies';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvb2tpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvSFRUUENvb2tpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDIn0=
1
+ import { Cookies } from "@eggjs/cookies";
2
+
3
+ export { Cookies };
@@ -1,56 +1,59 @@
1
- import { HTTPParamType } from '@eggjs/tegg-types';
2
- import type { HTTPMethodEnum, MethodMeta, MiddlewareFunc } from '@eggjs/tegg-types';
3
- export declare abstract class ParamMeta {
4
- type: HTTPParamType;
5
- abstract validate(httpPath: string): void;
6
- }
7
- export declare class RequestParamMeta extends ParamMeta {
8
- type: HTTPParamType;
9
- validate(): void;
10
- }
11
- export declare class BodyParamMeta extends ParamMeta {
12
- type: HTTPParamType;
13
- validate(): void;
14
- }
15
- export declare class HeadersParamMeta extends ParamMeta {
16
- type: HTTPParamType;
17
- validate(): void;
18
- }
19
- export declare class QueryParamMeta extends ParamMeta {
20
- type: HTTPParamType;
21
- name: string;
22
- constructor(name: string);
23
- validate(): void;
24
- }
25
- export declare class QueriesParamMeta extends ParamMeta {
26
- type: HTTPParamType;
27
- name: string;
28
- constructor(name: string);
29
- validate(): void;
30
- }
31
- export declare class PathParamMeta extends ParamMeta {
32
- type: HTTPParamType;
33
- name: string;
34
- constructor(name: string);
35
- validate(httpPath: string): void;
36
- }
37
- export declare class CookiesParamMeta extends ParamMeta {
38
- type: HTTPParamType;
39
- validate(): void;
40
- }
41
- export declare class HTTPMethodMeta implements MethodMeta {
42
- readonly name: string;
43
- readonly path: string;
44
- readonly method: HTTPMethodEnum;
45
- readonly middlewares: readonly MiddlewareFunc[];
46
- readonly contextParamIndex: number | undefined;
47
- readonly paramMap: Map<number, ParamMeta>;
48
- readonly priority: number;
49
- readonly needAcl: boolean;
50
- readonly aclCode: string | undefined;
51
- readonly hosts: string[] | undefined;
52
- constructor(name: string, path: string, method: HTTPMethodEnum, middlewares: MiddlewareFunc[], contextParamIndex: number | undefined, paramTypeMap: Map<number, ParamMeta>, priority: number, needAcl: boolean, aclCode: string | undefined, hosts: string[] | undefined);
53
- }
54
- export declare class ParamMetaUtil {
55
- static createParam(type: HTTPParamType, name?: string): ParamMeta;
56
- }
1
+ import { HTTPMethodEnum, HTTPParamType, MethodMeta, MiddlewareFunc } from "@eggjs/tegg-types";
2
+
3
+ //#region src/model/HTTPMethodMeta.d.ts
4
+ declare abstract class ParamMeta {
5
+ type: HTTPParamType;
6
+ abstract validate(httpPath: string): void;
7
+ }
8
+ declare class RequestParamMeta extends ParamMeta {
9
+ type: HTTPParamType;
10
+ validate(): void;
11
+ }
12
+ declare class BodyParamMeta extends ParamMeta {
13
+ type: HTTPParamType;
14
+ validate(): void;
15
+ }
16
+ declare class HeadersParamMeta extends ParamMeta {
17
+ type: HTTPParamType;
18
+ validate(): void;
19
+ }
20
+ declare class QueryParamMeta extends ParamMeta {
21
+ type: HTTPParamType;
22
+ name: string;
23
+ constructor(name: string);
24
+ validate(): void;
25
+ }
26
+ declare class QueriesParamMeta extends ParamMeta {
27
+ type: HTTPParamType;
28
+ name: string;
29
+ constructor(name: string);
30
+ validate(): void;
31
+ }
32
+ declare class PathParamMeta extends ParamMeta {
33
+ type: HTTPParamType;
34
+ name: string;
35
+ constructor(name: string);
36
+ validate(httpPath: string): void;
37
+ }
38
+ declare class CookiesParamMeta extends ParamMeta {
39
+ type: HTTPParamType;
40
+ validate(): void;
41
+ }
42
+ declare class HTTPMethodMeta implements MethodMeta {
43
+ readonly name: string;
44
+ readonly path: string;
45
+ readonly method: HTTPMethodEnum;
46
+ readonly middlewares: readonly MiddlewareFunc[];
47
+ readonly contextParamIndex: number | undefined;
48
+ readonly paramMap: Map<number, ParamMeta>;
49
+ readonly priority: number;
50
+ readonly needAcl: boolean;
51
+ readonly aclCode: string | undefined;
52
+ readonly hosts: string[] | undefined;
53
+ constructor(name: string, path: string, method: HTTPMethodEnum, middlewares: MiddlewareFunc[], contextParamIndex: number | undefined, paramTypeMap: Map<number, ParamMeta>, priority: number, needAcl: boolean, aclCode: string | undefined, hosts: string[] | undefined);
54
+ }
55
+ declare class ParamMetaUtil {
56
+ static createParam(type: HTTPParamType, name?: string): ParamMeta;
57
+ }
58
+ //#endregion
59
+ export { BodyParamMeta, CookiesParamMeta, HTTPMethodMeta, HeadersParamMeta, ParamMeta, ParamMetaUtil, PathParamMeta, QueriesParamMeta, QueryParamMeta, RequestParamMeta };
@@ -1,124 +1,102 @@
1
- import assert from 'node:assert';
2
- import pathToRegexp, {} from 'path-to-regexp';
3
- import { HTTPParamType } from '@eggjs/tegg-types';
4
- export class ParamMeta {
5
- type;
6
- }
7
- export class RequestParamMeta extends ParamMeta {
8
- type = HTTPParamType.REQUEST;
9
- validate() {
10
- return;
11
- }
12
- }
13
- export class BodyParamMeta extends ParamMeta {
14
- type = HTTPParamType.BODY;
15
- validate() {
16
- return;
17
- }
18
- }
19
- export class HeadersParamMeta extends ParamMeta {
20
- type = HTTPParamType.HEADERS;
21
- validate() {
22
- return;
23
- }
24
- }
25
- export class QueryParamMeta extends ParamMeta {
26
- type = HTTPParamType.QUERY;
27
- name;
28
- constructor(name) {
29
- super();
30
- this.name = name;
31
- }
32
- validate() {
33
- return;
34
- }
35
- }
36
- export class QueriesParamMeta extends ParamMeta {
37
- type = HTTPParamType.QUERIES;
38
- name;
39
- constructor(name) {
40
- super();
41
- this.name = name;
42
- }
43
- validate() {
44
- return;
45
- }
46
- }
47
- export class PathParamMeta extends ParamMeta {
48
- type = HTTPParamType.PARAM;
49
- name;
50
- constructor(name) {
51
- super();
52
- this.name = name;
53
- }
54
- validate(httpPath) {
55
- const names = [];
56
- pathToRegexp(httpPath, names);
57
- if (!names.find((name) => String(name.name) === this.name)) {
58
- throw new Error(`can not find param ${this.name} in path ${httpPath}`);
59
- }
60
- }
61
- }
62
- export class CookiesParamMeta extends ParamMeta {
63
- type = HTTPParamType.COOKIES;
64
- validate() {
65
- return;
66
- }
67
- }
68
- export class HTTPMethodMeta {
69
- name;
70
- path;
71
- method;
72
- middlewares;
73
- contextParamIndex;
74
- paramMap;
75
- priority;
76
- needAcl;
77
- aclCode;
78
- hosts;
79
- constructor(name, path, method, middlewares, contextParamIndex, paramTypeMap, priority, needAcl, aclCode, hosts) {
80
- this.name = name;
81
- this.path = path;
82
- this.method = method;
83
- this.middlewares = middlewares;
84
- this.contextParamIndex = contextParamIndex;
85
- this.paramMap = paramTypeMap;
86
- this.priority = priority;
87
- this.needAcl = needAcl;
88
- this.aclCode = aclCode;
89
- this.hosts = hosts;
90
- }
91
- }
92
- export class ParamMetaUtil {
93
- static createParam(type, name) {
94
- switch (type) {
95
- case HTTPParamType.PARAM: {
96
- assert(name, 'path param must has name');
97
- return new PathParamMeta(name);
98
- }
99
- case HTTPParamType.BODY: {
100
- return new BodyParamMeta();
101
- }
102
- case HTTPParamType.HEADERS: {
103
- return new HeadersParamMeta();
104
- }
105
- case HTTPParamType.QUERIES: {
106
- assert(name, 'queries param must has name');
107
- return new QueriesParamMeta(name);
108
- }
109
- case HTTPParamType.QUERY: {
110
- assert(name, 'query param must has name');
111
- return new QueryParamMeta(name);
112
- }
113
- case HTTPParamType.REQUEST: {
114
- return new RequestParamMeta();
115
- }
116
- case HTTPParamType.COOKIES: {
117
- return new CookiesParamMeta();
118
- }
119
- default:
120
- assert.fail('never arrive');
121
- }
122
- }
123
- }
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUE1ldGhvZE1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvSFRUUE1ldGhvZE1ldGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBRWpDLE9BQU8sWUFBWSxFQUFFLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2xELE1BQU0sT0FBZ0IsU0FBUztJQUM3QixJQUFJLENBQWdCO0NBR3JCO0FBRUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFDN0MsSUFBSSxHQUFrQixhQUFhLENBQUMsT0FBTyxDQUFDO0lBRTVDLFFBQVE7UUFDTixPQUFPO0lBQ1QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGFBQWMsU0FBUSxTQUFTO0lBQzFDLElBQUksR0FBa0IsYUFBYSxDQUFDLElBQUksQ0FBQztJQUV6QyxRQUFRO1FBQ04sT0FBTztJQUNULENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUFTO0lBQzdDLElBQUksR0FBa0IsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUU1QyxRQUFRO1FBQ04sT0FBTztJQUNULENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxjQUFlLFNBQVEsU0FBUztJQUMzQyxJQUFJLEdBQWtCLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDMUMsSUFBSSxDQUFTO0lBRWIsWUFBWSxJQUFZO1FBQ3RCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPO0lBQ1QsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFNBQVM7SUFDN0MsSUFBSSxHQUFrQixhQUFhLENBQUMsT0FBTyxDQUFDO0lBQzVDLElBQUksQ0FBUztJQUViLFlBQVksSUFB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
1
+ import { HTTPParamType } from "@eggjs/tegg-types";
2
+ import pathToRegexp from "path-to-regexp";
3
+ import assert from "node:assert";
4
+
5
+ //#region src/model/HTTPMethodMeta.ts
6
+ var ParamMeta = class {
7
+ type;
8
+ };
9
+ var RequestParamMeta = class extends ParamMeta {
10
+ type = HTTPParamType.REQUEST;
11
+ validate() {}
12
+ };
13
+ var BodyParamMeta = class extends ParamMeta {
14
+ type = HTTPParamType.BODY;
15
+ validate() {}
16
+ };
17
+ var HeadersParamMeta = class extends ParamMeta {
18
+ type = HTTPParamType.HEADERS;
19
+ validate() {}
20
+ };
21
+ var QueryParamMeta = class extends ParamMeta {
22
+ type = HTTPParamType.QUERY;
23
+ name;
24
+ constructor(name) {
25
+ super();
26
+ this.name = name;
27
+ }
28
+ validate() {}
29
+ };
30
+ var QueriesParamMeta = class extends ParamMeta {
31
+ type = HTTPParamType.QUERIES;
32
+ name;
33
+ constructor(name) {
34
+ super();
35
+ this.name = name;
36
+ }
37
+ validate() {}
38
+ };
39
+ var PathParamMeta = class extends ParamMeta {
40
+ type = HTTPParamType.PARAM;
41
+ name;
42
+ constructor(name) {
43
+ super();
44
+ this.name = name;
45
+ }
46
+ validate(httpPath) {
47
+ const names = [];
48
+ pathToRegexp(httpPath, names);
49
+ if (!names.find((name) => String(name.name) === this.name)) throw new Error(`can not find param ${this.name} in path ${httpPath}`);
50
+ }
51
+ };
52
+ var CookiesParamMeta = class extends ParamMeta {
53
+ type = HTTPParamType.COOKIES;
54
+ validate() {}
55
+ };
56
+ var HTTPMethodMeta = class {
57
+ name;
58
+ path;
59
+ method;
60
+ middlewares;
61
+ contextParamIndex;
62
+ paramMap;
63
+ priority;
64
+ needAcl;
65
+ aclCode;
66
+ hosts;
67
+ constructor(name, path, method, middlewares, contextParamIndex, paramTypeMap, priority, needAcl, aclCode, hosts) {
68
+ this.name = name;
69
+ this.path = path;
70
+ this.method = method;
71
+ this.middlewares = middlewares;
72
+ this.contextParamIndex = contextParamIndex;
73
+ this.paramMap = paramTypeMap;
74
+ this.priority = priority;
75
+ this.needAcl = needAcl;
76
+ this.aclCode = aclCode;
77
+ this.hosts = hosts;
78
+ }
79
+ };
80
+ var ParamMetaUtil = class {
81
+ static createParam(type, name) {
82
+ switch (type) {
83
+ case HTTPParamType.PARAM:
84
+ assert(name, "path param must has name");
85
+ return new PathParamMeta(name);
86
+ case HTTPParamType.BODY: return new BodyParamMeta();
87
+ case HTTPParamType.HEADERS: return new HeadersParamMeta();
88
+ case HTTPParamType.QUERIES:
89
+ assert(name, "queries param must has name");
90
+ return new QueriesParamMeta(name);
91
+ case HTTPParamType.QUERY:
92
+ assert(name, "query param must has name");
93
+ return new QueryParamMeta(name);
94
+ case HTTPParamType.REQUEST: return new RequestParamMeta();
95
+ case HTTPParamType.COOKIES: return new CookiesParamMeta();
96
+ default: assert.fail("never arrive");
97
+ }
98
+ }
99
+ };
100
+
101
+ //#endregion
102
+ export { BodyParamMeta, CookiesParamMeta, HTTPMethodMeta, HeadersParamMeta, ParamMeta, ParamMetaUtil, PathParamMeta, QueriesParamMeta, QueryParamMeta, RequestParamMeta };
@@ -1,3 +1,3 @@
1
- export * from './HTTPControllerMeta.ts';
2
- export * from './HTTPCookies.ts';
3
- export * from './HTTPMethodMeta.ts';
1
+ import { BodyParamMeta, CookiesParamMeta, HTTPMethodMeta, HeadersParamMeta, ParamMeta, ParamMetaUtil, PathParamMeta, QueriesParamMeta, QueryParamMeta, RequestParamMeta } from "./HTTPMethodMeta.js";
2
+ import { HTTPControllerMeta } from "./HTTPControllerMeta.js";
3
+ import { Cookies } from "./HTTPCookies.js";
@@ -1,4 +1,5 @@
1
- export * from "./HTTPControllerMeta.js";
2
- export * from "./HTTPCookies.js";
3
- export * from "./HTTPMethodMeta.js";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUMifQ==
1
+ import { BodyParamMeta, CookiesParamMeta, HTTPMethodMeta, HeadersParamMeta, ParamMeta, ParamMetaUtil, PathParamMeta, QueriesParamMeta, QueryParamMeta, RequestParamMeta } from "./HTTPMethodMeta.js";
2
+ import { HTTPControllerMeta } from "./HTTPControllerMeta.js";
3
+ import { Cookies } from "./HTTPCookies.js";
4
+
5
+ export { };
@@ -1,17 +1,20 @@
1
- import { type IAdvice } from '@eggjs/tegg-types';
2
- import type { ControllerTypeLike, EggProtoImplClass, MiddlewareFunc } from '@eggjs/tegg-types';
3
- export declare class ControllerInfoUtil {
4
- static addControllerMiddleware(middleware: MiddlewareFunc, clazz: EggProtoImplClass): void;
5
- static addControllerAopMiddleware(middleware: EggProtoImplClass<IAdvice>, clazz: EggProtoImplClass): void;
6
- static getControllerMiddlewares(clazz: EggProtoImplClass): MiddlewareFunc[];
7
- static getControllerAopMiddlewares(clazz: EggProtoImplClass): EggProtoImplClass<IAdvice>[];
8
- static setControllerType(clazz: EggProtoImplClass, controllerType: ControllerTypeLike): void;
9
- static setControllerName(clazz: EggProtoImplClass, controllerName: string): void;
10
- static getControllerName(clazz: EggProtoImplClass): string | undefined;
11
- static getControllerType(clazz: EggProtoImplClass): ControllerTypeLike | undefined;
12
- static setControllerAcl(code: string | undefined, clazz: EggProtoImplClass): void;
13
- static hasControllerAcl(clazz: EggProtoImplClass): boolean;
14
- static getControllerAcl(clazz: EggProtoImplClass): string | undefined;
15
- static addControllerHosts(hosts: string[], clazz: EggProtoImplClass): void;
16
- static getControllerHosts(clazz: EggProtoImplClass): string[] | undefined;
1
+ import { ControllerTypeLike, EggProtoImplClass, IAdvice, MiddlewareFunc } from "@eggjs/tegg-types";
2
+
3
+ //#region src/util/ControllerInfoUtil.d.ts
4
+ declare class ControllerInfoUtil {
5
+ static addControllerMiddleware(middleware: MiddlewareFunc, clazz: EggProtoImplClass): void;
6
+ static addControllerAopMiddleware(middleware: EggProtoImplClass<IAdvice>, clazz: EggProtoImplClass): void;
7
+ static getControllerMiddlewares(clazz: EggProtoImplClass): MiddlewareFunc[];
8
+ static getControllerAopMiddlewares(clazz: EggProtoImplClass): EggProtoImplClass<IAdvice>[];
9
+ static setControllerType(clazz: EggProtoImplClass, controllerType: ControllerTypeLike): void;
10
+ static setControllerName(clazz: EggProtoImplClass, controllerName: string): void;
11
+ static getControllerName(clazz: EggProtoImplClass): string | undefined;
12
+ static getControllerType(clazz: EggProtoImplClass): ControllerTypeLike | undefined;
13
+ static setControllerAcl(code: string | undefined, clazz: EggProtoImplClass): void;
14
+ static hasControllerAcl(clazz: EggProtoImplClass): boolean;
15
+ static getControllerAcl(clazz: EggProtoImplClass): string | undefined;
16
+ static addControllerHosts(hosts: string[], clazz: EggProtoImplClass): void;
17
+ static getControllerHosts(clazz: EggProtoImplClass): string[] | undefined;
17
18
  }
19
+ //#endregion
20
+ export { ControllerInfoUtil };
@@ -1,46 +1,48 @@
1
- import { CONTROLLER_ACL, CONTROLLER_AOP_MIDDLEWARES, CONTROLLER_HOST, CONTROLLER_MIDDLEWARES, CONTROLLER_NAME, CONTROLLER_TYPE, } from '@eggjs/tegg-types';
2
- import { MetadataUtil } from '@eggjs/core-decorator';
3
- export class ControllerInfoUtil {
4
- static addControllerMiddleware(middleware, clazz) {
5
- const middlewares = MetadataUtil.initOwnArrayMetaData(CONTROLLER_MIDDLEWARES, clazz, []);
6
- middlewares.push(middleware);
7
- }
8
- static addControllerAopMiddleware(middleware, clazz) {
9
- const middlewares = MetadataUtil.initOwnArrayMetaData(CONTROLLER_AOP_MIDDLEWARES, clazz, []);
10
- middlewares.push(middleware);
11
- }
12
- static getControllerMiddlewares(clazz) {
13
- return MetadataUtil.getMetaData(CONTROLLER_MIDDLEWARES, clazz) || [];
14
- }
15
- static getControllerAopMiddlewares(clazz) {
16
- return MetadataUtil.getMetaData(CONTROLLER_AOP_MIDDLEWARES, clazz) || [];
17
- }
18
- static setControllerType(clazz, controllerType) {
19
- MetadataUtil.defineMetaData(CONTROLLER_TYPE, controllerType, clazz);
20
- }
21
- static setControllerName(clazz, controllerName) {
22
- MetadataUtil.defineMetaData(CONTROLLER_NAME, controllerName, clazz);
23
- }
24
- static getControllerName(clazz) {
25
- return MetadataUtil.getMetaData(CONTROLLER_NAME, clazz);
26
- }
27
- static getControllerType(clazz) {
28
- return MetadataUtil.getMetaData(CONTROLLER_TYPE, clazz);
29
- }
30
- static setControllerAcl(code, clazz) {
31
- MetadataUtil.defineMetaData(CONTROLLER_ACL, code, clazz);
32
- }
33
- static hasControllerAcl(clazz) {
34
- return MetadataUtil.hasMetaData(CONTROLLER_ACL, clazz);
35
- }
36
- static getControllerAcl(clazz) {
37
- return MetadataUtil.getMetaData(CONTROLLER_ACL, clazz);
38
- }
39
- static addControllerHosts(hosts, clazz) {
40
- MetadataUtil.defineMetaData(CONTROLLER_HOST, hosts, clazz);
41
- }
42
- static getControllerHosts(clazz) {
43
- return MetadataUtil.getMetaData(CONTROLLER_HOST, clazz);
44
- }
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udHJvbGxlckluZm9VdGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvQ29udHJvbGxlckluZm9VdGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsZUFBZSxFQUNmLGVBQWUsR0FFaEIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixNQUFNLENBQUMsdUJBQXVCLENBQUMsVUFBMEIsRUFBRSxLQUF3QjtRQUNqRixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQWlCLHNCQUFzQixFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN6RyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsMEJBQTBCLENBQUMsVUFBc0MsRUFBRSxLQUF3QjtRQUNoRyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQ25ELDBCQUEwQixFQUMxQixLQUFLLEVBQ0wsRUFBRSxDQUNILENBQUM7UUFDRixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxNQUFNLENBQUMsd0JBQXdCLENBQUMsS0FBd0I7UUFDdEQsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLDJCQUEyQixDQUFDLEtBQXdCO1FBQ3pELE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQywwQkFBMEIsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUF3QixFQUFFLGNBQWtDO1FBQ25GLFlBQVksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQXdCLEVBQUUsY0FBc0I7UUFDdkUsWUFBWSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBd0I7UUFDL0MsT0FBTyxZQUFZLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQXdCO1FBQy9DLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUF3QixFQUFFLEtBQXdCO1FBQ3hFLFlBQVksQ0FBQyxjQUFjLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQXdCO1FBQzlDLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUF3QjtRQUM5QyxPQUFPLFlBQVksQ0FBQyxXQUFXLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsS0FBZSxFQUFFLEtBQXdCO1FBQ2pFLFlBQVksQ0FBQyxjQUFjLENBQUMsZUFBZSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEtBQXdCO1FBQ2hELE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUQsQ0FBQztDQUNGIn0=
1
+ import { MetadataUtil } from "@eggjs/core-decorator";
2
+ import { CONTROLLER_ACL, CONTROLLER_AOP_MIDDLEWARES, CONTROLLER_HOST, CONTROLLER_MIDDLEWARES, CONTROLLER_NAME, CONTROLLER_TYPE } from "@eggjs/tegg-types";
3
+
4
+ //#region src/util/ControllerInfoUtil.ts
5
+ var ControllerInfoUtil = class {
6
+ static addControllerMiddleware(middleware, clazz) {
7
+ MetadataUtil.initOwnArrayMetaData(CONTROLLER_MIDDLEWARES, clazz, []).push(middleware);
8
+ }
9
+ static addControllerAopMiddleware(middleware, clazz) {
10
+ MetadataUtil.initOwnArrayMetaData(CONTROLLER_AOP_MIDDLEWARES, clazz, []).push(middleware);
11
+ }
12
+ static getControllerMiddlewares(clazz) {
13
+ return MetadataUtil.getMetaData(CONTROLLER_MIDDLEWARES, clazz) || [];
14
+ }
15
+ static getControllerAopMiddlewares(clazz) {
16
+ return MetadataUtil.getMetaData(CONTROLLER_AOP_MIDDLEWARES, clazz) || [];
17
+ }
18
+ static setControllerType(clazz, controllerType) {
19
+ MetadataUtil.defineMetaData(CONTROLLER_TYPE, controllerType, clazz);
20
+ }
21
+ static setControllerName(clazz, controllerName) {
22
+ MetadataUtil.defineMetaData(CONTROLLER_NAME, controllerName, clazz);
23
+ }
24
+ static getControllerName(clazz) {
25
+ return MetadataUtil.getMetaData(CONTROLLER_NAME, clazz);
26
+ }
27
+ static getControllerType(clazz) {
28
+ return MetadataUtil.getMetaData(CONTROLLER_TYPE, clazz);
29
+ }
30
+ static setControllerAcl(code, clazz) {
31
+ MetadataUtil.defineMetaData(CONTROLLER_ACL, code, clazz);
32
+ }
33
+ static hasControllerAcl(clazz) {
34
+ return MetadataUtil.hasMetaData(CONTROLLER_ACL, clazz);
35
+ }
36
+ static getControllerAcl(clazz) {
37
+ return MetadataUtil.getMetaData(CONTROLLER_ACL, clazz);
38
+ }
39
+ static addControllerHosts(hosts, clazz) {
40
+ MetadataUtil.defineMetaData(CONTROLLER_HOST, hosts, clazz);
41
+ }
42
+ static getControllerHosts(clazz) {
43
+ return MetadataUtil.getMetaData(CONTROLLER_HOST, clazz);
44
+ }
45
+ };
46
+
47
+ //#endregion
48
+ export { ControllerInfoUtil };