@nestia/core 3.17.0 → 4.0.0-dev.20241010-2

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 (87) hide show
  1. package/README.md +0 -1
  2. package/lib/options/INestiaTransformProject.d.ts +2 -2
  3. package/lib/programmers/PlainBodyProgrammer.d.ts +6 -2
  4. package/lib/programmers/PlainBodyProgrammer.js +31 -13
  5. package/lib/programmers/PlainBodyProgrammer.js.map +1 -1
  6. package/lib/programmers/TypedBodyProgrammer.d.ts +6 -2
  7. package/lib/programmers/TypedBodyProgrammer.js +32 -13
  8. package/lib/programmers/TypedBodyProgrammer.js.map +1 -1
  9. package/lib/programmers/TypedFormDataBodyProgrammer.d.ts +6 -2
  10. package/lib/programmers/TypedFormDataBodyProgrammer.js +30 -17
  11. package/lib/programmers/TypedFormDataBodyProgrammer.js.map +1 -1
  12. package/lib/programmers/TypedHeadersProgrammer.d.ts +6 -2
  13. package/lib/programmers/TypedHeadersProgrammer.js +12 -7
  14. package/lib/programmers/TypedHeadersProgrammer.js.map +1 -1
  15. package/lib/programmers/TypedParamProgrammer.d.ts +7 -2
  16. package/lib/programmers/TypedParamProgrammer.js +12 -7
  17. package/lib/programmers/TypedParamProgrammer.js.map +1 -1
  18. package/lib/programmers/TypedQueryBodyProgrammer.d.ts +6 -2
  19. package/lib/programmers/TypedQueryBodyProgrammer.js +12 -7
  20. package/lib/programmers/TypedQueryBodyProgrammer.js.map +1 -1
  21. package/lib/programmers/TypedQueryProgrammer.d.ts +6 -2
  22. package/lib/programmers/TypedQueryProgrammer.js +13 -7
  23. package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
  24. package/lib/programmers/TypedQueryRouteProgrammer.d.ts +6 -2
  25. package/lib/programmers/TypedQueryRouteProgrammer.js +10 -6
  26. package/lib/programmers/TypedQueryRouteProgrammer.js.map +1 -1
  27. package/lib/programmers/TypedRouteProgrammer.d.ts +6 -2
  28. package/lib/programmers/TypedRouteProgrammer.js +14 -9
  29. package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
  30. package/lib/programmers/http/HttpAssertQuerifyProgrammer.d.ts +6 -2
  31. package/lib/programmers/http/HttpAssertQuerifyProgrammer.js +22 -3
  32. package/lib/programmers/http/HttpAssertQuerifyProgrammer.js.map +1 -1
  33. package/lib/programmers/http/HttpIsQuerifyProgrammer.d.ts +6 -2
  34. package/lib/programmers/http/HttpIsQuerifyProgrammer.js +21 -3
  35. package/lib/programmers/http/HttpIsQuerifyProgrammer.js.map +1 -1
  36. package/lib/programmers/http/HttpQuerifyProgrammer.d.ts +6 -2
  37. package/lib/programmers/http/HttpQuerifyProgrammer.js +27 -15
  38. package/lib/programmers/http/HttpQuerifyProgrammer.js.map +1 -1
  39. package/lib/programmers/http/HttpValidateQuerifyProgrammer.d.ts +6 -2
  40. package/lib/programmers/http/HttpValidateQuerifyProgrammer.js +25 -4
  41. package/lib/programmers/http/HttpValidateQuerifyProgrammer.js.map +1 -1
  42. package/lib/transform.d.ts +2 -2
  43. package/lib/transform.js.map +1 -1
  44. package/lib/transformers/FileTransformer.d.ts +2 -2
  45. package/lib/transformers/FileTransformer.js +24 -10
  46. package/lib/transformers/FileTransformer.js.map +1 -1
  47. package/lib/transformers/MethodTransformer.d.ts +5 -2
  48. package/lib/transformers/MethodTransformer.js +21 -14
  49. package/lib/transformers/MethodTransformer.js.map +1 -1
  50. package/lib/transformers/NodeTransformer.d.ts +5 -2
  51. package/lib/transformers/NodeTransformer.js +11 -5
  52. package/lib/transformers/NodeTransformer.js.map +1 -1
  53. package/lib/transformers/ParameterDecoratorTransformer.d.ts +6 -2
  54. package/lib/transformers/ParameterDecoratorTransformer.js +49 -40
  55. package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
  56. package/lib/transformers/ParameterTransformer.d.ts +5 -2
  57. package/lib/transformers/ParameterTransformer.js +17 -9
  58. package/lib/transformers/ParameterTransformer.js.map +1 -1
  59. package/lib/transformers/TypedRouteTransformer.d.ts +6 -2
  60. package/lib/transformers/TypedRouteTransformer.js +20 -16
  61. package/lib/transformers/TypedRouteTransformer.js.map +1 -1
  62. package/lib/transformers/WebSocketRouteTransformer.d.ts +6 -2
  63. package/lib/transformers/WebSocketRouteTransformer.js +11 -11
  64. package/lib/transformers/WebSocketRouteTransformer.js.map +1 -1
  65. package/package.json +5 -5
  66. package/src/options/INestiaTransformProject.ts +3 -2
  67. package/src/programmers/PlainBodyProgrammer.ts +32 -13
  68. package/src/programmers/TypedBodyProgrammer.ts +106 -82
  69. package/src/programmers/TypedFormDataBodyProgrammer.ts +87 -77
  70. package/src/programmers/TypedHeadersProgrammer.ts +48 -41
  71. package/src/programmers/TypedParamProgrammer.ts +21 -15
  72. package/src/programmers/TypedQueryBodyProgrammer.ts +48 -41
  73. package/src/programmers/TypedQueryProgrammer.ts +50 -45
  74. package/src/programmers/TypedQueryRouteProgrammer.ts +44 -39
  75. package/src/programmers/TypedRouteProgrammer.ts +63 -61
  76. package/src/programmers/http/HttpAssertQuerifyProgrammer.ts +54 -40
  77. package/src/programmers/http/HttpIsQuerifyProgrammer.ts +54 -41
  78. package/src/programmers/http/HttpQuerifyProgrammer.ts +60 -48
  79. package/src/programmers/http/HttpValidateQuerifyProgrammer.ts +54 -41
  80. package/src/transform.ts +2 -2
  81. package/src/transformers/FileTransformer.ts +68 -46
  82. package/src/transformers/MethodTransformer.ts +56 -51
  83. package/src/transformers/NodeTransformer.ts +16 -9
  84. package/src/transformers/ParameterDecoratorTransformer.ts +100 -91
  85. package/src/transformers/ParameterTransformer.ts +47 -38
  86. package/src/transformers/TypedRouteTransformer.ts +58 -55
  87. package/src/transformers/WebSocketRouteTransformer.ts +81 -78
@@ -15,67 +15,76 @@ const TypedQueryBodyProgrammer_1 = require("../programmers/TypedQueryBodyProgram
15
15
  const TypedQueryProgrammer_1 = require("../programmers/TypedQueryProgrammer");
16
16
  var ParameterDecoratorTransformer;
17
17
  (function (ParameterDecoratorTransformer) {
18
- ParameterDecoratorTransformer.transform = (project) => (type) => (decorator) => {
18
+ ParameterDecoratorTransformer.transform = (props) => {
19
19
  var _a;
20
20
  //----
21
21
  // VALIDATIONS
22
22
  //----
23
23
  // CHECK DECORATOR
24
- if (!typescript_1.default.isCallExpression(decorator.expression))
25
- return decorator;
24
+ if (!typescript_1.default.isCallExpression(props.decorator.expression))
25
+ return props.decorator;
26
26
  // SIGNATURE DECLARATION
27
- const declaration = (_a = project.checker.getResolvedSignature(decorator.expression)) === null || _a === void 0 ? void 0 : _a.declaration;
27
+ const declaration = (_a = props.context.checker.getResolvedSignature(props.decorator.expression)) === null || _a === void 0 ? void 0 : _a.declaration;
28
28
  if (declaration === undefined)
29
- return decorator;
29
+ return props.decorator;
30
30
  // FILE PATH
31
31
  const file = path_1.default.resolve(declaration.getSourceFile().fileName);
32
32
  if (file.indexOf(LIB_PATH) === -1 && file.indexOf(SRC_PATH) === -1)
33
- return decorator;
33
+ return props.decorator;
34
34
  //----
35
35
  // TRANSFORMATION
36
36
  //----
37
37
  // FIND PROGRAMMER
38
- const programmer = FUNCTORS[getName(project.checker.getTypeAtLocation(declaration).symbol)];
38
+ const programmer = FUNCTORS[getName(props.context.checker.getTypeAtLocation(declaration).symbol)];
39
39
  if (programmer === undefined)
40
- return decorator;
40
+ return props.decorator;
41
41
  // GET TYPE INFO
42
- const typeNode = project.checker.typeToTypeNode(type, undefined, undefined);
42
+ const typeNode = props.context.checker.typeToTypeNode(props.type, undefined, undefined);
43
43
  if (typeNode === undefined)
44
- return decorator;
44
+ return props.decorator;
45
45
  // DO TRANSFORM
46
- return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(decorator.expression, decorator.expression.expression, decorator.expression.typeArguments, programmer(project)(decorator.expression.expression)(decorator.expression.arguments)(type)));
46
+ return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(props.decorator.expression, props.decorator.expression.expression, props.decorator.expression.typeArguments, programmer({
47
+ context: props.context,
48
+ modulo: props.decorator.expression.expression,
49
+ arguments: props.decorator.expression.arguments,
50
+ type: props.type,
51
+ })));
47
52
  };
48
53
  })(ParameterDecoratorTransformer || (exports.ParameterDecoratorTransformer = ParameterDecoratorTransformer = {}));
49
54
  const FUNCTORS = {
50
- EncryptedBody: (project) => (modulo) => (parameters) => (type) => parameters.length
51
- ? parameters
52
- : [TypedBodyProgrammer_1.TypedBodyProgrammer.generate(project)(modulo)(type)],
53
- TypedBody: (project) => (modulo) => (parameters) => (type) => parameters.length
54
- ? parameters
55
- : [TypedBodyProgrammer_1.TypedBodyProgrammer.generate(project)(modulo)(type)],
56
- TypedHeaders: (project) => (modulo) => (parameters) => (type) => parameters.length
57
- ? parameters
58
- : [TypedHeadersProgrammer_1.TypedHeadersProgrammer.generate(project)(modulo)(type)],
59
- TypedParam: (project) => TypedParamProgrammer_1.TypedParamProgrammer.generate(project),
60
- TypedQuery: (project) => (modulo) => (parameters) => (type) => parameters.length
61
- ? parameters
62
- : [TypedQueryProgrammer_1.TypedQueryProgrammer.generate(project)(modulo)(type)],
63
- "TypedQuery.Body": (project) => (modulo) => (parameters) => (type) => parameters.length
64
- ? parameters
65
- : [TypedQueryBodyProgrammer_1.TypedQueryBodyProgrammer.generate(project)(modulo)(type)],
66
- "TypedFormData.Body": (project) => (modulo) => (parameters) => (type) => parameters.length
67
- ? parameters
68
- : [TypedFormDataBodyProgrammer_1.TypedFormDataBodyProgrammer.generate(project)(modulo)(type)],
69
- PlainBody: (project) => (modulo) => (parameters) => (type) => parameters.length
70
- ? parameters
71
- : [PlainBodyProgrammer_1.PlainBodyProgrammer.generate(project)(modulo)(type)],
72
- "WebSocketRoute.Header": (project) => (modulo) => (parameters) => (type) => parameters.length
73
- ? parameters
74
- : [TypedBodyProgrammer_1.TypedBodyProgrammer.generate(project)(modulo)(type)],
75
- "WebSocketRoute.Param": (project) => TypedParamProgrammer_1.TypedParamProgrammer.generate(project),
76
- "WebSocketRoute.Query": (project) => (modulo) => (parameters) => (type) => parameters.length
77
- ? parameters
78
- : [TypedQueryProgrammer_1.TypedQueryProgrammer.generate(project)(modulo)(type)],
55
+ EncryptedBody: (props) => props.arguments.length
56
+ ? props.arguments
57
+ : [TypedBodyProgrammer_1.TypedBodyProgrammer.generate(props)],
58
+ TypedBody: (props) => props.arguments.length
59
+ ? props.arguments
60
+ : [TypedBodyProgrammer_1.TypedBodyProgrammer.generate(props)],
61
+ TypedHeaders: (props) => props.arguments.length
62
+ ? props.arguments
63
+ : [TypedHeadersProgrammer_1.TypedHeadersProgrammer.generate(props)],
64
+ TypedParam: (props) => props.arguments.length !== 1
65
+ ? props.arguments
66
+ : TypedParamProgrammer_1.TypedParamProgrammer.generate(props),
67
+ TypedQuery: (props) => props.arguments.length
68
+ ? props.arguments
69
+ : [TypedQueryProgrammer_1.TypedQueryProgrammer.generate(props)],
70
+ "TypedQuery.Body": (props) => props.arguments.length
71
+ ? props.arguments
72
+ : [TypedQueryBodyProgrammer_1.TypedQueryBodyProgrammer.generate(props)],
73
+ "TypedFormData.Body": (props) => props.arguments.length
74
+ ? props.arguments
75
+ : [TypedFormDataBodyProgrammer_1.TypedFormDataBodyProgrammer.generate(props)],
76
+ PlainBody: (props) => props.arguments.length
77
+ ? props.arguments
78
+ : [PlainBodyProgrammer_1.PlainBodyProgrammer.generate(props)],
79
+ "WebSocketRoute.Header": (props) => props.arguments.length
80
+ ? props.arguments
81
+ : [TypedBodyProgrammer_1.TypedBodyProgrammer.generate(props)],
82
+ "WebSocketRoute.Param": (props) => props.arguments.length !== 1
83
+ ? props.arguments
84
+ : TypedParamProgrammer_1.TypedParamProgrammer.generate(props),
85
+ "WebSocketRoute.Query": (props) => props.arguments.length
86
+ ? props.arguments
87
+ : [TypedQueryProgrammer_1.TypedQueryProgrammer.generate(props)],
79
88
  };
80
89
  const LIB_PATH = path_1.default.join("@nestia", "core", "lib", "decorators");
81
90
  const SRC_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "decorators"));
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
1
  import ts from "typescript";
2
- import { INestiaTransformProject } from "../options/INestiaTransformProject";
2
+ import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
3
  export declare namespace ParameterTransformer {
4
- const transform: (project: INestiaTransformProject) => (param: ts.ParameterDeclaration) => ts.ParameterDeclaration;
4
+ const transform: (props: {
5
+ context: INestiaTransformContext;
6
+ param: ts.ParameterDeclaration;
7
+ }) => ts.ParameterDeclaration;
5
8
  }
@@ -8,22 +8,30 @@ const typescript_1 = __importDefault(require("typescript"));
8
8
  const ParameterDecoratorTransformer_1 = require("./ParameterDecoratorTransformer");
9
9
  var ParameterTransformer;
10
10
  (function (ParameterTransformer) {
11
- ParameterTransformer.transform = (project) => (param) => {
11
+ ParameterTransformer.transform = (props) => {
12
12
  // CHECK DECORATOR
13
13
  const decorators = typescript_1.default.getDecorators
14
- ? typescript_1.default.getDecorators(param)
15
- : param.decorators;
14
+ ? typescript_1.default.getDecorators(props.param)
15
+ : props.param.decorators;
16
16
  if (!(decorators === null || decorators === void 0 ? void 0 : decorators.length))
17
- return param;
17
+ return props.param;
18
18
  // GET TYPE INFO
19
- const type = project.checker.getTypeAtLocation(param);
19
+ const type = props.context.checker.getTypeAtLocation(props.param);
20
20
  // WHEN LATEST TS VERSION
21
21
  if (typescript_1.default.getDecorators !== undefined)
22
- return typescript_1.default.factory.updateParameterDeclaration(param, (param.modifiers || []).map((mod) => typescript_1.default.isDecorator(mod)
23
- ? ParameterDecoratorTransformer_1.ParameterDecoratorTransformer.transform(project)(type)(mod)
24
- : mod), param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer);
22
+ return typescript_1.default.factory.updateParameterDeclaration(props.param, (props.param.modifiers || []).map((mod) => typescript_1.default.isDecorator(mod)
23
+ ? ParameterDecoratorTransformer_1.ParameterDecoratorTransformer.transform({
24
+ context: props.context,
25
+ decorator: mod,
26
+ type,
27
+ })
28
+ : mod), props.param.dotDotDotToken, props.param.name, props.param.questionToken, props.param.type, props.param.initializer);
25
29
  // eslint-disable-next-line
26
- return typescript_1.default.factory.updateParameterDeclaration(param, decorators.map((deco) => ParameterDecoratorTransformer_1.ParameterDecoratorTransformer.transform(project)(type)(deco)), param.modifiers, param.dotDotDotToken, param.name, param.questionToken, param.type, param.initializer);
30
+ return typescript_1.default.factory.updateParameterDeclaration(props.param, decorators.map((deco) => ParameterDecoratorTransformer_1.ParameterDecoratorTransformer.transform({
31
+ context: props.context,
32
+ decorator: deco,
33
+ type,
34
+ })), props.param.modifiers, props.param.dotDotDotToken, props.param.name, props.param.questionToken, props.param.type, props.param.initializer);
27
35
  };
28
36
  })(ParameterTransformer || (exports.ParameterTransformer = ParameterTransformer = {}));
29
37
  //# sourceMappingURL=ParameterTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAG5B,mFAAgF;AAEhF,IAAiB,oBAAoB,CA0CpC;AA1CD,WAAiB,oBAAoB;IACtB,8BAAS,GACpB,CAAC,OAAgC,EAAE,EAAE,CACrC,CAAC,KAA8B,EAA2B,EAAE;QAC1D,kBAAkB;QAClB,MAAM,UAAU,GAAwC,oBAAE,CAAC,aAAa;YACtE,CAAC,CAAC,oBAAE,CAAC,aAAa,CAAC,KAAK,CAAC;YACzB,CAAC,CAAE,KAAa,CAAC,UAAU,CAAC;QAC9B,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA;YAAE,OAAO,KAAK,CAAC;QAEtC,gBAAgB;QAChB,MAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAE/D,yBAAyB;QACzB,IAAI,oBAAE,CAAC,aAAa,KAAK,SAAS;YAChC,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CAC1C,KAAK,EACL,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClC,oBAAE,CAAC,WAAW,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,6DAA6B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;gBAC7D,CAAC,CAAC,GAAG,CACR,EACD,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,WAAW,CAClB,CAAC;QACJ,2BAA2B;QAC3B,OAAQ,oBAAE,CAAC,OAAO,CAAC,0BAAkC,CACnD,KAAK,EACL,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,6DAA6B,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAC7D,EACA,KAAa,CAAC,SAAS,EACxB,KAAK,CAAC,cAAc,EACpB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,WAAW,CAClB,CAAC;IACJ,CAAC,CAAC;AACN,CAAC,EA1CgB,oBAAoB,oCAApB,oBAAoB,QA0CpC"}
1
+ {"version":3,"file":"ParameterTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAG5B,mFAAgF;AAEhF,IAAiB,oBAAoB,CAmDpC;AAnDD,WAAiB,oBAAoB;IACtB,8BAAS,GAAG,CAAC,KAGzB,EAA2B,EAAE;QAC5B,kBAAkB;QAClB,MAAM,UAAU,GAAwC,oBAAE,CAAC,aAAa;YACtE,CAAC,CAAC,oBAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;YAC/B,CAAC,CAAE,KAAK,CAAC,KAAa,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAA;YAAE,OAAO,KAAK,CAAC,KAAK,CAAC;QAE5C,gBAAgB;QAChB,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE3E,yBAAyB;QACzB,IAAI,oBAAE,CAAC,aAAa,KAAK,SAAS;YAChC,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CAC1C,KAAK,CAAC,KAAK,EACX,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACxC,oBAAE,CAAC,WAAW,CAAC,GAAG,CAAC;gBACjB,CAAC,CAAC,6DAA6B,CAAC,SAAS,CAAC;oBACtC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,SAAS,EAAE,GAAG;oBACd,IAAI;iBACL,CAAC;gBACJ,CAAC,CAAC,GAAG,CACR,EACD,KAAK,CAAC,KAAK,CAAC,cAAc,EAC1B,KAAK,CAAC,KAAK,CAAC,IAAI,EAChB,KAAK,CAAC,KAAK,CAAC,aAAa,EACzB,KAAK,CAAC,KAAK,CAAC,IAAI,EAChB,KAAK,CAAC,KAAK,CAAC,WAAW,CACxB,CAAC;QACJ,2BAA2B;QAC3B,OAAQ,oBAAE,CAAC,OAAO,CAAC,0BAAkC,CACnD,KAAK,CAAC,KAAK,EACX,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,6DAA6B,CAAC,SAAS,CAAC;YACtC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,IAAI;YACf,IAAI;SACL,CAAC,CACH,EACA,KAAK,CAAC,KAAa,CAAC,SAAS,EAC9B,KAAK,CAAC,KAAK,CAAC,cAAc,EAC1B,KAAK,CAAC,KAAK,CAAC,IAAI,EAChB,KAAK,CAAC,KAAK,CAAC,aAAa,EACzB,KAAK,CAAC,KAAK,CAAC,IAAI,EAChB,KAAK,CAAC,KAAK,CAAC,WAAW,CACxB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EAnDgB,oBAAoB,oCAApB,oBAAoB,QAmDpC"}
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
- import { INestiaTransformProject } from "../options/INestiaTransformProject";
2
+ import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
3
  export declare namespace TypedRouteTransformer {
4
- const transform: (project: INestiaTransformProject) => (type: ts.Type) => (decorator: ts.Decorator) => ts.Decorator;
4
+ const transform: (props: {
5
+ context: INestiaTransformContext;
6
+ decorator: ts.Decorator;
7
+ type: ts.Type;
8
+ }) => ts.Decorator;
5
9
  }
@@ -10,13 +10,13 @@ const TypedQueryRouteProgrammer_1 = require("../programmers/TypedQueryRouteProgr
10
10
  const TypedRouteProgrammer_1 = require("../programmers/TypedRouteProgrammer");
11
11
  var TypedRouteTransformer;
12
12
  (function (TypedRouteTransformer) {
13
- TypedRouteTransformer.transform = (project) => (type) => (decorator) => {
14
- if (!typescript_1.default.isCallExpression(decorator.expression))
15
- return decorator;
13
+ TypedRouteTransformer.transform = (props) => {
14
+ if (!typescript_1.default.isCallExpression(props.decorator.expression))
15
+ return props.decorator;
16
16
  // CHECK SIGNATURE
17
- const signature = project.checker.getResolvedSignature(decorator.expression);
17
+ const signature = props.context.checker.getResolvedSignature(props.decorator.expression);
18
18
  if (!signature || !signature.declaration)
19
- return decorator;
19
+ return props.decorator;
20
20
  // CHECK TO BE TRANSFORMED
21
21
  const modulo = (() => {
22
22
  var _a;
@@ -25,12 +25,12 @@ var TypedRouteTransformer;
25
25
  if (LIB_PATHS.every((str) => location.indexOf(str) === -1))
26
26
  return null;
27
27
  // CHECK DUPLICATE BOOSTER
28
- if (decorator.expression.arguments.length >= 2)
28
+ if (props.decorator.expression.arguments.length >= 2)
29
29
  return false;
30
- else if (decorator.expression.arguments.length === 1) {
31
- const last = decorator.expression.arguments[decorator.expression.arguments.length - 1];
32
- const type = project.checker.getTypeAtLocation(last);
33
- if (isObject(project.checker)(type))
30
+ else if (props.decorator.expression.arguments.length === 1) {
31
+ const last = props.decorator.expression.arguments[props.decorator.expression.arguments.length - 1];
32
+ const type = props.context.checker.getTypeAtLocation(last);
33
+ if (isObject(props.context.checker)(type))
34
34
  return false;
35
35
  }
36
36
  return ((_a = location.split(path_1.default.sep).at(-1)) === null || _a === void 0 ? void 0 : _a.split(".")[0]) === "TypedQuery"
@@ -38,17 +38,21 @@ var TypedRouteTransformer;
38
38
  : "TypedRoute";
39
39
  })();
40
40
  if (modulo === null)
41
- return decorator;
41
+ return props.decorator;
42
42
  // CHECK TYPE NODE
43
- const typeNode = project.checker.typeToTypeNode(type, undefined, undefined);
43
+ const typeNode = props.context.checker.typeToTypeNode(props.type, undefined, undefined);
44
44
  if (typeNode === undefined)
45
- return decorator;
45
+ return props.decorator;
46
46
  // DO TRANSFORM
47
- return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(decorator.expression, decorator.expression.expression, decorator.expression.typeArguments, [
48
- ...decorator.expression.arguments,
47
+ return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(props.decorator.expression, props.decorator.expression.expression, props.decorator.expression.typeArguments, [
48
+ ...props.decorator.expression.arguments,
49
49
  (modulo === "TypedQuery"
50
50
  ? TypedQueryRouteProgrammer_1.TypedQueryRouteProgrammer
51
- : TypedRouteProgrammer_1.TypedRouteProgrammer).generate(project)(decorator.expression.expression)(type),
51
+ : TypedRouteProgrammer_1.TypedRouteProgrammer).generate({
52
+ context: props.context,
53
+ type: props.type,
54
+ modulo: props.decorator.expression.expression,
55
+ }),
52
56
  ]));
53
57
  };
54
58
  const isObject = (checker) => (type) => (type.getFlags() & typescript_1.default.TypeFlags.Object) !== 0 &&
@@ -1 +1 @@
1
- {"version":3,"file":"TypedRouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/TypedRouteTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypedRouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/TypedRouteTransformer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
- import { INestiaTransformProject } from "../options/INestiaTransformProject";
2
+ import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
3
  export declare namespace WebSocketRouteTransformer {
4
- const validate: (project: INestiaTransformProject) => (decorator: ts.Decorator, method: ts.MethodDeclaration) => ts.Decorator;
4
+ const validate: (props: {
5
+ context: INestiaTransformContext;
6
+ decorator: ts.Decorator;
7
+ method: ts.MethodDeclaration;
8
+ }) => ts.Decorator;
5
9
  }
@@ -8,15 +8,15 @@ const path_1 = __importDefault(require("path"));
8
8
  const typescript_1 = __importDefault(require("typescript"));
9
9
  var WebSocketRouteTransformer;
10
10
  (function (WebSocketRouteTransformer) {
11
- WebSocketRouteTransformer.validate = (project) => (decorator, method) => {
12
- if (!typescript_1.default.isCallExpression(decorator.expression))
13
- return decorator;
11
+ WebSocketRouteTransformer.validate = (props) => {
12
+ if (!typescript_1.default.isCallExpression(props.decorator.expression))
13
+ return props.decorator;
14
14
  // CHECK SIGNATURE
15
- const signature = project.checker.getResolvedSignature(decorator.expression);
15
+ const signature = props.context.checker.getResolvedSignature(props.decorator.expression);
16
16
  if (!signature || !signature.declaration)
17
- return decorator;
17
+ return props.decorator;
18
18
  else if (isLocated(signature) === false)
19
- return decorator;
19
+ return props.decorator;
20
20
  const errors = [];
21
21
  let accepted = false;
22
22
  const report = (node, message) => {
@@ -27,7 +27,7 @@ var WebSocketRouteTransformer;
27
27
  message,
28
28
  }));
29
29
  };
30
- method.parameters.forEach((param) => {
30
+ props.method.parameters.forEach((param) => {
31
31
  var _a, _b, _c, _d, _e, _f, _g;
32
32
  const paramDecos = ((_a = param.modifiers) !== null && _a !== void 0 ? _a : []).filter((m) => typescript_1.default.isDecorator(m));
33
33
  const category = (() => {
@@ -36,7 +36,7 @@ var WebSocketRouteTransformer;
36
36
  return null;
37
37
  const decorator = paramDecos[0];
38
38
  const signature = typescript_1.default.isCallExpression(decorator.expression)
39
- ? project.checker.getResolvedSignature(decorator.expression)
39
+ ? props.context.checker.getResolvedSignature(decorator.expression)
40
40
  : undefined;
41
41
  if (signature === undefined || isLocated(signature) === false)
42
42
  return null;
@@ -55,10 +55,10 @@ var WebSocketRouteTransformer;
55
55
  }
56
56
  });
57
57
  if (accepted === false)
58
- report(method, `method ${JSON.stringify(method.name.getText())} must have at least one parameter decorated by @WebSocketRoute.Acceptor().`);
58
+ report(props.method, `method ${JSON.stringify(props.method.name.getText())} must have at least one parameter decorated by @WebSocketRoute.Acceptor().`);
59
59
  for (const e of errors)
60
- project.extras.addDiagnostic(e);
61
- return decorator;
60
+ props.context.extras.addDiagnostic(e);
61
+ return props.decorator;
62
62
  };
63
63
  })(WebSocketRouteTransformer || (exports.WebSocketRouteTransformer = WebSocketRouteTransformer = {}));
64
64
  const isLocated = (signature) => {
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketRouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/WebSocketRouteTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketRouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/WebSocketRouteTransformer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/core",
3
- "version": "3.17.0",
3
+ "version": "4.0.0-dev.20241010-2",
4
4
  "description": "Super-fast validation decorators of NestJS",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -36,7 +36,7 @@
36
36
  },
37
37
  "homepage": "https://nestia.io",
38
38
  "dependencies": {
39
- "@nestia/fetcher": "^3.17.0",
39
+ "@nestia/fetcher": "^4.0.0-dev.20241010-2",
40
40
  "@nestjs/common": ">=7.0.1",
41
41
  "@nestjs/core": ">=7.0.1",
42
42
  "@samchon/openapi": "^1.1.0",
@@ -49,16 +49,16 @@
49
49
  "reflect-metadata": ">=0.1.12",
50
50
  "rxjs": ">=6.0.3",
51
51
  "tgrid": "^1.0.0",
52
- "typia": "^6.11.0",
52
+ "typia": "^7.0.0-dev.20241010-2",
53
53
  "ws": "^7.5.3"
54
54
  },
55
55
  "peerDependencies": {
56
- "@nestia/fetcher": ">=3.17.0",
56
+ "@nestia/fetcher": ">=4.0.0-dev.20241010-2",
57
57
  "@nestjs/common": ">=7.0.1",
58
58
  "@nestjs/core": ">=7.0.1",
59
59
  "reflect-metadata": ">=0.1.12",
60
60
  "rxjs": ">=6.0.3",
61
- "typia": ">=6.11.0 <7.0.0"
61
+ "typia": ">=7.0.0-dev.20241010-2 <8.0.0"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@fastify/multipart": "^8.1.0",
@@ -1,7 +1,8 @@
1
- import { IProject } from "typia/lib/transformers/IProject";
1
+ import { ITypiaContext } from "typia/lib/transformers/ITypiaContext";
2
2
 
3
3
  import { INestiaTransformOptions } from "./INestiaTransformOptions";
4
4
 
5
- export interface INestiaTransformProject extends Omit<IProject, "options"> {
5
+ export interface INestiaTransformContext
6
+ extends Omit<ITypiaContext, "options"> {
6
7
  options: INestiaTransformOptions;
7
8
  }
@@ -5,30 +5,49 @@ import { AssertProgrammer } from "typia/lib/programmers/AssertProgrammer";
5
5
  import { Metadata } from "typia/lib/schemas/metadata/Metadata";
6
6
  import { TransformerError } from "typia/lib/transformers/TransformerError";
7
7
 
8
- import { INestiaTransformProject } from "../options/INestiaTransformProject";
8
+ import { INestiaTransformContext } from "../options/INestiaTransformProject";
9
9
 
10
10
  export namespace PlainBodyProgrammer {
11
- export const generate =
12
- (project: INestiaTransformProject) =>
13
- (modulo: ts.LeftHandSideExpression) =>
14
- (type: ts.Type): ts.Expression => {
15
- const result = MetadataFactory.analyze(project.checker)({
11
+ export const generate = (props: {
12
+ context: INestiaTransformContext;
13
+ modulo: ts.LeftHandSideExpression;
14
+ type: ts.Type;
15
+ }): ts.Expression => {
16
+ const result = MetadataFactory.analyze({
17
+ checker: props.context.checker,
18
+ transformer: props.context.transformer,
19
+ options: {
16
20
  escape: false,
17
21
  constant: true,
18
22
  absorb: true,
19
23
  validate,
20
- })(new MetadataCollection())(type);
21
- if (result.success === false)
22
- throw TransformerError.from("nestia.core.TypedParam")(result.errors);
23
- return AssertProgrammer.write({
24
- ...project,
24
+ },
25
+ collection: new MetadataCollection(),
26
+ type: props.type,
27
+ });
28
+ if (result.success === false)
29
+ throw TransformerError.from({
30
+ code: "nestia.core.TypedParam",
31
+ errors: result.errors,
32
+ });
33
+ return AssertProgrammer.write({
34
+ context: {
35
+ ...props.context,
25
36
  options: {
26
37
  numeric: false,
27
38
  finite: false,
28
39
  functional: false,
29
40
  },
30
- })(modulo)(false)(type);
31
- };
41
+ },
42
+ modulo: props.modulo,
43
+ config: {
44
+ equals: false,
45
+ guard: false,
46
+ },
47
+ type: props.type,
48
+ name: undefined,
49
+ });
50
+ };
32
51
  }
33
52
 
34
53
  const validate = (metadata: Metadata): string[] => {