@nestia/core 1.3.6 → 1.3.8

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 (97) hide show
  1. package/lib/decorators/DynamicModule.d.ts +26 -26
  2. package/lib/decorators/DynamicModule.js +103 -103
  3. package/lib/decorators/DynamicModule.js.map +1 -1
  4. package/lib/decorators/EncryptedBody.d.ts +23 -23
  5. package/lib/decorators/EncryptedBody.js +128 -128
  6. package/lib/decorators/EncryptedController.d.ts +26 -26
  7. package/lib/decorators/EncryptedController.js +36 -36
  8. package/lib/decorators/EncryptedModule.d.ts +52 -52
  9. package/lib/decorators/EncryptedModule.js +161 -161
  10. package/lib/decorators/EncryptedModule.js.map +1 -1
  11. package/lib/decorators/EncryptedRoute.d.ts +78 -78
  12. package/lib/decorators/EncryptedRoute.js +209 -209
  13. package/lib/decorators/EncryptedRoute.js.map +1 -1
  14. package/lib/decorators/PlainBody.d.ts +22 -22
  15. package/lib/decorators/PlainBody.js +82 -82
  16. package/lib/decorators/TypedBody.d.ts +16 -16
  17. package/lib/decorators/TypedBody.js +45 -45
  18. package/lib/decorators/TypedParam.d.ts +31 -31
  19. package/lib/decorators/TypedParam.js +76 -76
  20. package/lib/decorators/TypedQuery.d.ts +14 -14
  21. package/lib/decorators/TypedQuery.js +109 -109
  22. package/lib/decorators/TypedQuery.js.map +1 -1
  23. package/lib/decorators/TypedRoute.d.ts +72 -72
  24. package/lib/decorators/TypedRoute.js +185 -185
  25. package/lib/decorators/TypedRoute.js.map +1 -1
  26. package/lib/decorators/internal/EncryptedConstant.d.ts +1 -1
  27. package/lib/decorators/internal/EncryptedConstant.js +7 -7
  28. package/lib/decorators/internal/TransformError.d.ts +1 -1
  29. package/lib/decorators/internal/TransformError.js +10 -10
  30. package/lib/decorators/internal/get_path_and_stringify.d.ts +1 -1
  31. package/lib/decorators/internal/get_path_and_stringify.js +83 -83
  32. package/lib/decorators/internal/get_text_body.d.ts +3 -3
  33. package/lib/decorators/internal/get_text_body.js +62 -62
  34. package/lib/decorators/internal/headers_to_object.d.ts +3 -3
  35. package/lib/decorators/internal/headers_to_object.js +49 -49
  36. package/lib/decorators/internal/load_controller.d.ts +5 -5
  37. package/lib/decorators/internal/load_controller.js +151 -152
  38. package/lib/decorators/internal/load_controller.js.map +1 -1
  39. package/lib/decorators/internal/route_error.d.ts +3 -3
  40. package/lib/decorators/internal/route_error.js +88 -88
  41. package/lib/decorators/internal/validate_request_body.d.ts +3 -3
  42. package/lib/decorators/internal/validate_request_body.js +66 -66
  43. package/lib/index.d.ts +3 -3
  44. package/lib/index.js +31 -31
  45. package/lib/module.d.ts +12 -12
  46. package/lib/module.js +28 -28
  47. package/lib/options/INestiaTransformOptions.d.ts +4 -4
  48. package/lib/options/INestiaTransformOptions.js +2 -2
  49. package/lib/options/INestiaTransformProject.d.ts +5 -5
  50. package/lib/options/INestiaTransformProject.js +2 -2
  51. package/lib/options/IRequestBodyValidator.d.ts +16 -16
  52. package/lib/options/IRequestBodyValidator.js +2 -2
  53. package/lib/options/IResponseBodyStringifier.d.ts +20 -20
  54. package/lib/options/IResponseBodyStringifier.js +2 -2
  55. package/lib/programmers/TypedBodyProgrammer.d.ts +5 -5
  56. package/lib/programmers/TypedBodyProgrammer.js +58 -58
  57. package/lib/programmers/TypedBodyProgrammer.js.map +1 -1
  58. package/lib/programmers/TypedParamProgrammer.d.ts +5 -5
  59. package/lib/programmers/TypedParamProgrammer.js +110 -110
  60. package/lib/programmers/TypedParamProgrammer.js.map +1 -1
  61. package/lib/programmers/TypedQueryProgrammer.d.ts +5 -5
  62. package/lib/programmers/TypedQueryProgrammer.js +264 -264
  63. package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
  64. package/lib/programmers/TypedRouteProgrammer.d.ts +5 -5
  65. package/lib/programmers/TypedRouteProgrammer.js +49 -49
  66. package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
  67. package/lib/transform.d.ts +4 -4
  68. package/lib/transform.js +25 -25
  69. package/lib/transformers/FileTransformer.d.ts +5 -5
  70. package/lib/transformers/FileTransformer.js +40 -40
  71. package/lib/transformers/FileTransformer.js.map +1 -1
  72. package/lib/transformers/MethodDecoratorTransformer.d.ts +5 -5
  73. package/lib/transformers/MethodDecoratorTransformer.js +92 -92
  74. package/lib/transformers/MethodDecoratorTransformer.js.map +1 -1
  75. package/lib/transformers/MethodTransformer.d.ts +5 -5
  76. package/lib/transformers/MethodTransformer.js +62 -62
  77. package/lib/transformers/MethodTransformer.js.map +1 -1
  78. package/lib/transformers/NodeTransformer.d.ts +5 -5
  79. package/lib/transformers/NodeTransformer.js +21 -21
  80. package/lib/transformers/NodeTransformer.js.map +1 -1
  81. package/lib/transformers/ParameterDecoratorTransformer.d.ts +5 -5
  82. package/lib/transformers/ParameterDecoratorTransformer.js +68 -68
  83. package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
  84. package/lib/transformers/ParameterTransformer.d.ts +5 -5
  85. package/lib/transformers/ParameterTransformer.js +34 -34
  86. package/lib/transformers/ParameterTransformer.js.map +1 -1
  87. package/lib/typings/Creator.d.ts +3 -3
  88. package/lib/typings/Creator.js +2 -2
  89. package/lib/utils/ExceptionManager.d.ts +64 -64
  90. package/lib/utils/ExceptionManager.js +112 -112
  91. package/lib/utils/ExceptionManager.js.map +1 -1
  92. package/lib/utils/Singleton.d.ts +1 -1
  93. package/lib/utils/Singleton.js +23 -23
  94. package/lib/utils/SourceFinder.d.ts +9 -9
  95. package/lib/utils/SourceFinder.js +238 -238
  96. package/lib/utils/SourceFinder.js.map +1 -1
  97. package/package.json +7 -7
@@ -1,59 +1,59 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.TypedBodyProgrammer = void 0;
18
- var typescript_1 = __importDefault(require("typescript"));
19
- var AssertProgrammer_1 = require("typia/lib/programmers/AssertProgrammer");
20
- var IsProgrammer_1 = require("typia/lib/programmers/IsProgrammer");
21
- var ValidateProgrammer_1 = require("typia/lib/programmers/ValidateProgrammer");
22
- var TypedBodyProgrammer;
23
- (function (TypedBodyProgrammer) {
24
- TypedBodyProgrammer.generate = function (project) {
25
- return function (modulo) {
26
- return function (type) {
27
- // GENERATE VALIDATION PLAN
28
- var parameter = function (key) {
29
- return function (equals) {
30
- return function (programmer) {
31
- return typescript_1.default.factory.createObjectLiteralExpression([
32
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
33
- typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(__assign(__assign({}, project), { options: {
34
- numeric: false,
35
- finite: false,
36
- functional: false,
37
- } }))(modulo)(equals)(type)),
38
- ]);
39
- };
40
- };
41
- };
42
- // RETURNS
43
- var category = project.options.validate;
44
- if (category === "is")
45
- return parameter("is")(false)(IsProgrammer_1.IsProgrammer.write);
46
- else if (category === "validate")
47
- return parameter("validate")(false)(ValidateProgrammer_1.ValidateProgrammer.write);
48
- else if (category === "validateEquals")
49
- return parameter("validate")(true)(AssertProgrammer_1.AssertProgrammer.write);
50
- else if (category === "equals")
51
- return parameter("is")(true)(AssertProgrammer_1.AssertProgrammer.write);
52
- else if (category === "assertEquals")
53
- return parameter("assert")(true)(AssertProgrammer_1.AssertProgrammer.write);
54
- return parameter("assert")(false)(AssertProgrammer_1.AssertProgrammer.write);
55
- };
56
- };
57
- };
58
- })(TypedBodyProgrammer = exports.TypedBodyProgrammer || (exports.TypedBodyProgrammer = {}));
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.TypedBodyProgrammer = void 0;
18
+ var typescript_1 = __importDefault(require("typescript"));
19
+ var AssertProgrammer_1 = require("typia/lib/programmers/AssertProgrammer");
20
+ var IsProgrammer_1 = require("typia/lib/programmers/IsProgrammer");
21
+ var ValidateProgrammer_1 = require("typia/lib/programmers/ValidateProgrammer");
22
+ var TypedBodyProgrammer;
23
+ (function (TypedBodyProgrammer) {
24
+ TypedBodyProgrammer.generate = function (project) {
25
+ return function (modulo) {
26
+ return function (type) {
27
+ // GENERATE VALIDATION PLAN
28
+ var parameter = function (key) {
29
+ return function (equals) {
30
+ return function (programmer) {
31
+ return typescript_1.default.factory.createObjectLiteralExpression([
32
+ typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
33
+ typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(__assign(__assign({}, project), { options: {
34
+ numeric: false,
35
+ finite: false,
36
+ functional: false,
37
+ } }))(modulo)(equals)(type)),
38
+ ]);
39
+ };
40
+ };
41
+ };
42
+ // RETURNS
43
+ var category = project.options.validate;
44
+ if (category === "is")
45
+ return parameter("is")(false)(IsProgrammer_1.IsProgrammer.write);
46
+ else if (category === "validate")
47
+ return parameter("validate")(false)(ValidateProgrammer_1.ValidateProgrammer.write);
48
+ else if (category === "validateEquals")
49
+ return parameter("validate")(true)(AssertProgrammer_1.AssertProgrammer.write);
50
+ else if (category === "equals")
51
+ return parameter("is")(true)(AssertProgrammer_1.AssertProgrammer.write);
52
+ else if (category === "assertEquals")
53
+ return parameter("assert")(true)(AssertProgrammer_1.AssertProgrammer.write);
54
+ return parameter("assert")(false)(AssertProgrammer_1.AssertProgrammer.write);
55
+ };
56
+ };
57
+ };
58
+ })(TypedBodyProgrammer || (exports.TypedBodyProgrammer = TypedBodyProgrammer = {}));
59
59
  //# sourceMappingURL=TypedBodyProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypedBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedBodyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,mEAAkE;AAClE,+EAA8E;AAM9E,IAAiB,mBAAmB,CAkDnC;AAlDD,WAAiB,mBAAmB;IACnB,4BAAQ,GACjB,UAAC,OAAgC;QACjC,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,2BAA2B;gBAC3B,IAAM,SAAS,GACX,UAAC,GAAuC;oBACxC,OAAA,UAAC,MAAe;wBAChB,OAAA,UACI,UAMwC;4BAExC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;gCACrC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CACtC;gCACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAChC,UAAU,uBACH,OAAO,KACV,OAAO,EAAE;wCACL,OAAO,EAAE,KAAK;wCACd,MAAM,EAAE,KAAK;wCACb,UAAU,EAAE,KAAK;qCACpB,IACH,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAC3B;6BACJ,CAAC;wBAhBF,CAgBE;oBAzBN,CAyBM;gBA1BN,CA0BM,CAAC;gBAEX,UAAU;gBACV,IAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC1C,IAAI,QAAQ,KAAK,IAAI;oBACjB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,2BAAY,CAAC,KAAK,CAAC,CAAC;qBACjD,IAAI,QAAQ,KAAK,UAAU;oBAC5B,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,uCAAkB,CAAC,KAAK,CAAC,CAAC;qBAC7D,IAAI,QAAQ,KAAK,gBAAgB;oBAClC,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAAC,CAAC;qBAC1D,IAAI,QAAQ,KAAK,QAAQ;oBAC1B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAAC,CAAC;qBACpD,IAAI,QAAQ,KAAK,cAAc;oBAChC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAAC,CAAC;gBAC7D,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAAC,CAAC;YAC9D,CAAC;QA7CD,CA6CC;IA9CD,CA8CC,CAAC;AACV,CAAC,EAlDgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAkDnC"}
1
+ {"version":3,"file":"TypedBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedBodyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,mEAAkE;AAClE,+EAA8E;AAM9E,IAAiB,mBAAmB,CAkDnC;AAlDD,WAAiB,mBAAmB;IACnB,4BAAQ,GACjB,UAAC,OAAgC;QACjC,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,2BAA2B;gBAC3B,IAAM,SAAS,GACX,UAAC,GAAuC;oBACxC,OAAA,UAAC,MAAe;wBAChB,OAAA,UACI,UAMwC;4BAExC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;gCACrC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CACtC;gCACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAChC,UAAU,uBACH,OAAO,KACV,OAAO,EAAE;wCACL,OAAO,EAAE,KAAK;wCACd,MAAM,EAAE,KAAK;wCACb,UAAU,EAAE,KAAK;qCACpB,IACH,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAC3B;6BACJ,CAAC;wBAhBF,CAgBE;oBAzBN,CAyBM;gBA1BN,CA0BM,CAAC;gBAEX,UAAU;gBACV,IAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC1C,IAAI,QAAQ,KAAK,IAAI;oBACjB,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,2BAAY,CAAC,KAAK,CAAC,CAAC;qBACjD,IAAI,QAAQ,KAAK,UAAU;oBAC5B,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,uCAAkB,CAAC,KAAK,CAAC,CAAC;qBAC7D,IAAI,QAAQ,KAAK,gBAAgB;oBAClC,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAAC,CAAC;qBAC1D,IAAI,QAAQ,KAAK,QAAQ;oBAC1B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAAC,CAAC;qBACpD,IAAI,QAAQ,KAAK,cAAc;oBAChC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAAC,CAAC;gBAC7D,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAgB,CAAC,KAAK,CAAC,CAAC;YAC9D,CAAC;QA7CD,CA6CC;IA9CD,CA8CC,CAAC;AACV,CAAC,EAlDgB,mBAAmB,mCAAnB,mBAAmB,QAkDnC"}
@@ -1,5 +1,5 @@
1
- import ts from "typescript";
2
- import { INestiaTransformProject } from "../options/INestiaTransformProject";
3
- export declare namespace TypedParamProgrammer {
4
- const generate: ({ checker }: INestiaTransformProject) => (parameters: readonly ts.Expression[]) => (type: ts.Type) => readonly ts.Expression[];
5
- }
1
+ import ts from "typescript";
2
+ import { INestiaTransformProject } from "../options/INestiaTransformProject";
3
+ export declare namespace TypedParamProgrammer {
4
+ const generate: ({ checker }: INestiaTransformProject) => (parameters: readonly ts.Expression[]) => (type: ts.Type) => readonly ts.Expression[];
5
+ }
@@ -1,111 +1,111 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- var __importDefault = (this && this.__importDefault) || function (mod) {
28
- return (mod && mod.__esModule) ? mod : { "default": mod };
29
- };
30
- Object.defineProperty(exports, "__esModule", { value: true });
31
- exports.TypedParamProgrammer = void 0;
32
- var typescript_1 = __importDefault(require("typescript"));
33
- var MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
34
- var MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
35
- var TypedParamProgrammer;
36
- (function (TypedParamProgrammer) {
37
- TypedParamProgrammer.generate = function (_a) {
38
- var checker = _a.checker;
39
- return function (parameters) {
40
- return function (type) {
41
- var metadata = MetadataFactory_1.MetadataFactory.analyze(checker)({
42
- resolve: false,
43
- constant: true,
44
- absorb: true,
45
- validate: validate,
46
- })(new MetadataCollection_1.MetadataCollection())(type);
47
- var _a = __read(get_atomic_types(metadata), 1), atomic = _a[0];
48
- // AUTO TYPE SPECIFICATION
49
- if (parameters.length === 1)
50
- return [
51
- parameters[0],
52
- typescript_1.default.factory.createStringLiteral(atomic),
53
- metadata.nullable
54
- ? typescript_1.default.factory.createTrue()
55
- : typescript_1.default.factory.createFalse(),
56
- ];
57
- // TYPE HAS BEEN SPECIFIED IN DECORATOR
58
- var specified = MetadataFactory_1.MetadataFactory.analyze(checker)({
59
- resolve: false,
60
- constant: true,
61
- absorb: true,
62
- })(new MetadataCollection_1.MetadataCollection())(checker.getTypeAtLocation(parameters[1]));
63
- if (equals(atomic, specified) === false)
64
- throw new Error(error("different type between parameter and variable"));
65
- if (parameters.length === 2)
66
- return [
67
- parameters[0],
68
- parameters[1],
69
- metadata.nullable
70
- ? typescript_1.default.factory.createTrue()
71
- : typescript_1.default.factory.createFalse(),
72
- ];
73
- // NULLABLE HAS BEEN SPECIFIED
74
- var nullable = MetadataFactory_1.MetadataFactory.analyze(checker)({
75
- resolve: false,
76
- constant: true,
77
- absorb: true,
78
- })(new MetadataCollection_1.MetadataCollection())(checker.getTypeAtLocation(parameters[2]));
79
- if (nullable.getName() !== "true" && nullable.getName() !== "false")
80
- throw new Error(error("nullable value must be literal type"));
81
- else if (metadata.nullable !== (nullable.getName() === "true"))
82
- throw new Error(error("different type (nullable) between parameter and variable"));
83
- return parameters;
84
- };
85
- };
86
- };
87
- })(TypedParamProgrammer = exports.TypedParamProgrammer || (exports.TypedParamProgrammer = {}));
88
- var validate = function (meta) {
89
- if (meta.any)
90
- throw new Error(error("do not allow any type"));
91
- else if (meta.required === false)
92
- throw new Error(error("do not allow undefindable type"));
93
- var atomics = get_atomic_types(meta);
94
- var expected = meta.atomics.length +
95
- meta.constants.map(function (c) { return c.values.length; }).reduce(function (a, b) { return a + b; }, 0);
96
- if (meta.size() !== expected || atomics.length === 0)
97
- throw new Error(error("only atomic or constant types is allowed"));
98
- else if (atomics.length > 1)
99
- throw new Error(error("do not allow union type"));
100
- };
101
- var get_atomic_types = function (meta) { return __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(meta.atomics), false), __read(meta.constants.map(function (c) { return c.type; })), false))), false); };
102
- var error = function (message) {
103
- return "Error on nestia.core.TypedParam(): ".concat(message, ".");
104
- };
105
- var equals = function (atomic, p) {
106
- var name = p.getName();
107
- if (atomic === "string")
108
- return name === "\"string\"" || name === "\"uuid\"" || name === "\"date\"";
109
- return "\"".concat(atomic, "\"") === name;
110
- };
1
+ "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
27
+ var __importDefault = (this && this.__importDefault) || function (mod) {
28
+ return (mod && mod.__esModule) ? mod : { "default": mod };
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.TypedParamProgrammer = void 0;
32
+ var typescript_1 = __importDefault(require("typescript"));
33
+ var MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
34
+ var MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
35
+ var TypedParamProgrammer;
36
+ (function (TypedParamProgrammer) {
37
+ TypedParamProgrammer.generate = function (_a) {
38
+ var checker = _a.checker;
39
+ return function (parameters) {
40
+ return function (type) {
41
+ var metadata = MetadataFactory_1.MetadataFactory.analyze(checker)({
42
+ resolve: false,
43
+ constant: true,
44
+ absorb: true,
45
+ validate: validate,
46
+ })(new MetadataCollection_1.MetadataCollection())(type);
47
+ var _a = __read(get_atomic_types(metadata), 1), atomic = _a[0];
48
+ // AUTO TYPE SPECIFICATION
49
+ if (parameters.length === 1)
50
+ return [
51
+ parameters[0],
52
+ typescript_1.default.factory.createStringLiteral(atomic),
53
+ metadata.nullable
54
+ ? typescript_1.default.factory.createTrue()
55
+ : typescript_1.default.factory.createFalse(),
56
+ ];
57
+ // TYPE HAS BEEN SPECIFIED IN DECORATOR
58
+ var specified = MetadataFactory_1.MetadataFactory.analyze(checker)({
59
+ resolve: false,
60
+ constant: true,
61
+ absorb: true,
62
+ })(new MetadataCollection_1.MetadataCollection())(checker.getTypeAtLocation(parameters[1]));
63
+ if (equals(atomic, specified) === false)
64
+ throw new Error(error("different type between parameter and variable"));
65
+ if (parameters.length === 2)
66
+ return [
67
+ parameters[0],
68
+ parameters[1],
69
+ metadata.nullable
70
+ ? typescript_1.default.factory.createTrue()
71
+ : typescript_1.default.factory.createFalse(),
72
+ ];
73
+ // NULLABLE HAS BEEN SPECIFIED
74
+ var nullable = MetadataFactory_1.MetadataFactory.analyze(checker)({
75
+ resolve: false,
76
+ constant: true,
77
+ absorb: true,
78
+ })(new MetadataCollection_1.MetadataCollection())(checker.getTypeAtLocation(parameters[2]));
79
+ if (nullable.getName() !== "true" && nullable.getName() !== "false")
80
+ throw new Error(error("nullable value must be literal type"));
81
+ else if (metadata.nullable !== (nullable.getName() === "true"))
82
+ throw new Error(error("different type (nullable) between parameter and variable"));
83
+ return parameters;
84
+ };
85
+ };
86
+ };
87
+ })(TypedParamProgrammer || (exports.TypedParamProgrammer = TypedParamProgrammer = {}));
88
+ var validate = function (meta) {
89
+ if (meta.any)
90
+ throw new Error(error("do not allow any type"));
91
+ else if (meta.required === false)
92
+ throw new Error(error("do not allow undefindable type"));
93
+ var atomics = get_atomic_types(meta);
94
+ var expected = meta.atomics.length +
95
+ meta.constants.map(function (c) { return c.values.length; }).reduce(function (a, b) { return a + b; }, 0);
96
+ if (meta.size() !== expected || atomics.length === 0)
97
+ throw new Error(error("only atomic or constant types is allowed"));
98
+ else if (atomics.length > 1)
99
+ throw new Error(error("do not allow union type"));
100
+ };
101
+ var get_atomic_types = function (meta) { return __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(meta.atomics), false), __read(meta.constants.map(function (c) { return c.type; })), false))), false); };
102
+ var error = function (message) {
103
+ return "Error on nestia.core.TypedParam(): ".concat(message, ".");
104
+ };
105
+ var equals = function (atomic, p) {
106
+ var name = p.getName();
107
+ if (atomic === "string")
108
+ return name === "\"string\"" || name === "\"uuid\"" || name === "\"date\"";
109
+ return "\"".concat(atomic, "\"") === name;
110
+ };
111
111
  //# sourceMappingURL=TypedParamProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypedParamProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedParamProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypedParamProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedParamProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import ts from "typescript";
2
- import { INestiaTransformProject } from "../options/INestiaTransformProject";
3
- export declare namespace TypedQueryProgrammer {
4
- const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.Expression;
5
- }
1
+ import ts from "typescript";
2
+ import { INestiaTransformProject } from "../options/INestiaTransformProject";
3
+ export declare namespace TypedQueryProgrammer {
4
+ const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.Expression;
5
+ }