@nestia/core 11.2.1 → 12.0.0-dev.20260520.1

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 (171) hide show
  1. package/MIGRATION.md +169 -0
  2. package/lib/adaptors/WebSocketAdaptor.js +7 -3
  3. package/lib/adaptors/WebSocketAdaptor.js.map +1 -1
  4. package/lib/decorators/DynamicModule.js.map +1 -1
  5. package/lib/decorators/EncryptedBody.js.map +1 -1
  6. package/lib/decorators/EncryptedController.js.map +1 -1
  7. package/lib/decorators/EncryptedModule.js.map +1 -1
  8. package/lib/decorators/EncryptedRoute.js.map +1 -1
  9. package/lib/decorators/HumanRoute.js.map +1 -1
  10. package/lib/decorators/NoTransformConfigurationError.js +5 -2
  11. package/lib/decorators/NoTransformConfigurationError.js.map +1 -1
  12. package/lib/decorators/PlainBody.js.map +1 -1
  13. package/lib/decorators/SwaggerCustomizer.js.map +1 -1
  14. package/lib/decorators/SwaggerExample.js.map +1 -1
  15. package/lib/decorators/TypedBody.js.map +1 -1
  16. package/lib/decorators/TypedException.js.map +1 -1
  17. package/lib/decorators/TypedFormData.js.map +1 -1
  18. package/lib/decorators/TypedHeaders.js.map +1 -1
  19. package/lib/decorators/TypedParam.js +5 -2
  20. package/lib/decorators/TypedParam.js.map +1 -1
  21. package/lib/decorators/TypedQuery.js.map +1 -1
  22. package/lib/decorators/TypedRoute.js.map +1 -1
  23. package/lib/decorators/WebSocketRoute.js.map +1 -1
  24. package/lib/decorators/doNotThrowTransformError.js.map +1 -1
  25. package/lib/decorators/internal/get_path_and_querify.js +5 -2
  26. package/lib/decorators/internal/get_path_and_querify.js.map +1 -1
  27. package/lib/decorators/internal/get_path_and_stringify.js +5 -2
  28. package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
  29. package/lib/decorators/internal/get_text_body.js.map +1 -1
  30. package/lib/decorators/internal/headers_to_object.js.map +1 -1
  31. package/lib/decorators/internal/is_request_body_undefined.js.map +1 -1
  32. package/lib/decorators/internal/load_controller.js +48 -16
  33. package/lib/decorators/internal/load_controller.js.map +1 -1
  34. package/lib/decorators/internal/route_error.js +3 -3
  35. package/lib/decorators/internal/route_error.js.map +1 -1
  36. package/lib/decorators/internal/validate_request_body.js +5 -2
  37. package/lib/decorators/internal/validate_request_body.js.map +1 -1
  38. package/lib/decorators/internal/validate_request_form_data.js +5 -2
  39. package/lib/decorators/internal/validate_request_form_data.js.map +1 -1
  40. package/lib/decorators/internal/validate_request_headers.js +5 -2
  41. package/lib/decorators/internal/validate_request_headers.js.map +1 -1
  42. package/lib/decorators/internal/validate_request_query.js +30 -4
  43. package/lib/decorators/internal/validate_request_query.js.map +1 -1
  44. package/lib/index.js.map +1 -1
  45. package/lib/transform.d.ts +2 -5
  46. package/lib/transform.js +48 -28
  47. package/lib/transform.js.map +1 -1
  48. package/lib/utils/ArrayUtil.js.map +1 -1
  49. package/lib/utils/ExceptionManager.js.map +1 -1
  50. package/lib/utils/Singleton.js.map +1 -1
  51. package/lib/utils/SourceFinder.js.map +1 -1
  52. package/lib/utils/VersioningStrategy.js.map +1 -1
  53. package/native/cmd/ttsc-nestia/build.go +434 -0
  54. package/native/cmd/ttsc-nestia/cleanup.go +408 -0
  55. package/native/cmd/ttsc-nestia/core_querify.go +227 -0
  56. package/native/cmd/ttsc-nestia/core_transform.go +1713 -0
  57. package/native/cmd/ttsc-nestia/core_websocket.go +115 -0
  58. package/native/cmd/ttsc-nestia/main.go +72 -0
  59. package/native/cmd/ttsc-nestia/path_rewrite.go +285 -0
  60. package/native/cmd/ttsc-nestia/printer.go +244 -0
  61. package/native/cmd/ttsc-nestia/rewrite.go +662 -0
  62. package/native/cmd/ttsc-nestia/sdk_metadata_json.go +327 -0
  63. package/native/cmd/ttsc-nestia/sdk_transform.go +1541 -0
  64. package/native/cmd/ttsc-nestia/transform.go +387 -0
  65. package/native/cmd/ttsc-nestia/typia_fast.go +326 -0
  66. package/native/cmd/ttsc-nestia/typia_replacement.go +24 -0
  67. package/native/go.mod +32 -0
  68. package/native/go.sum +54 -0
  69. package/native/plugin/plan.go +102 -0
  70. package/native/transform.cjs +21 -0
  71. package/package.json +27 -22
  72. package/src/decorators/NoTransformConfigurationError.ts +5 -2
  73. package/src/decorators/internal/load_controller.ts +50 -19
  74. package/src/decorators/internal/validate_request_query.ts +21 -2
  75. package/src/transform.ts +82 -35
  76. package/lib/decorators/internal/NoTransformConfigureError.d.ts +0 -1
  77. package/lib/decorators/internal/NoTransformConfigureError.js +0 -7
  78. package/lib/decorators/internal/NoTransformConfigureError.js.map +0 -1
  79. package/lib/options/INestiaTransformOptions.d.ts +0 -13
  80. package/lib/options/INestiaTransformOptions.js +0 -3
  81. package/lib/options/INestiaTransformOptions.js.map +0 -1
  82. package/lib/options/INestiaTransformProject.d.ts +0 -5
  83. package/lib/options/INestiaTransformProject.js +0 -3
  84. package/lib/options/INestiaTransformProject.js.map +0 -1
  85. package/lib/programmers/PlainBodyProgrammer.d.ts +0 -9
  86. package/lib/programmers/PlainBodyProgrammer.js +0 -58
  87. package/lib/programmers/PlainBodyProgrammer.js.map +0 -1
  88. package/lib/programmers/TypedBodyProgrammer.d.ts +0 -9
  89. package/lib/programmers/TypedBodyProgrammer.js +0 -94
  90. package/lib/programmers/TypedBodyProgrammer.js.map +0 -1
  91. package/lib/programmers/TypedFormDataBodyProgrammer.d.ts +0 -9
  92. package/lib/programmers/TypedFormDataBodyProgrammer.js +0 -65
  93. package/lib/programmers/TypedFormDataBodyProgrammer.js.map +0 -1
  94. package/lib/programmers/TypedHeadersProgrammer.d.ts +0 -9
  95. package/lib/programmers/TypedHeadersProgrammer.js +0 -38
  96. package/lib/programmers/TypedHeadersProgrammer.js.map +0 -1
  97. package/lib/programmers/TypedParamProgrammer.d.ts +0 -10
  98. package/lib/programmers/TypedParamProgrammer.js +0 -32
  99. package/lib/programmers/TypedParamProgrammer.js.map +0 -1
  100. package/lib/programmers/TypedQueryBodyProgrammer.d.ts +0 -9
  101. package/lib/programmers/TypedQueryBodyProgrammer.js +0 -74
  102. package/lib/programmers/TypedQueryBodyProgrammer.js.map +0 -1
  103. package/lib/programmers/TypedQueryProgrammer.d.ts +0 -9
  104. package/lib/programmers/TypedQueryProgrammer.js +0 -75
  105. package/lib/programmers/TypedQueryProgrammer.js.map +0 -1
  106. package/lib/programmers/TypedQueryRouteProgrammer.d.ts +0 -9
  107. package/lib/programmers/TypedQueryRouteProgrammer.js +0 -75
  108. package/lib/programmers/TypedQueryRouteProgrammer.js.map +0 -1
  109. package/lib/programmers/TypedRouteProgrammer.d.ts +0 -9
  110. package/lib/programmers/TypedRouteProgrammer.js +0 -79
  111. package/lib/programmers/TypedRouteProgrammer.js.map +0 -1
  112. package/lib/programmers/http/HttpAssertQuerifyProgrammer.d.ts +0 -9
  113. package/lib/programmers/http/HttpAssertQuerifyProgrammer.js +0 -39
  114. package/lib/programmers/http/HttpAssertQuerifyProgrammer.js.map +0 -1
  115. package/lib/programmers/http/HttpIsQuerifyProgrammer.d.ts +0 -9
  116. package/lib/programmers/http/HttpIsQuerifyProgrammer.js +0 -36
  117. package/lib/programmers/http/HttpIsQuerifyProgrammer.js.map +0 -1
  118. package/lib/programmers/http/HttpQuerifyProgrammer.d.ts +0 -9
  119. package/lib/programmers/http/HttpQuerifyProgrammer.js +0 -50
  120. package/lib/programmers/http/HttpQuerifyProgrammer.js.map +0 -1
  121. package/lib/programmers/http/HttpValidateQuerifyProgrammer.d.ts +0 -9
  122. package/lib/programmers/http/HttpValidateQuerifyProgrammer.js +0 -40
  123. package/lib/programmers/http/HttpValidateQuerifyProgrammer.js.map +0 -1
  124. package/lib/programmers/internal/CoreMetadataUtil.d.ts +0 -5
  125. package/lib/programmers/internal/CoreMetadataUtil.js +0 -19
  126. package/lib/programmers/internal/CoreMetadataUtil.js.map +0 -1
  127. package/lib/transformers/FileTransformer.d.ts +0 -5
  128. package/lib/transformers/FileTransformer.js +0 -80
  129. package/lib/transformers/FileTransformer.js.map +0 -1
  130. package/lib/transformers/MethodTransformer.d.ts +0 -8
  131. package/lib/transformers/MethodTransformer.js +0 -58
  132. package/lib/transformers/MethodTransformer.js.map +0 -1
  133. package/lib/transformers/NodeTransformer.d.ts +0 -8
  134. package/lib/transformers/NodeTransformer.js +0 -24
  135. package/lib/transformers/NodeTransformer.js.map +0 -1
  136. package/lib/transformers/ParameterDecoratorTransformer.d.ts +0 -9
  137. package/lib/transformers/ParameterDecoratorTransformer.js +0 -104
  138. package/lib/transformers/ParameterDecoratorTransformer.js.map +0 -1
  139. package/lib/transformers/ParameterTransformer.d.ts +0 -8
  140. package/lib/transformers/ParameterTransformer.js +0 -37
  141. package/lib/transformers/ParameterTransformer.js.map +0 -1
  142. package/lib/transformers/TypedRouteTransformer.d.ts +0 -9
  143. package/lib/transformers/TypedRouteTransformer.js +0 -68
  144. package/lib/transformers/TypedRouteTransformer.js.map +0 -1
  145. package/lib/transformers/WebSocketRouteTransformer.d.ts +0 -9
  146. package/lib/transformers/WebSocketRouteTransformer.js +0 -72
  147. package/lib/transformers/WebSocketRouteTransformer.js.map +0 -1
  148. package/src/decorators/internal/NoTransformConfigureError.ts +0 -2
  149. package/src/options/INestiaTransformOptions.ts +0 -34
  150. package/src/options/INestiaTransformProject.ts +0 -10
  151. package/src/programmers/PlainBodyProgrammer.ts +0 -72
  152. package/src/programmers/TypedBodyProgrammer.ts +0 -148
  153. package/src/programmers/TypedFormDataBodyProgrammer.ts +0 -118
  154. package/src/programmers/TypedHeadersProgrammer.ts +0 -65
  155. package/src/programmers/TypedParamProgrammer.ts +0 -33
  156. package/src/programmers/TypedQueryBodyProgrammer.ts +0 -113
  157. package/src/programmers/TypedQueryProgrammer.ts +0 -115
  158. package/src/programmers/TypedQueryRouteProgrammer.ts +0 -107
  159. package/src/programmers/TypedRouteProgrammer.ts +0 -103
  160. package/src/programmers/http/HttpAssertQuerifyProgrammer.ts +0 -74
  161. package/src/programmers/http/HttpIsQuerifyProgrammer.ts +0 -77
  162. package/src/programmers/http/HttpQuerifyProgrammer.ts +0 -110
  163. package/src/programmers/http/HttpValidateQuerifyProgrammer.ts +0 -78
  164. package/src/programmers/internal/CoreMetadataUtil.ts +0 -21
  165. package/src/transformers/FileTransformer.ts +0 -109
  166. package/src/transformers/MethodTransformer.ts +0 -103
  167. package/src/transformers/NodeTransformer.ts +0 -23
  168. package/src/transformers/ParameterDecoratorTransformer.ts +0 -143
  169. package/src/transformers/ParameterTransformer.ts +0 -57
  170. package/src/transformers/TypedRouteTransformer.ts +0 -85
  171. package/src/transformers/WebSocketRouteTransformer.ts +0 -120
@@ -1,5 +0,0 @@
1
- import { ITypiaContext } from "@typia/core";
2
- import { INestiaTransformOptions } from "./INestiaTransformOptions";
3
- export interface INestiaTransformContext extends Omit<ITypiaContext, "options"> {
4
- options: INestiaTransformOptions;
5
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=INestiaTransformProject.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"INestiaTransformProject.js","sourceRoot":"","sources":["../../src/options/INestiaTransformProject.ts"],"names":[],"mappings":""}
@@ -1,9 +0,0 @@
1
- import ts from "typescript";
2
- import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
- export declare namespace PlainBodyProgrammer {
4
- const generate: (props: {
5
- context: INestiaTransformContext;
6
- modulo: ts.LeftHandSideExpression;
7
- type: ts.Type;
8
- }) => ts.Expression;
9
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PlainBodyProgrammer = void 0;
4
- const core_1 = require("@typia/core");
5
- var PlainBodyProgrammer;
6
- (function (PlainBodyProgrammer) {
7
- PlainBodyProgrammer.generate = (props) => {
8
- const result = core_1.MetadataFactory.analyze({
9
- checker: props.context.checker,
10
- transformer: props.context.transformer,
11
- options: {
12
- escape: false,
13
- constant: true,
14
- absorb: true,
15
- validate: ({ metadata }) => validate(metadata),
16
- },
17
- components: new core_1.MetadataCollection(),
18
- type: props.type,
19
- });
20
- if (result.success === false)
21
- throw core_1.TransformerError.from({
22
- code: "nestia.core.TypedParam",
23
- errors: result.errors,
24
- });
25
- return core_1.AssertProgrammer.write({
26
- context: Object.assign(Object.assign({}, props.context), { options: {
27
- numeric: false,
28
- finite: false,
29
- functional: false,
30
- } }),
31
- modulo: props.modulo,
32
- config: {
33
- equals: false,
34
- guard: false,
35
- },
36
- type: props.type,
37
- name: undefined,
38
- });
39
- };
40
- })(PlainBodyProgrammer || (exports.PlainBodyProgrammer = PlainBodyProgrammer = {}));
41
- const validate = (metadata) => {
42
- const errors = [];
43
- const insert = (msg) => errors.push(msg);
44
- const expected = (metadata.atomics.some((a) => a.type === "string") ? 1 : 0) +
45
- metadata.templates.length +
46
- metadata.constants
47
- .filter((c) => c.type === "string")
48
- .map((c) => c.values.length)
49
- .reduce((a, b) => a + b, 0);
50
- if (expected === 0 || expected !== metadata.size())
51
- insert(`only string type is allowed`);
52
- if (metadata.nullable === true)
53
- insert(`do not allow nullable type`);
54
- else if (metadata.any === true)
55
- insert(`do not allow any type`);
56
- return errors;
57
- };
58
- //# sourceMappingURL=PlainBodyProgrammer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlainBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PlainBodyProgrammer.ts"],"names":[],"mappings":";;;AAAA,sCAMqB;AAKrB,IAAiB,mBAAmB,CAyCnC;AAzCD,WAAiB,mBAAmB;IACrB,4BAAQ,GAAG,CAAC,KAIxB,EAAiB,EAAE;QAClB,MAAM,MAAM,GAAG,sBAAe,CAAC,OAAO,CAAC;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;YACtC,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAC/C;YACD,UAAU,EAAE,IAAI,yBAAkB,EAAE;YACpC,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAC1B,MAAM,uBAAgB,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,wBAAwB;gBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,OAAO,uBAAgB,CAAC,KAAK,CAAC;YAC5B,OAAO,kCACF,KAAK,CAAC,OAAO,KAChB,OAAO,EAAE;oBACP,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,KAAK;oBACb,UAAU,EAAE,KAAK;iBAClB,GACF;YACD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE;gBACN,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,KAAK;aACb;YACD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,EAzCgB,mBAAmB,mCAAnB,mBAAmB,QAyCnC;AAED,MAAM,QAAQ,GAAG,CAAC,QAAwB,EAAY,EAAE;IACtD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjD,MAAM,QAAQ,GACZ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,SAAS,CAAC,MAAM;QACzB,QAAQ,CAAC,SAAS;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;QAChD,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI;QAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC;SAChE,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI;QAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import ts from "typescript";
2
- import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
- export declare namespace TypedBodyProgrammer {
4
- const generate: (props: {
5
- context: INestiaTransformContext;
6
- modulo: ts.LeftHandSideExpression;
7
- type: ts.Type;
8
- }) => ts.ObjectLiteralExpression;
9
- }
@@ -1,94 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TypedBodyProgrammer = void 0;
7
- const core_1 = require("@typia/core");
8
- const typescript_1 = __importDefault(require("typescript"));
9
- var TypedBodyProgrammer;
10
- (function (TypedBodyProgrammer) {
11
- TypedBodyProgrammer.generate = (props) => {
12
- // VALIDATE TYPE
13
- core_1.JsonMetadataFactory.analyze({
14
- method: "@nestia.core.TypedBody",
15
- checker: props.context.checker,
16
- transformer: props.context.transformer,
17
- type: props.type,
18
- validate: props.context.options.llm
19
- ? (next) => {
20
- var _a, _b;
21
- return core_1.LlmSchemaProgrammer.validate({
22
- config: {
23
- strict: typeof props.context.options.llm === "boolean"
24
- ? false
25
- : ((_b = (_a = props.context.options.llm) === null || _a === void 0 ? void 0 : _a.strict) !== null && _b !== void 0 ? _b : false),
26
- },
27
- metadata: next.metadata,
28
- explore: next.explore,
29
- });
30
- }
31
- : undefined,
32
- });
33
- // GENERATE VALIDATION PLAN
34
- const check = (key) => (equals) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
35
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
36
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer({
37
- context: Object.assign(Object.assign({}, props.context), { options: {
38
- numeric: false,
39
- finite: false,
40
- functional: false,
41
- } }),
42
- modulo: props.modulo,
43
- config: {
44
- equals,
45
- guard: false,
46
- },
47
- type: props.type,
48
- name: undefined,
49
- })),
50
- ]);
51
- const misc = (key) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
52
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
53
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer({
54
- context: Object.assign(Object.assign({}, props.context), { options: {
55
- numeric: false,
56
- finite: false,
57
- functional: false,
58
- } }),
59
- modulo: props.modulo,
60
- type: props.type,
61
- name: undefined,
62
- })),
63
- ]);
64
- //----
65
- // RETURNS
66
- //----
67
- const category = props.context.options.validate;
68
- // NORMAL
69
- if (category === "assert")
70
- return check("assert")(false)(core_1.AssertProgrammer.write);
71
- else if (category === "is")
72
- return check("is")(false)(core_1.IsProgrammer.write);
73
- // STRICT
74
- else if (category === "validateEquals")
75
- return check("validate")(true)(core_1.ValidateProgrammer.write);
76
- else if (category === "equals")
77
- return check("is")(true)(core_1.IsProgrammer.write);
78
- else if (category === "assertEquals")
79
- return check("assert")(true)(core_1.AssertProgrammer.write);
80
- // CLONE
81
- else if (category === "assertClone")
82
- return misc("assert")(core_1.MiscAssertCloneProgrammer.write);
83
- else if (category === "validateClone")
84
- return misc("validate")(core_1.MiscValidateCloneProgrammer.write);
85
- // PRUNE
86
- else if (category === "assertPrune")
87
- return misc("assert")(core_1.MiscAssertPruneProgrammer.write);
88
- else if (category === "validatePrune")
89
- return misc("validate")(core_1.MiscValidatePruneProgrammer.write);
90
- // DEFAULT
91
- return check("validate")(false)(core_1.ValidateProgrammer.write);
92
- };
93
- })(TypedBodyProgrammer || (exports.TypedBodyProgrammer = TypedBodyProgrammer = {}));
94
- //# sourceMappingURL=TypedBodyProgrammer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedBodyProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import ts from "typescript";
2
- import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
- export declare namespace TypedFormDataBodyProgrammer {
4
- const generate: (props: {
5
- context: INestiaTransformContext;
6
- modulo: ts.LeftHandSideExpression;
7
- type: ts.Type;
8
- }) => ts.ObjectLiteralExpression;
9
- }
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TypedFormDataBodyProgrammer = void 0;
7
- const core_1 = require("@typia/core");
8
- const typescript_1 = __importDefault(require("typescript"));
9
- var TypedFormDataBodyProgrammer;
10
- (function (TypedFormDataBodyProgrammer) {
11
- TypedFormDataBodyProgrammer.generate = (props) => {
12
- // VALIDATE TYPE
13
- const storage = new core_1.MetadataCollection();
14
- const result = core_1.MetadataFactory.analyze({
15
- checker: props.context.checker,
16
- transformer: props.context.transformer,
17
- options: {
18
- escape: false,
19
- constant: true,
20
- absorb: true,
21
- validate: core_1.HttpFormDataProgrammer.validate,
22
- },
23
- type: props.type,
24
- components: storage,
25
- });
26
- if (result.success === false)
27
- throw core_1.TransformerError.from({
28
- code: "nestia.core.TypedFormData.Body",
29
- errors: result.errors,
30
- });
31
- const files = result.data.objects[0].type.properties.filter((p) => isFile(p.value) || p.value.arrays.some((a) => isFile(a.type.value))).map((p) => ({
32
- name: p.key.constants[0].values[0].value,
33
- limit: !!p.value.natives.length ? 1 : null,
34
- }));
35
- // GENERATE VALIDATION PLAN
36
- const parameter = (key) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
37
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("files"), core_1.LiteralFactory.write(files)),
38
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("validator"), typescript_1.default.factory.createObjectLiteralExpression([
39
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
40
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer({
41
- context: Object.assign(Object.assign({}, props.context), { options: {
42
- numeric: false,
43
- finite: false,
44
- functional: false,
45
- } }),
46
- modulo: props.modulo,
47
- type: props.type,
48
- name: undefined,
49
- })),
50
- ], true)),
51
- ], true);
52
- // RETURNS
53
- const category = props.context.options.validate;
54
- if (category === "is" || category === "equals")
55
- return parameter("is")(core_1.HttpIsFormDataProgrammer.write);
56
- else if (category === "validate" ||
57
- category === "validateEquals" ||
58
- category === "validateClone" ||
59
- category === "validatePrune")
60
- return parameter("validate")(core_1.HttpValidateFormDataProgrammer.write);
61
- return parameter("assert")(core_1.HttpAssertFormDataProgrammer.write);
62
- };
63
- })(TypedFormDataBodyProgrammer || (exports.TypedFormDataBodyProgrammer = TypedFormDataBodyProgrammer = {}));
64
- const isFile = (meta) => meta.natives.some(({ name }) => name === "File" || name === "Blob");
65
- //# sourceMappingURL=TypedFormDataBodyProgrammer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedFormDataBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedFormDataBodyProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import ts from "typescript";
2
- import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
- export declare namespace TypedHeadersProgrammer {
4
- const generate: (props: {
5
- context: INestiaTransformContext;
6
- modulo: ts.LeftHandSideExpression;
7
- type: ts.Type;
8
- }) => ts.Expression;
9
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TypedHeadersProgrammer = void 0;
7
- const core_1 = require("@typia/core");
8
- const typescript_1 = __importDefault(require("typescript"));
9
- var TypedHeadersProgrammer;
10
- (function (TypedHeadersProgrammer) {
11
- TypedHeadersProgrammer.generate = (props) => {
12
- // GENERATE VALIDATION PLAN
13
- const parameter = (key) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
14
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
15
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer({
16
- context: Object.assign(Object.assign({}, props.context), { options: {
17
- numeric: false,
18
- finite: false,
19
- functional: false,
20
- } }),
21
- modulo: props.modulo,
22
- type: props.type,
23
- name: undefined,
24
- })),
25
- ]);
26
- // RETURNS
27
- const category = props.context.options.validate;
28
- if (category === "is" || category === "equals")
29
- return parameter("is")(core_1.HttpIsHeadersProgrammer.write);
30
- else if (category === "validate" ||
31
- category === "validateEquals" ||
32
- category === "validateClone" ||
33
- category === "validatePrune")
34
- return parameter("validate")(core_1.HttpValidateHeadersProgrammer.write);
35
- return parameter("assert")(core_1.HttpAssertHeadersProgrammer.write);
36
- };
37
- })(TypedHeadersProgrammer || (exports.TypedHeadersProgrammer = TypedHeadersProgrammer = {}));
38
- //# sourceMappingURL=TypedHeadersProgrammer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedHeadersProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedHeadersProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAKqB;AACrB,4DAA4B;AAK5B,IAAiB,sBAAsB,CAqDtC;AArDD,WAAiB,sBAAsB;IACxB,+BAAQ,GAAG,CAAC,KAIxB,EAAiB,EAAE;QAClB,2BAA2B;QAC3B,MAAM,SAAS,GACb,CAAC,GAA0C,EAAE,EAAE,CAC/C,CACE,UAKmB,EACnB,EAAE,CACF,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;YACvC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CACpC;YACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAChC,UAAU,CAAC;gBACT,OAAO,kCACF,KAAK,CAAC,OAAO,KAChB,OAAO,EAAE;wBACP,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,KAAK;qBAClB,GACF;gBACD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,SAAS;aAChB,CAAC,CACH;SACF,CAAC,CAAC;QAEP,UAAU;QACV,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAChD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,QAAQ;YAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,8BAAuB,CAAC,KAAK,CAAC,CAAC;aACnD,IACH,QAAQ,KAAK,UAAU;YACvB,QAAQ,KAAK,gBAAgB;YAC7B,QAAQ,KAAK,eAAe;YAC5B,QAAQ,KAAK,eAAe;YAE5B,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,oCAA6B,CAAC,KAAK,CAAC,CAAC;QACpE,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,kCAA2B,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC;AACJ,CAAC,EArDgB,sBAAsB,sCAAtB,sBAAsB,QAqDtC"}
@@ -1,10 +0,0 @@
1
- import ts from "typescript";
2
- import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
- export declare namespace TypedParamProgrammer {
4
- const generate: (props: {
5
- context: INestiaTransformContext;
6
- modulo: ts.LeftHandSideExpression;
7
- arguments: readonly ts.Expression[];
8
- type: ts.Type;
9
- }) => readonly ts.Expression[];
10
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TypedParamProgrammer = void 0;
7
- const core_1 = require("@typia/core");
8
- const typescript_1 = __importDefault(require("typescript"));
9
- var TypedParamProgrammer;
10
- (function (TypedParamProgrammer) {
11
- TypedParamProgrammer.generate = (props) => {
12
- var _a, _b;
13
- // ALREADY BEING TRANSFORMED
14
- if (props.arguments.length !== 1)
15
- return props.arguments;
16
- return [
17
- props.arguments[0],
18
- core_1.HttpParameterProgrammer.write({
19
- context: Object.assign(Object.assign({}, props.context), { options: {
20
- numeric: true,
21
- } }),
22
- modulo: props.modulo,
23
- type: props.type,
24
- name: undefined,
25
- }),
26
- ...(((_b = (_a = props.context.options) === null || _a === void 0 ? void 0 : _a.validate) === null || _b === void 0 ? void 0 : _b.startsWith("validate"))
27
- ? [typescript_1.default.factory.createTrue()]
28
- : []),
29
- ];
30
- };
31
- })(TypedParamProgrammer || (exports.TypedParamProgrammer = TypedParamProgrammer = {}));
32
- //# sourceMappingURL=TypedParamProgrammer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedParamProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedParamProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAAsD;AACtD,4DAA4B;AAI5B,IAAiB,oBAAoB,CA2BpC;AA3BD,WAAiB,oBAAoB;IACtB,6BAAQ,GAAG,CAAC,KAKxB,EAA4B,EAAE;;QAC7B,4BAA4B;QAC5B,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,SAAS,CAAC;QACzD,OAAO;YACL,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE;YACnB,8BAAuB,CAAC,KAAK,CAAC;gBAC5B,OAAO,kCACF,KAAK,CAAC,OAAO,KAChB,OAAO,EAAE;wBACP,OAAO,EAAE,IAAI;qBACd,GACF;gBACD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,SAAS;aAChB,CAAC;YACF,GAAG,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,0CAAE,QAAQ,0CAAE,UAAU,CAAC,UAAU,CAAC;gBACzD,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC3B,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EA3BgB,oBAAoB,oCAApB,oBAAoB,QA2BpC"}
@@ -1,9 +0,0 @@
1
- import ts from "typescript";
2
- import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
- export declare namespace TypedQueryBodyProgrammer {
4
- const generate: (props: {
5
- context: INestiaTransformContext;
6
- modulo: ts.LeftHandSideExpression;
7
- type: ts.Type;
8
- }) => ts.ObjectLiteralExpression;
9
- }
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TypedQueryBodyProgrammer = void 0;
7
- const core_1 = require("@typia/core");
8
- const typescript_1 = __importDefault(require("typescript"));
9
- var TypedQueryBodyProgrammer;
10
- (function (TypedQueryBodyProgrammer) {
11
- TypedQueryBodyProgrammer.generate = (props) => {
12
- // VALIDATE TYPE
13
- if (props.context.options.llm) {
14
- const llm = props.context.options.llm;
15
- const result = core_1.MetadataFactory.analyze({
16
- checker: props.context.checker,
17
- transformer: props.context.transformer,
18
- options: {
19
- escape: false,
20
- constant: true,
21
- absorb: true,
22
- validate: (next) => {
23
- var _a;
24
- const errors = core_1.HttpQueryProgrammer.validate({
25
- metadata: next.metadata,
26
- explore: next.explore,
27
- allowOptional: true,
28
- });
29
- errors.push(...core_1.LlmSchemaProgrammer.validate({
30
- config: {
31
- strict: llm === true ? false : ((_a = llm.strict) !== null && _a !== void 0 ? _a : false),
32
- },
33
- metadata: next.metadata,
34
- explore: next.explore,
35
- }));
36
- return errors;
37
- },
38
- },
39
- components: new core_1.MetadataCollection(),
40
- type: props.type,
41
- });
42
- if (result.success === false)
43
- throw core_1.TransformerError.from({
44
- code: props.modulo.getText(),
45
- errors: result.errors,
46
- });
47
- }
48
- // GENERATE VALIDATION PLAN
49
- const parameter = (key) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
50
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
51
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer({
52
- context: Object.assign(Object.assign({}, props.context), { options: {
53
- numeric: false,
54
- finite: false,
55
- functional: false,
56
- } }),
57
- modulo: props.modulo,
58
- type: props.type,
59
- name: undefined,
60
- })),
61
- ]);
62
- // RETURNS
63
- const category = props.context.options.validate;
64
- if (category === "is" || category === "equals")
65
- return parameter("is")(core_1.HttpIsQueryProgrammer.write);
66
- else if (category === "validate" ||
67
- category === "validateEquals" ||
68
- category === "validateClone" ||
69
- category === "validatePrune")
70
- return parameter("validate")(core_1.HttpValidateQueryProgrammer.write);
71
- return parameter("assert")(core_1.HttpAssertQueryProgrammer.write);
72
- };
73
- })(TypedQueryBodyProgrammer || (exports.TypedQueryBodyProgrammer = TypedQueryBodyProgrammer = {}));
74
- //# sourceMappingURL=TypedQueryBodyProgrammer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedQueryBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryBodyProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAWqB;AAErB,4DAA4B;AAM5B,IAAiB,wBAAwB,CA6FxC;AA7FD,WAAiB,wBAAwB;IAC1B,iCAAQ,GAAG,CAAC,KAIxB,EAA8B,EAAE;QAC/B,gBAAgB;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9B,MAAM,GAAG,GACP,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;YAC5B,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,OAAO,EAAE;oBACP,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;;wBACjB,MAAM,MAAM,GAAa,0BAAmB,CAAC,QAAQ,CAAC;4BACpD,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,aAAa,EAAE,IAAI;yBACpB,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CACT,GAAG,0BAAmB,CAAC,QAAQ,CAAC;4BAC9B,MAAM,EAAE;gCACN,MAAM,EAAE,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAA,GAAG,CAAC,MAAM,mCAAI,KAAK,CAAC;6BACrD;4BACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,OAAO,EAAE,IAAI,CAAC,OAAO;yBACtB,CAAC,CACH,CAAC;wBACF,OAAO,MAAM,CAAC;oBAChB,CAAC;iBACF;gBACD,UAAU,EAAE,IAAI,yBAAkB,EAAE;gBACpC,IAAI,EAAE,KAAK,CAAC,IAAI;aACjB,CAAC,CAAC;YACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,uBAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;oBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;QACP,CAAC;QAED,2BAA2B;QAC3B,MAAM,SAAS,GACb,CAAC,GAAwC,EAAE,EAAE,CAC7C,CACE,UAKmB,EACnB,EAAE,CACF,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;YACvC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CACpC;YACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAChC,UAAU,CAAC;gBACT,OAAO,kCACF,KAAK,CAAC,OAAO,KAChB,OAAO,EAAE;wBACP,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,KAAK;qBAClB,GACF;gBACD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,SAAS;aAChB,CAAC,CACH;SACF,CAAC,CAAC;QAEP,UAAU;QACV,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;QAChD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,QAAQ;YAC5C,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,4BAAqB,CAAC,KAAK,CAAC,CAAC;aACjD,IACH,QAAQ,KAAK,UAAU;YACvB,QAAQ,KAAK,gBAAgB;YAC7B,QAAQ,KAAK,eAAe;YAC5B,QAAQ,KAAK,eAAe;YAE5B,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,kCAA2B,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,gCAAyB,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC;AACJ,CAAC,EA7FgB,wBAAwB,wCAAxB,wBAAwB,QA6FxC"}
@@ -1,9 +0,0 @@
1
- import ts from "typescript";
2
- import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
- export declare namespace TypedQueryProgrammer {
4
- const generate: (props: {
5
- context: INestiaTransformContext;
6
- modulo: ts.LeftHandSideExpression;
7
- type: ts.Type;
8
- }) => ts.Expression;
9
- }
@@ -1,75 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.TypedQueryProgrammer = void 0;
7
- const core_1 = require("@typia/core");
8
- const typescript_1 = __importDefault(require("typescript"));
9
- var TypedQueryProgrammer;
10
- (function (TypedQueryProgrammer) {
11
- TypedQueryProgrammer.generate = (props) => {
12
- // VALIDATE TYPE
13
- if (props.context.options.llm) {
14
- const llm = props.context.options.llm;
15
- const result = core_1.MetadataFactory.analyze({
16
- checker: props.context.checker,
17
- transformer: props.context.transformer,
18
- options: {
19
- escape: false,
20
- constant: true,
21
- absorb: true,
22
- validate: (next) => {
23
- var _a;
24
- const errors = core_1.HttpQueryProgrammer.validate({
25
- metadata: next.metadata,
26
- explore: next.explore,
27
- allowOptional: true,
28
- });
29
- errors.push(...core_1.LlmSchemaProgrammer.validate({
30
- config: {
31
- strict: llm === true ? false : ((_a = llm.strict) !== null && _a !== void 0 ? _a : false),
32
- },
33
- metadata: next.metadata,
34
- explore: next.explore,
35
- }));
36
- return errors;
37
- },
38
- },
39
- components: new core_1.MetadataCollection(),
40
- type: props.type,
41
- });
42
- if (result.success === false)
43
- throw core_1.TransformerError.from({
44
- code: "@nestia.core.TypedQuery",
45
- errors: result.errors,
46
- });
47
- }
48
- // GENERATE VALIDATION PLAN
49
- const parameter = (key) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
50
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
51
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer({
52
- context: Object.assign(Object.assign({}, props.context), { options: {
53
- numeric: false,
54
- finite: false,
55
- functional: false,
56
- } }),
57
- modulo: props.modulo,
58
- type: props.type,
59
- name: undefined,
60
- allowOptional: true,
61
- })),
62
- ]);
63
- // RETURNS
64
- const category = props.context.options.validate;
65
- if (category === "is" || category === "equals")
66
- return parameter("is")(core_1.HttpIsQueryProgrammer.write);
67
- else if (category === "validate" ||
68
- category === "validateEquals" ||
69
- category === "validateClone" ||
70
- category === "validatePrune")
71
- return parameter("validate")(core_1.HttpValidateQueryProgrammer.write);
72
- return parameter("assert")(core_1.HttpAssertQueryProgrammer.write);
73
- };
74
- })(TypedQueryProgrammer || (exports.TypedQueryProgrammer = TypedQueryProgrammer = {}));
75
- //# sourceMappingURL=TypedQueryProgrammer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import ts from "typescript";
2
- import { INestiaTransformContext } from "../options/INestiaTransformProject";
3
- export declare namespace TypedQueryRouteProgrammer {
4
- const generate: (props: {
5
- context: INestiaTransformContext;
6
- modulo: ts.LeftHandSideExpression;
7
- type: ts.Type;
8
- }) => ts.Expression;
9
- }