@eggjs/controller-decorator 4.0.0-beta.35 → 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 +29 -29
  57. package/dist/util/validator/index.d.ts +2 -2
  58. package/dist/util/validator/index.js +4 -3
  59. package/package.json +31 -35
@@ -1,57 +1,60 @@
1
- import assert from 'node:assert';
2
- import { PrototypeUtil } from '@eggjs/core-decorator';
3
- import { ClassUtil } from '@eggjs/metadata';
4
- import { ObjectUtils } from '@eggjs/tegg-common-util';
5
- import { ControllerType } from '@eggjs/tegg-types';
6
- import { ControllerMetaBuilderFactory } from "../../builder/index.js";
7
- import { HTTPControllerMeta, HTTPMethodMeta } from "../../model/index.js";
8
- import { ControllerInfoUtil, ControllerMetadataUtil, HTTPInfoUtil, ControllerValidator } from "../../util/index.js";
1
+ import { ControllerInfoUtil } from "../../util/ControllerInfoUtil.js";
2
+ import { ControllerValidator } from "../../util/validator/ControllerValidator.js";
3
+ import { ControllerMetadataUtil } from "../../util/ControllerMetadataUtil.js";
4
+ import { HTTPInfoUtil } from "../../util/HTTPInfoUtil.js";
5
+ import "../../util/index.js";
6
+ import { ControllerMetaBuilderFactory } from "../../builder/ControllerMetaBuilderFactory.js";
7
+ import "../../builder/index.js";
8
+ import { HTTPControllerMeta } from "../../model/HTTPControllerMeta.js";
9
+ import "../../model/index.js";
9
10
  import { HTTPControllerMethodMetaBuilder } from "./HTTPControllerMethodMetaBuilder.js";
10
- export class HTTPControllerMetaBuilder {
11
- clazz;
12
- constructor(clazz) {
13
- this.clazz = clazz;
14
- }
15
- buildMethod() {
16
- const methodNames = ObjectUtils.getProperties(this.clazz.prototype);
17
- const methods = [];
18
- for (const methodName of methodNames) {
19
- const builder = new HTTPControllerMethodMetaBuilder(this.clazz, methodName);
20
- const methodMeta = builder.build();
21
- if (methodMeta) {
22
- methods.push(methodMeta);
23
- }
24
- }
25
- return methods;
26
- }
27
- build() {
28
- ControllerValidator.validate(this.clazz);
29
- const controllerType = ControllerInfoUtil.getControllerType(this.clazz);
30
- assert.equal(controllerType, ControllerType.HTTP, 'invalidate controller type');
31
- const httpPath = HTTPInfoUtil.getHTTPPath(this.clazz);
32
- const httpMiddlewares = ControllerInfoUtil.getControllerMiddlewares(this.clazz);
33
- const methods = this.buildMethod();
34
- const clazzName = this.clazz.name;
35
- const controllerName = ControllerInfoUtil.getControllerName(this.clazz) || clazzName;
36
- const property = PrototypeUtil.getProperty(this.clazz);
37
- const protoName = property.name;
38
- const needAcl = ControllerInfoUtil.hasControllerAcl(this.clazz);
39
- const aclCode = ControllerInfoUtil.getControllerAcl(this.clazz);
40
- const hosts = ControllerInfoUtil.getControllerHosts(this.clazz);
41
- const metadata = new HTTPControllerMeta(clazzName, protoName, controllerName, httpPath, httpMiddlewares, methods, needAcl, aclCode, hosts);
42
- ControllerMetadataUtil.setControllerMetadata(this.clazz, metadata);
43
- for (const method of metadata.methods) {
44
- const realPath = metadata.getMethodRealPath(method);
45
- if (!realPath.startsWith('/')) {
46
- const desc = ClassUtil.classDescription(this.clazz);
47
- throw new Error(`class ${desc} method ${method.name} path ${realPath} not start with /`);
48
- }
49
- }
50
- return metadata;
51
- }
52
- static create(clazz) {
53
- return new HTTPControllerMetaBuilder(clazz);
54
- }
55
- }
11
+ import { ClassUtil } from "@eggjs/metadata";
12
+ import { PrototypeUtil } from "@eggjs/core-decorator";
13
+ import { ControllerType } from "@eggjs/tegg-types";
14
+ import { ObjectUtils } from "@eggjs/tegg-common-util";
15
+ import assert from "node:assert";
16
+
17
+ //#region src/impl/http/HTTPControllerMetaBuilder.ts
18
+ var HTTPControllerMetaBuilder = class HTTPControllerMetaBuilder {
19
+ clazz;
20
+ constructor(clazz) {
21
+ this.clazz = clazz;
22
+ }
23
+ buildMethod() {
24
+ const methodNames = ObjectUtils.getProperties(this.clazz.prototype);
25
+ const methods = [];
26
+ for (const methodName of methodNames) {
27
+ const methodMeta = new HTTPControllerMethodMetaBuilder(this.clazz, methodName).build();
28
+ if (methodMeta) methods.push(methodMeta);
29
+ }
30
+ return methods;
31
+ }
32
+ build() {
33
+ ControllerValidator.validate(this.clazz);
34
+ const controllerType = ControllerInfoUtil.getControllerType(this.clazz);
35
+ assert.equal(controllerType, ControllerType.HTTP, "invalidate controller type");
36
+ const httpPath = HTTPInfoUtil.getHTTPPath(this.clazz);
37
+ const httpMiddlewares = ControllerInfoUtil.getControllerMiddlewares(this.clazz);
38
+ const methods = this.buildMethod();
39
+ const clazzName = this.clazz.name;
40
+ const controllerName = ControllerInfoUtil.getControllerName(this.clazz) || clazzName;
41
+ const protoName = PrototypeUtil.getProperty(this.clazz).name;
42
+ const metadata = new HTTPControllerMeta(clazzName, protoName, controllerName, httpPath, httpMiddlewares, methods, ControllerInfoUtil.hasControllerAcl(this.clazz), ControllerInfoUtil.getControllerAcl(this.clazz), ControllerInfoUtil.getControllerHosts(this.clazz));
43
+ ControllerMetadataUtil.setControllerMetadata(this.clazz, metadata);
44
+ for (const method of metadata.methods) {
45
+ const realPath = metadata.getMethodRealPath(method);
46
+ if (!realPath.startsWith("/")) {
47
+ const desc = ClassUtil.classDescription(this.clazz);
48
+ throw new Error(`class ${desc} method ${method.name} path ${realPath} not start with /`);
49
+ }
50
+ }
51
+ return metadata;
52
+ }
53
+ static create(clazz) {
54
+ return new HTTPControllerMetaBuilder(clazz);
55
+ }
56
+ };
56
57
  ControllerMetaBuilderFactory.registerControllerMetaBuilder(ControllerType.HTTP, HTTPControllerMetaBuilder.create);
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL2h0dHAvSFRUUENvbnRyb2xsZXJNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUM7QUFFakMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRW5ELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFdkYsTUFBTSxPQUFPLHlCQUF5QjtJQUNuQixLQUFLLENBQW9CO0lBRTFDLFlBQVksS0FBd0I7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVPLFdBQVc7UUFDakIsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sT0FBTyxHQUFxQixFQUFFLENBQUM7UUFDckMsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLCtCQUErQixDQUFDLElBQUksQ0FBQyxLQUFLLEVB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
58
+
59
+ //#endregion
60
+ export { HTTPControllerMetaBuilder };
@@ -1,11 +1,16 @@
1
- import type { EggProtoImplClass } from '@eggjs/tegg-types';
2
- import { HTTPMethodMeta } from '../../model/index.ts';
3
- export declare class HTTPControllerMethodMetaBuilder {
4
- private readonly clazz;
5
- private readonly methodName;
6
- constructor(clazz: EggProtoImplClass, methodName: string);
7
- private checkParamDecorators;
8
- private buildParamType;
9
- getPriority(): number;
10
- build(): HTTPMethodMeta | undefined;
1
+ import { HTTPMethodMeta } from "../../model/HTTPMethodMeta.js";
2
+ import "../../model/index.js";
3
+ import { EggProtoImplClass } from "@eggjs/tegg-types";
4
+
5
+ //#region src/impl/http/HTTPControllerMethodMetaBuilder.d.ts
6
+ declare class HTTPControllerMethodMetaBuilder {
7
+ private readonly clazz;
8
+ private readonly methodName;
9
+ constructor(clazz: EggProtoImplClass, methodName: string);
10
+ private checkParamDecorators;
11
+ private buildParamType;
12
+ getPriority(): number;
13
+ build(): HTTPMethodMeta | undefined;
11
14
  }
15
+ //#endregion
16
+ export { HTTPControllerMethodMetaBuilder };
@@ -1,96 +1,80 @@
1
- import path from 'node:path';
2
- import { ClassUtil } from '@eggjs/metadata';
3
- import { HTTPMethodMeta, ParamMeta, ParamMetaUtil } from "../../model/index.js";
4
- import { MethodValidator, HTTPInfoUtil, MethodInfoUtil, HTTPPriorityUtil } from "../../util/index.js";
5
- export class HTTPControllerMethodMetaBuilder {
6
- clazz;
7
- methodName;
8
- constructor(clazz, methodName) {
9
- this.clazz = clazz;
10
- this.methodName = methodName;
11
- }
12
- // 检查 HTTP 方法上参数是否都加上了注解
13
- // foo(a, b=233, c); foo.length = 2;
14
- // 由于这种情况的存在, 所以需要对 function 参数检查进行特殊处理
15
- // 如果有注解的参数比 function.length 长, 长度应该取有注解参数总数(包括 @Context)
16
- //
17
- // 但是有两种特殊情况无法处理
18
- // foo(@Context() ctx, @HTTPParam() id1, id2 = 233)
19
- // foo(@Context() ctx, @HTTPParam() id1, id2 = 233, id3)
20
- // 这两种情况均为默认值参数在
21
- checkParamDecorators() {
22
- const method = this.clazz.prototype[this.methodName];
23
- // 获取函数参数长度
24
- const functionLength = method.length;
25
- // 计算带注解参数
26
- const paramIndexList = HTTPInfoUtil.getParamIndexList(this.clazz, this.methodName);
27
- const contextIndex = MethodInfoUtil.getMethodContextIndex(this.clazz, this.methodName);
28
- const hasAnnotationParamCount = typeof contextIndex === 'undefined' ? paramIndexList.length : paramIndexList.length + 1;
29
- const maxParamCount = Math.max(functionLength, hasAnnotationParamCount);
30
- for (let i = 0; i < maxParamCount; ++i) {
31
- // 上下文参数, 跳过检查
32
- if (i === contextIndex) {
33
- continue;
34
- }
35
- const paramType = HTTPInfoUtil.getHTTPMethodParamType(i, this.clazz, this.methodName);
36
- if (!paramType) {
37
- const classDesc = ClassUtil.classDescription(this.clazz);
38
- throw new Error(`${classDesc}:${this.methodName} param ${i} has no http param type, Please add @HTTPBody, @HTTPParam, @HTTPQuery, @HTTPQueries`);
39
- }
40
- }
41
- }
42
- buildParamType(httpPath) {
43
- this.checkParamDecorators();
44
- const paramTypeMap = new Map();
45
- const paramIndexList = HTTPInfoUtil.getParamIndexList(this.clazz, this.methodName);
46
- for (const paramIndex of paramIndexList) {
47
- const paramType = HTTPInfoUtil.getHTTPMethodParamType(paramIndex, this.clazz, this.methodName);
48
- const paramName = HTTPInfoUtil.getHTTPMethodParamName(paramIndex, this.clazz, this.methodName);
49
- const paramMeta = ParamMetaUtil.createParam(paramType, paramName);
50
- try {
51
- paramMeta.validate(httpPath);
52
- }
53
- catch (e) {
54
- const classDesc = ClassUtil.classDescription(this.clazz);
55
- e.message = `build controller ${classDesc} method ${this.methodName} param ${paramName} failed: ${e.message}`;
56
- throw e;
57
- }
58
- paramTypeMap.set(paramIndex, paramMeta);
59
- }
60
- return paramTypeMap;
61
- }
62
- getPriority() {
63
- const priority = HTTPInfoUtil.getHTTPMethodPriority(this.clazz, this.methodName);
64
- if (priority !== undefined) {
65
- return priority;
66
- }
67
- const controllerPath = HTTPInfoUtil.getHTTPPath(this.clazz);
68
- const methodPath = HTTPInfoUtil.getHTTPMethodPath(this.clazz, this.methodName);
69
- const realPath = controllerPath ? path.posix.join(controllerPath, methodPath) : methodPath;
70
- const defaultPriority = HTTPPriorityUtil.calcPathPriority(realPath);
71
- if (defaultPriority > HTTPPriorityUtil.DEFAULT_PRIORITY) {
72
- throw new Error(`path ${realPath} is too long, should set priority manually`);
73
- }
74
- return defaultPriority;
75
- }
76
- build() {
77
- MethodValidator.validate(this.clazz, this.methodName);
78
- const controllerType = MethodInfoUtil.getMethodControllerType(this.clazz, this.methodName);
79
- if (!controllerType) {
80
- return undefined;
81
- }
82
- const httpMethod = HTTPInfoUtil.getHTTPMethodMethod(this.clazz, this.methodName);
83
- const parentPath = HTTPInfoUtil.getHTTPPath(this.clazz);
84
- const httpPath = HTTPInfoUtil.getHTTPMethodPath(this.clazz, this.methodName);
85
- const contextIndex = MethodInfoUtil.getMethodContextIndex(this.clazz, this.methodName);
86
- const middlewares = MethodInfoUtil.getMethodMiddlewares(this.clazz, this.methodName);
87
- const needAcl = MethodInfoUtil.hasMethodAcl(this.clazz, this.methodName);
88
- const aclCode = MethodInfoUtil.getMethodAcl(this.clazz, this.methodName);
89
- const hosts = MethodInfoUtil.getMethodHosts(this.clazz, this.methodName);
90
- const realPath = parentPath ? path.posix.join(parentPath, httpPath) : httpPath;
91
- const paramTypeMap = this.buildParamType(realPath);
92
- const priority = this.getPriority();
93
- return new HTTPMethodMeta(this.methodName, httpPath, httpMethod, middlewares, contextIndex, paramTypeMap, priority, needAcl, aclCode, hosts);
94
- }
95
- }
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSFRUUENvbnRyb2xsZXJNZXRob2RNZXRhQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbXBsL2h0dHAvSFRUUENvbnRyb2xsZXJNZXRob2RNZXRhQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzVDLE9BQU8sRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRHLE1BQU0sT0FBTywrQkFBK0I7SUFDekIsS0FBSyxDQUFvQjtJQUN6QixVQUFVLENBQVM7SUFFcEMsWUFBWSxLQUF3QixFQUFFLFVBQWtCO1FBQ3RELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFRCx3QkFBd0I7SUFDeEIsb0NBQW9DO0lBQ3BDLHVDQUF1QztJQUN2Qyx5REFBeUQ7SUFDekQsRUFBRTtJQUNGLGdCQUFnQjtJQUNoQixtREFBbUQ7SUFDbkQsd0RBQXdEO0lBQ3hELGdCQUFnQjtJQUNSLG9CQUFvQjtRQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFckQsV0FBVztRQUNYLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFFckMsVUFBVTtRQUNWLE1BQU0sY0FBYyxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNu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
1
+ import { MethodInfoUtil } from "../../util/MethodInfoUtil.js";
2
+ import { MethodValidator } from "../../util/validator/MethodValidator.js";
3
+ import { HTTPInfoUtil } from "../../util/HTTPInfoUtil.js";
4
+ import { HTTPPriorityUtil } from "../../util/HTTPPriorityUtil.js";
5
+ import "../../util/index.js";
6
+ import { HTTPMethodMeta, ParamMetaUtil } from "../../model/HTTPMethodMeta.js";
7
+ import "../../model/index.js";
8
+ import { ClassUtil } from "@eggjs/metadata";
9
+ import path from "node:path";
10
+
11
+ //#region src/impl/http/HTTPControllerMethodMetaBuilder.ts
12
+ var HTTPControllerMethodMetaBuilder = class {
13
+ clazz;
14
+ methodName;
15
+ constructor(clazz, methodName) {
16
+ this.clazz = clazz;
17
+ this.methodName = methodName;
18
+ }
19
+ checkParamDecorators() {
20
+ const functionLength = this.clazz.prototype[this.methodName].length;
21
+ const paramIndexList = HTTPInfoUtil.getParamIndexList(this.clazz, this.methodName);
22
+ const contextIndex = MethodInfoUtil.getMethodContextIndex(this.clazz, this.methodName);
23
+ const hasAnnotationParamCount = typeof contextIndex === "undefined" ? paramIndexList.length : paramIndexList.length + 1;
24
+ const maxParamCount = Math.max(functionLength, hasAnnotationParamCount);
25
+ for (let i = 0; i < maxParamCount; ++i) {
26
+ if (i === contextIndex) continue;
27
+ if (!HTTPInfoUtil.getHTTPMethodParamType(i, this.clazz, this.methodName)) {
28
+ const classDesc = ClassUtil.classDescription(this.clazz);
29
+ throw new Error(`${classDesc}:${this.methodName} param ${i} has no http param type, Please add @HTTPBody, @HTTPParam, @HTTPQuery, @HTTPQueries`);
30
+ }
31
+ }
32
+ }
33
+ buildParamType(httpPath) {
34
+ this.checkParamDecorators();
35
+ const paramTypeMap = /* @__PURE__ */ new Map();
36
+ const paramIndexList = HTTPInfoUtil.getParamIndexList(this.clazz, this.methodName);
37
+ for (const paramIndex of paramIndexList) {
38
+ const paramType = HTTPInfoUtil.getHTTPMethodParamType(paramIndex, this.clazz, this.methodName);
39
+ const paramName = HTTPInfoUtil.getHTTPMethodParamName(paramIndex, this.clazz, this.methodName);
40
+ const paramMeta = ParamMetaUtil.createParam(paramType, paramName);
41
+ try {
42
+ paramMeta.validate(httpPath);
43
+ } catch (e) {
44
+ e.message = `build controller ${ClassUtil.classDescription(this.clazz)} method ${this.methodName} param ${paramName} failed: ${e.message}`;
45
+ throw e;
46
+ }
47
+ paramTypeMap.set(paramIndex, paramMeta);
48
+ }
49
+ return paramTypeMap;
50
+ }
51
+ getPriority() {
52
+ const priority = HTTPInfoUtil.getHTTPMethodPriority(this.clazz, this.methodName);
53
+ if (priority !== void 0) return priority;
54
+ const controllerPath = HTTPInfoUtil.getHTTPPath(this.clazz);
55
+ const methodPath = HTTPInfoUtil.getHTTPMethodPath(this.clazz, this.methodName);
56
+ const realPath = controllerPath ? path.posix.join(controllerPath, methodPath) : methodPath;
57
+ const defaultPriority = HTTPPriorityUtil.calcPathPriority(realPath);
58
+ if (defaultPriority > HTTPPriorityUtil.DEFAULT_PRIORITY) throw new Error(`path ${realPath} is too long, should set priority manually`);
59
+ return defaultPriority;
60
+ }
61
+ build() {
62
+ MethodValidator.validate(this.clazz, this.methodName);
63
+ if (!MethodInfoUtil.getMethodControllerType(this.clazz, this.methodName)) return;
64
+ const httpMethod = HTTPInfoUtil.getHTTPMethodMethod(this.clazz, this.methodName);
65
+ const parentPath = HTTPInfoUtil.getHTTPPath(this.clazz);
66
+ const httpPath = HTTPInfoUtil.getHTTPMethodPath(this.clazz, this.methodName);
67
+ const contextIndex = MethodInfoUtil.getMethodContextIndex(this.clazz, this.methodName);
68
+ const middlewares = MethodInfoUtil.getMethodMiddlewares(this.clazz, this.methodName);
69
+ const needAcl = MethodInfoUtil.hasMethodAcl(this.clazz, this.methodName);
70
+ const aclCode = MethodInfoUtil.getMethodAcl(this.clazz, this.methodName);
71
+ const hosts = MethodInfoUtil.getMethodHosts(this.clazz, this.methodName);
72
+ const realPath = parentPath ? path.posix.join(parentPath, httpPath) : httpPath;
73
+ const paramTypeMap = this.buildParamType(realPath);
74
+ const priority = this.getPriority();
75
+ return new HTTPMethodMeta(this.methodName, httpPath, httpMethod, middlewares, contextIndex, paramTypeMap, priority, needAcl, aclCode, hosts);
76
+ }
77
+ };
78
+
79
+ //#endregion
80
+ export { HTTPControllerMethodMetaBuilder };
@@ -1,2 +1,2 @@
1
- export * from './HTTPControllerMetaBuilder.ts';
2
- export * from './HTTPControllerMethodMetaBuilder.ts';
1
+ import { HTTPControllerMetaBuilder } from "./HTTPControllerMetaBuilder.js";
2
+ import { HTTPControllerMethodMetaBuilder } from "./HTTPControllerMethodMetaBuilder.js";
@@ -1,3 +1,4 @@
1
- export * from "./HTTPControllerMetaBuilder.js";
2
- export * from "./HTTPControllerMethodMetaBuilder.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1wbC9odHRwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxzQ0FBc0MsQ0FBQyJ9
1
+ import { HTTPControllerMethodMetaBuilder } from "./HTTPControllerMethodMetaBuilder.js";
2
+ import { HTTPControllerMetaBuilder } from "./HTTPControllerMetaBuilder.js";
3
+
4
+ export { };
@@ -1 +1,3 @@
1
- export * from './http/index.ts';
1
+ import { HTTPControllerMetaBuilder } from "./http/HTTPControllerMetaBuilder.js";
2
+ import { HTTPControllerMethodMetaBuilder } from "./http/HTTPControllerMethodMetaBuilder.js";
3
+ import "./http/index.js";
@@ -1,2 +1,5 @@
1
- export * from "./http/index.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW1wbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlCQUFpQixDQUFDIn0=
1
+ import { HTTPControllerMethodMetaBuilder } from "./http/HTTPControllerMethodMetaBuilder.js";
2
+ import { HTTPControllerMetaBuilder } from "./http/HTTPControllerMetaBuilder.js";
3
+ import "./http/index.js";
4
+
5
+ export { };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,27 @@
1
- export * from '@eggjs/tegg-types/controller-decorator';
2
- export * from './builder/index.ts';
3
- export * from './decorator/index.ts';
4
- export * from './impl/index.ts';
5
- export * from './model/index.ts';
6
- export * from './util/index.ts';
1
+ import { ControllerMetaBuilderFactory } from "./builder/ControllerMetaBuilderFactory.js";
2
+ import "./builder/index.js";
3
+ import { Host } from "./decorator/http/Host.js";
4
+ import { HTTPController } from "./decorator/http/HTTPController.js";
5
+ import { HTTPMethod } from "./decorator/http/HTTPMethod.js";
6
+ import { InjectContext } from "./decorator/Context.js";
7
+ import { HTTPBody, HTTPCookies, HTTPHeaders, HTTPParam, HTTPQueries, HTTPQuery, HTTPRequest } from "./decorator/http/HTTPParam.js";
8
+ import { Acl } from "./decorator/Acl.js";
9
+ import { Middleware } from "./decorator/Middleware.js";
10
+ import "./decorator/index.js";
11
+ import { BodyParamMeta, CookiesParamMeta, HTTPMethodMeta, HeadersParamMeta, ParamMeta, ParamMetaUtil, PathParamMeta, QueriesParamMeta, QueryParamMeta, RequestParamMeta } from "./model/HTTPMethodMeta.js";
12
+ import { HTTPControllerMeta } from "./model/HTTPControllerMeta.js";
13
+ import { Cookies } from "./model/HTTPCookies.js";
14
+ import "./model/index.js";
15
+ import { HTTPControllerMetaBuilder } from "./impl/http/HTTPControllerMetaBuilder.js";
16
+ import { HTTPControllerMethodMetaBuilder } from "./impl/http/HTTPControllerMethodMetaBuilder.js";
17
+ import "./impl/index.js";
18
+ import { ControllerValidator } from "./util/validator/ControllerValidator.js";
19
+ import { MethodValidator } from "./util/validator/MethodValidator.js";
20
+ import { ControllerInfoUtil } from "./util/ControllerInfoUtil.js";
21
+ import { ControllerMetadataUtil } from "./util/ControllerMetadataUtil.js";
22
+ import { HTTPInfoUtil } from "./util/HTTPInfoUtil.js";
23
+ import { HTTPPriorityUtil } from "./util/HTTPPriorityUtil.js";
24
+ import { MethodInfoUtil } from "./util/MethodInfoUtil.js";
25
+ import "./util/index.js";
26
+ export * from "@eggjs/tegg-types/controller-decorator";
27
+ export { Acl, BodyParamMeta, ControllerInfoUtil, ControllerMetaBuilderFactory, ControllerMetadataUtil, ControllerValidator, Cookies, CookiesParamMeta, HTTPBody, InjectContext as HTTPContext, HTTPController, HTTPControllerMeta, HTTPControllerMetaBuilder, HTTPControllerMethodMetaBuilder, HTTPCookies, HTTPHeaders, HTTPInfoUtil, HTTPMethod, HTTPMethodMeta, HTTPParam, HTTPPriorityUtil, HTTPQueries, HTTPQuery, HTTPRequest, HeadersParamMeta, Host, InjectContext, MethodInfoUtil, MethodValidator, Middleware, ParamMeta, ParamMetaUtil, PathParamMeta, QueriesParamMeta, QueryParamMeta, RequestParamMeta };
package/dist/index.js CHANGED
@@ -1,7 +1,29 @@
1
- export * from '@eggjs/tegg-types/controller-decorator';
2
- export * from "./builder/index.js";
3
- export * from "./decorator/index.js";
4
- export * from "./impl/index.js";
5
- export * from "./model/index.js";
6
- export * from "./util/index.js";
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUMifQ==
1
+ import { ControllerInfoUtil } from "./util/ControllerInfoUtil.js";
2
+ import { ControllerValidator } from "./util/validator/ControllerValidator.js";
3
+ import { MethodInfoUtil } from "./util/MethodInfoUtil.js";
4
+ import { MethodValidator } from "./util/validator/MethodValidator.js";
5
+ import { ControllerMetadataUtil } from "./util/ControllerMetadataUtil.js";
6
+ import { HTTPInfoUtil } from "./util/HTTPInfoUtil.js";
7
+ import { HTTPPriorityUtil } from "./util/HTTPPriorityUtil.js";
8
+ import "./util/index.js";
9
+ import { ControllerMetaBuilderFactory } from "./builder/ControllerMetaBuilderFactory.js";
10
+ import "./builder/index.js";
11
+ import { Host } from "./decorator/http/Host.js";
12
+ import { HTTPController } from "./decorator/http/HTTPController.js";
13
+ import { HTTPMethod } from "./decorator/http/HTTPMethod.js";
14
+ import { InjectContext } from "./decorator/Context.js";
15
+ import { HTTPBody, HTTPCookies, HTTPHeaders, HTTPParam, HTTPQueries, HTTPQuery, HTTPRequest } from "./decorator/http/HTTPParam.js";
16
+ import { Acl } from "./decorator/Acl.js";
17
+ import { Middleware } from "./decorator/Middleware.js";
18
+ import "./decorator/index.js";
19
+ import { BodyParamMeta, CookiesParamMeta, HTTPMethodMeta, HeadersParamMeta, ParamMeta, ParamMetaUtil, PathParamMeta, QueriesParamMeta, QueryParamMeta, RequestParamMeta } from "./model/HTTPMethodMeta.js";
20
+ import { HTTPControllerMeta } from "./model/HTTPControllerMeta.js";
21
+ import { Cookies } from "./model/HTTPCookies.js";
22
+ import "./model/index.js";
23
+ import { HTTPControllerMethodMetaBuilder } from "./impl/http/HTTPControllerMethodMetaBuilder.js";
24
+ import { HTTPControllerMetaBuilder } from "./impl/http/HTTPControllerMetaBuilder.js";
25
+ import "./impl/index.js";
26
+
27
+ export * from "@eggjs/tegg-types/controller-decorator"
28
+
29
+ export { Acl, BodyParamMeta, ControllerInfoUtil, ControllerMetaBuilderFactory, ControllerMetadataUtil, ControllerValidator, Cookies, CookiesParamMeta, HTTPBody, InjectContext as HTTPContext, HTTPController, HTTPControllerMeta, HTTPControllerMetaBuilder, HTTPControllerMethodMetaBuilder, HTTPCookies, HTTPHeaders, HTTPInfoUtil, HTTPMethod, HTTPMethodMeta, HTTPParam, HTTPPriorityUtil, HTTPQueries, HTTPQuery, HTTPRequest, HeadersParamMeta, Host, InjectContext, MethodInfoUtil, MethodValidator, Middleware, ParamMeta, ParamMetaUtil, PathParamMeta, QueriesParamMeta, QueryParamMeta, RequestParamMeta };
@@ -1,22 +1,25 @@
1
- import type { ControllerMetadata, EggPrototypeName, MiddlewareFunc } from '@eggjs/tegg-types';
2
- import { ControllerType } from '@eggjs/tegg-types';
3
- import { HTTPMethodMeta } from './HTTPMethodMeta.ts';
4
- export declare class HTTPControllerMeta implements ControllerMetadata {
5
- readonly protoName: EggPrototypeName;
6
- readonly controllerName: string;
7
- readonly className: string;
8
- readonly type: ControllerType;
9
- readonly path?: string;
10
- readonly middlewares: readonly MiddlewareFunc[];
11
- readonly methods: readonly HTTPMethodMeta[];
12
- readonly needAcl: boolean;
13
- readonly aclCode?: string;
14
- readonly hosts?: string[];
15
- constructor(className: string, protoName: EggPrototypeName, controllerName: string, path: string | undefined, middlewares: MiddlewareFunc[], methods: HTTPMethodMeta[], needAcl: boolean, aclCode: string | undefined, hosts: string[] | undefined);
16
- getMethodRealPath(method: HTTPMethodMeta): string;
17
- getMethodHosts(method: HTTPMethodMeta): string[] | undefined;
18
- getMethodName(method: HTTPMethodMeta): string;
19
- getMethodMiddlewares(method: HTTPMethodMeta): MiddlewareFunc[];
20
- hasMethodAcl(method: HTTPMethodMeta): boolean;
21
- getMethodAcl(method: HTTPMethodMeta): string | undefined;
1
+ import { HTTPMethodMeta } from "./HTTPMethodMeta.js";
2
+ import { ControllerMetadata, ControllerType, EggPrototypeName, MiddlewareFunc } from "@eggjs/tegg-types";
3
+
4
+ //#region src/model/HTTPControllerMeta.d.ts
5
+ declare class HTTPControllerMeta implements ControllerMetadata {
6
+ readonly protoName: EggPrototypeName;
7
+ readonly controllerName: string;
8
+ readonly className: string;
9
+ readonly type: ControllerType;
10
+ readonly path?: string;
11
+ readonly middlewares: readonly MiddlewareFunc[];
12
+ readonly methods: readonly HTTPMethodMeta[];
13
+ readonly needAcl: boolean;
14
+ readonly aclCode?: string;
15
+ readonly hosts?: string[];
16
+ constructor(className: string, protoName: EggPrototypeName, controllerName: string, path: string | undefined, middlewares: MiddlewareFunc[], methods: HTTPMethodMeta[], needAcl: boolean, aclCode: string | undefined, hosts: string[] | undefined);
17
+ getMethodRealPath(method: HTTPMethodMeta): string;
18
+ getMethodHosts(method: HTTPMethodMeta): string[] | undefined;
19
+ getMethodName(method: HTTPMethodMeta): string;
20
+ getMethodMiddlewares(method: HTTPMethodMeta): MiddlewareFunc[];
21
+ hasMethodAcl(method: HTTPMethodMeta): boolean;
22
+ getMethodAcl(method: HTTPMethodMeta): string | undefined;
22
23
  }
24
+ //#endregion
25
+ export { HTTPControllerMeta };