@nestia/core 2.0.0-dev.20230831-5 → 2.0.0-dev.20230901

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 (62) hide show
  1. package/lib/decorators/EncryptedRoute.js +10 -7
  2. package/lib/decorators/EncryptedRoute.js.map +1 -1
  3. package/lib/decorators/TypedHeaders.js +2 -2
  4. package/lib/decorators/TypedHeaders.js.map +1 -1
  5. package/lib/decorators/TypedParam.d.ts +14 -13
  6. package/lib/decorators/TypedParam.js +16 -48
  7. package/lib/decorators/TypedParam.js.map +1 -1
  8. package/lib/decorators/TypedQuery.d.ts +2 -3
  9. package/lib/decorators/TypedQuery.js +4 -5
  10. package/lib/decorators/TypedQuery.js.map +1 -1
  11. package/lib/decorators/TypedRoute.js +8 -5
  12. package/lib/decorators/TypedRoute.js.map +1 -1
  13. package/lib/decorators/internal/{TransformError.js → NoTransformConfigureError.js} +4 -4
  14. package/lib/decorators/internal/NoTransformConfigureError.js.map +1 -0
  15. package/lib/decorators/internal/get_path_and_stringify.js +2 -2
  16. package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
  17. package/lib/decorators/internal/validate_request_body.js +2 -2
  18. package/lib/decorators/internal/validate_request_body.js.map +1 -1
  19. package/lib/programmers/PlainBodyProgrammer.js +17 -13
  20. package/lib/programmers/PlainBodyProgrammer.js.map +1 -1
  21. package/lib/programmers/TypedHeadersProgrammer.d.ts +3 -0
  22. package/lib/programmers/TypedHeadersProgrammer.js +86 -136
  23. package/lib/programmers/TypedHeadersProgrammer.js.map +1 -1
  24. package/lib/programmers/TypedParamProgrammer.d.ts +3 -1
  25. package/lib/programmers/TypedParamProgrammer.js +74 -67
  26. package/lib/programmers/TypedParamProgrammer.js.map +1 -1
  27. package/lib/programmers/TypedQueryProgrammer.d.ts +3 -0
  28. package/lib/programmers/TypedQueryProgrammer.js +88 -149
  29. package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
  30. package/lib/programmers/TypedRouteProgrammer.js +8 -8
  31. package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
  32. package/lib/programmers/internal/CoreMetadataUtil.d.ts +5 -0
  33. package/lib/programmers/internal/CoreMetadataUtil.js +44 -0
  34. package/lib/programmers/internal/CoreMetadataUtil.js.map +1 -0
  35. package/lib/transform.d.ts +2 -1
  36. package/lib/transform.js +11 -3
  37. package/lib/transform.js.map +1 -1
  38. package/lib/transformers/FileTransformer.d.ts +1 -1
  39. package/lib/transformers/FileTransformer.js +16 -1
  40. package/lib/transformers/FileTransformer.js.map +1 -1
  41. package/lib/transformers/ParameterDecoratorTransformer.js +3 -1
  42. package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
  43. package/package.json +5 -5
  44. package/src/decorators/EncryptedRoute.ts +9 -12
  45. package/src/decorators/TypedHeaders.ts +2 -2
  46. package/src/decorators/TypedParam.ts +30 -51
  47. package/src/decorators/TypedQuery.ts +4 -5
  48. package/src/decorators/TypedRoute.ts +5 -10
  49. package/src/decorators/internal/{TransformError.ts → NoTransformConfigureError.ts} +1 -1
  50. package/src/decorators/internal/get_path_and_stringify.ts +2 -2
  51. package/src/decorators/internal/validate_request_body.ts +2 -2
  52. package/src/programmers/PlainBodyProgrammer.ts +24 -19
  53. package/src/programmers/TypedHeadersProgrammer.ts +100 -106
  54. package/src/programmers/TypedParamProgrammer.ts +113 -79
  55. package/src/programmers/TypedQueryProgrammer.ts +115 -114
  56. package/src/programmers/TypedRouteProgrammer.ts +11 -8
  57. package/src/programmers/internal/CoreMetadataUtil.ts +21 -0
  58. package/src/transform.ts +14 -5
  59. package/src/transformers/FileTransformer.ts +7 -2
  60. package/src/transformers/ParameterDecoratorTransformer.ts +2 -1
  61. package/lib/decorators/internal/TransformError.js.map +0 -1
  62. /package/lib/decorators/internal/{TransformError.d.ts → NoTransformConfigureError.d.ts} +0 -0
@@ -10,17 +10,6 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __values = (this && this.__values) || function(o) {
14
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
15
- if (m) return m.call(o);
16
- if (o && typeof o.length === "number") return {
17
- next: function () {
18
- if (o && i >= o.length) o = void 0;
19
- return { value: o && o[i++], done: !o };
20
- }
21
- };
22
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
23
- };
24
13
  var __read = (this && this.__read) || function (o, n) {
25
14
  var m = typeof Symbol === "function" && o[Symbol.iterator];
26
15
  if (!m) return o;
@@ -58,7 +47,10 @@ var MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
58
47
  var StatementFactory_1 = require("typia/lib/factories/StatementFactory");
59
48
  var AssertProgrammer_1 = require("typia/lib/programmers/AssertProgrammer");
60
49
  var FunctionImporeter_1 = require("typia/lib/programmers/helpers/FunctionImporeter");
50
+ var MetadataArray_1 = require("typia/lib/schemas/metadata/MetadataArray");
51
+ var TransformerError_1 = require("typia/lib/transformers/TransformerError");
61
52
  var Escaper_1 = require("typia/lib/utils/Escaper");
53
+ var CoreMetadataUtil_1 = require("./internal/CoreMetadataUtil");
62
54
  var TypedHeadersProgrammer;
63
55
  (function (TypedHeadersProgrammer) {
64
56
  TypedHeadersProgrammer.generate = function (project) {
@@ -69,133 +61,91 @@ var TypedHeadersProgrammer;
69
61
  };
70
62
  };
71
63
  };
64
+ TypedHeadersProgrammer.validate = function (meta, explore) {
65
+ var errors = [];
66
+ var insert = function (msg) { return errors.push(msg); };
67
+ if (explore.top === true) {
68
+ // TOP MUST BE ONLY OBJECT
69
+ if (meta.objects.length !== 1 || meta.bucket() !== 1)
70
+ insert("only one object type is allowed.");
71
+ if (meta.nullable === true)
72
+ insert("headers cannot be null.");
73
+ if (meta.isRequired() === false)
74
+ insert("headers cannot be null.");
75
+ }
76
+ else if (explore.nested !== null &&
77
+ explore.nested instanceof MetadataArray_1.MetadataArray) {
78
+ var atomics = CoreMetadataUtil_1.CoreMetadataUtil.atomics(meta);
79
+ var expected = meta.atomics.length +
80
+ meta.templates.length +
81
+ meta.constants
82
+ .map(function (c) { return c.values.length; })
83
+ .reduce(function (a, b) { return a + b; }, 0);
84
+ if (atomics.size > 1)
85
+ insert("union type is not allowed in array.");
86
+ if (meta.nullable)
87
+ insert("nullable type is not allowed in array.");
88
+ if (meta.isRequired() === false)
89
+ insert("optional type is not allowed.");
90
+ if (meta.size() !== expected)
91
+ insert("only atomic or constant types are allowed in array.");
92
+ }
93
+ else if (explore.object && explore.property !== null) {
94
+ //----
95
+ // COMMON
96
+ //----
97
+ // PROPERTY MUST BE SOLE
98
+ if (typeof explore.property === "object")
99
+ insert("dynamic property is not allowed.");
100
+ // MUST BE LOWER-CASE
101
+ if (typeof explore.property === "string" &&
102
+ explore.property !== explore.property.toLowerCase())
103
+ insert("property name must be lower-case.");
104
+ // DO NOT ALLOW TUPLE TYPE
105
+ if (meta.tuples.length)
106
+ insert("tuple type is not allowed.");
107
+ // DO NOT ALLOW UNION TYPE
108
+ if (CoreMetadataUtil_1.CoreMetadataUtil.isUnion(meta))
109
+ insert("union type is not allowed.");
110
+ // DO NOT ALLOW NESTED OBJECT
111
+ if (meta.objects.length ||
112
+ meta.sets.length ||
113
+ meta.maps.length ||
114
+ meta.natives.length)
115
+ insert("nested object type is not allowed.");
116
+ // DO NOT ALLOW NULLABLE
117
+ if (meta.nullable)
118
+ insert("nullable type is not allowed.");
119
+ //----
120
+ // ARRAY CASES
121
+ //----
122
+ var isArray = meta.arrays.length > 1;
123
+ // ARRAY TYPE MUST BE REQUIRED
124
+ if (isArray && meta.isRequired() === false)
125
+ insert("optional type is not allowed when array.");
126
+ // SET-COOKIE MUST BE ARRAY
127
+ if (explore.property === "set-cookie" && !isArray)
128
+ insert("set-cookie property must be array.");
129
+ // MUST BE SINGULAR CASE
130
+ if (typeof explore.property === "string" &&
131
+ SINGULAR.has(explore.property) &&
132
+ isArray)
133
+ insert("property cannot be array.");
134
+ }
135
+ return errors;
136
+ };
72
137
  var getObject = function (checker) {
73
138
  return function (type) {
74
- var e_1, _a;
75
139
  var collection = new MetadataCollection_1.MetadataCollection();
76
- var metadata = MetadataFactory_1.MetadataFactory.analyze(checker)({
77
- resolve: false,
140
+ var result = MetadataFactory_1.MetadataFactory.analyze(checker)({
141
+ escape: false,
78
142
  constant: true,
79
143
  absorb: true,
144
+ validate: TypedHeadersProgrammer.validate,
80
145
  })(collection)(type);
81
- if (metadata.objects.length !== 1 || metadata.bucket() !== 1)
82
- throw new Error(ErrorMessages.object(metadata)("only one object type is allowed."));
83
- else if (metadata.nullable === true)
84
- throw new Error(ErrorMessages.object(metadata)("query parameter cannot be null."));
85
- else if (metadata.isRequired() === false)
86
- throw new Error(ErrorMessages.object(metadata)("query parameter cannot be undefined."));
87
- var object = metadata.objects[0];
88
- if (object.properties.some(function (p) { return !p.key.isSoleLiteral(); }))
89
- throw new Error(ErrorMessages.object(metadata)("dynamic property is not allowed."));
90
- try {
91
- for (var _b = __values(object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
92
- var property = _c.value;
93
- var key = property.key.constants[0]
94
- .values[0];
95
- var value = property.value;
96
- validate(object)(key)(value, 0);
97
- }
98
- }
99
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
100
- finally {
101
- try {
102
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
103
- }
104
- finally { if (e_1) throw e_1.error; }
105
- }
106
- return object;
107
- };
108
- };
109
- var validate = function (obj) {
110
- return function (key) {
111
- return function (value, depth) {
112
- var e_2, _a, e_3, _b, e_4, _c, e_5, _d, e_6, _e;
113
- if (depth === 1 && value.isRequired() === false)
114
- throw new Error(ErrorMessages.property(obj)(key)("optional type is not allowed in array."));
115
- else if (value.nullable === true)
116
- throw new Error(ErrorMessages.property(obj)(key)("nullable type is not allowed."));
117
- else if (value.maps.length ||
118
- value.sets.length ||
119
- value.objects.length)
120
- throw new Error(ErrorMessages.property(obj)(key)("object type is not allowed"));
121
- var atom = [];
122
- try {
123
- for (var _f = __values(value.atomics), _g = _f.next(); !_g.done; _g = _f.next()) {
124
- var type = _g.value;
125
- atom.push(type);
126
- }
127
- }
128
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
129
- finally {
130
- try {
131
- if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
132
- }
133
- finally { if (e_2) throw e_2.error; }
134
- }
135
- try {
136
- for (var _h = __values(value.constants), _j = _h.next(); !_j.done; _j = _h.next()) {
137
- var type = _j.value.type;
138
- atom.push(type);
139
- }
140
- }
141
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
142
- finally {
143
- try {
144
- if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
145
- }
146
- finally { if (e_3) throw e_3.error; }
147
- }
148
- if (depth === 0 && (value.arrays.length || value.arrays.length)) {
149
- if (atom.length)
150
- throw new Error(ErrorMessages.property(obj)(key)("union type is not allowed"));
151
- try {
152
- for (var _k = __values(value.arrays), _l = _k.next(); !_l.done; _l = _k.next()) {
153
- var array = _l.value;
154
- atom.push.apply(atom, __spreadArray([], __read(validate(obj)(key)(array.value, depth + 1)), false));
155
- }
156
- }
157
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
158
- finally {
159
- try {
160
- if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
161
- }
162
- finally { if (e_4) throw e_4.error; }
163
- }
164
- try {
165
- for (var _m = __values(value.tuples), _o = _m.next(); !_o.done; _o = _m.next()) {
166
- var tuple = _o.value;
167
- try {
168
- for (var _p = (e_6 = void 0, __values(tuple.elements)), _q = _p.next(); !_q.done; _q = _p.next()) {
169
- var elem = _q.value;
170
- atom.push.apply(atom, __spreadArray([], __read(validate(obj)(key)(elem, depth + 1)), false));
171
- }
172
- }
173
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
174
- finally {
175
- try {
176
- if (_q && !_q.done && (_e = _p.return)) _e.call(_p);
177
- }
178
- finally { if (e_6) throw e_6.error; }
179
- }
180
- }
181
- }
182
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
183
- finally {
184
- try {
185
- if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
186
- }
187
- finally { if (e_5) throw e_5.error; }
188
- }
189
- }
190
- else if (value.arrays.length || value.tuples.length)
191
- throw new Error(ErrorMessages.property(obj)(key)("double-array type is not allowed"));
192
- var size = new Set(atom).size;
193
- if (size === 0)
194
- throw new Error(ErrorMessages.property(obj)(key)("unknown type"));
195
- else if (size > 1)
196
- throw new Error(ErrorMessages.property(obj)(key)("union type is not allowed"));
197
- return atom;
198
- };
146
+ if (result.success === false)
147
+ throw TransformerError_1.TransformerError.from("@core.nestia.TypedHeaders")(result.errors);
148
+ return result.data.objects[0];
199
149
  };
200
150
  };
201
151
  var decode = function (project, modulo) {
@@ -210,7 +160,7 @@ var TypedHeadersProgrammer;
210
160
  finite: true,
211
161
  } }))(modulo)(false)(type);
212
162
  var output = typescript_1.default.factory.createIdentifier("output");
213
- var importer = new FunctionImporeter_1.FunctionImporter();
163
+ var importer = new FunctionImporeter_1.FunctionImporter("TypedHeaders");
214
164
  var statements = [
215
165
  StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createObjectLiteralExpression(object.properties.map(function (prop) {
216
166
  return decode_regular_property(importer)(object)(prop);
@@ -229,14 +179,14 @@ var TypedHeadersProgrammer;
229
179
  var value = property.value;
230
180
  var _a = __read(value.atomics
231
181
  .length
232
- ? [value.atomics[0], false]
182
+ ? [value.atomics[0].type, false]
233
183
  : value.constants.length
234
184
  ? [value.constants[0].type, false]
235
185
  : (function () {
236
186
  var _a, _b;
237
- var meta = (_b = (_a = value.arrays[0]) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : value.tuples[0].elements[0];
187
+ var meta = (_b = (_a = value.arrays[0]) === null || _a === void 0 ? void 0 : _a.type.value) !== null && _b !== void 0 ? _b : value.tuples[0].type.elements[0];
238
188
  return meta.atomics.length
239
- ? [meta.atomics[0], true]
189
+ ? [meta.atomics[0].type, true]
240
190
  : [meta.constants[0].type, true];
241
191
  })(), 2), type = _a[0], isArray = _a[1];
242
192
  if (isArray && SINGULAR.has(key))
@@ -1 +1 @@
1
- {"version":3,"file":"TypedHeadersProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedHeadersProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypedHeadersProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedHeadersProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import ts from "typescript";
2
+ import { Metadata } from "typia/lib/schemas/metadata/Metadata";
2
3
  import { INestiaTransformProject } from "../options/INestiaTransformProject";
3
4
  export declare namespace TypedParamProgrammer {
4
- const generate: ({ checker }: INestiaTransformProject) => (parameters: readonly ts.Expression[]) => (type: ts.Type) => readonly ts.Expression[];
5
+ const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (parameters: readonly ts.Expression[]) => (type: ts.Type) => readonly ts.Expression[];
6
+ const validate: (meta: Metadata) => string[];
5
7
  }
@@ -1,4 +1,15 @@
1
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
+ };
2
13
  var __read = (this && this.__read) || function (o, n) {
3
14
  var m = typeof Symbol === "function" && o[Symbol.iterator];
4
15
  if (!m) return o;
@@ -30,83 +41,79 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
30
41
  Object.defineProperty(exports, "__esModule", { value: true });
31
42
  exports.TypedParamProgrammer = void 0;
32
43
  var typescript_1 = __importDefault(require("typescript"));
44
+ var IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
33
45
  var MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
34
46
  var MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
47
+ var IsProgrammer_1 = require("typia/lib/programmers/IsProgrammer");
48
+ var TransformerError_1 = require("typia/lib/transformers/TransformerError");
49
+ var CoreMetadataUtil_1 = require("./internal/CoreMetadataUtil");
35
50
  var TypedParamProgrammer;
36
51
  (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
- })(new MetadataCollection_1.MetadataCollection())(type);
46
- validate(metadata);
47
- var _a = __read(get_atomic_types(metadata), 1), atomic = _a[0];
48
- // AUTO TYPE SPECIFICATION
49
- if (parameters.length === 1)
52
+ TypedParamProgrammer.generate = function (project) {
53
+ return function (modulo) {
54
+ return function (parameters) {
55
+ return function (type) {
56
+ // ALREADY BEING TRANSFORMED
57
+ if (parameters.length !== 1)
58
+ return parameters;
59
+ var result = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
60
+ escape: false,
61
+ constant: true,
62
+ absorb: true,
63
+ validate: TypedParamProgrammer.validate,
64
+ })(new MetadataCollection_1.MetadataCollection())(type);
65
+ if (result.success === false)
66
+ throw TransformerError_1.TransformerError.from("@core.nestia.TypedParam")(result.errors);
67
+ var _a = __read(__spreadArray([], __read(CoreMetadataUtil_1.CoreMetadataUtil.atomics(result.data)), false), 1), atomic = _a[0];
68
+ var name = result.data.getName();
69
+ var is = IsProgrammer_1.IsProgrammer.write(__assign(__assign({}, project), { options: {
70
+ numeric: true,
71
+ } }))(modulo)(false)(type);
72
+ var cast = CASTERS[atomic]();
50
73
  return [
51
74
  parameters[0],
52
- typescript_1.default.factory.createStringLiteral(atomic),
53
- metadata.nullable
54
- ? typescript_1.default.factory.createTrue()
55
- : typescript_1.default.factory.createFalse(),
75
+ typescript_1.default.factory.createObjectLiteralExpression([
76
+ typescript_1.default.factory.createPropertyAssignment("name", typescript_1.default.factory.createIdentifier(name)),
77
+ typescript_1.default.factory.createPropertyAssignment("is", is),
78
+ typescript_1.default.factory.createPropertyAssignment("cast", cast),
79
+ ], true),
56
80
  ];
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 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 error("nullable value must be literal type");
81
- else if (metadata.nullable !== (nullable.getName() === "true"))
82
- throw error("different type (nullable) between parameter and variable");
83
- return parameters;
81
+ };
84
82
  };
85
83
  };
86
84
  };
85
+ TypedParamProgrammer.validate = function (meta) {
86
+ var errors = [];
87
+ var insert = function (msg) { return errors.push(msg); };
88
+ if (meta.any)
89
+ insert("do not allow any type");
90
+ if (meta.isRequired() === false)
91
+ insert("do not allow undefindable type");
92
+ var atomics = CoreMetadataUtil_1.CoreMetadataUtil.atomics(meta);
93
+ var expected = meta.atomics.length +
94
+ meta.templates.length +
95
+ meta.constants
96
+ .map(function (c) { return c.values.length; })
97
+ .reduce(function (a, b) { return a + b; }, 0);
98
+ if (meta.size() !== expected || atomics.size === 0)
99
+ insert("only atomic or constant types are allowed");
100
+ if (atomics.size > 1)
101
+ insert("do not allow union type");
102
+ return errors;
103
+ };
87
104
  })(TypedParamProgrammer || (exports.TypedParamProgrammer = TypedParamProgrammer = {}));
88
- var validate = function (meta) {
89
- if (meta.any)
90
- throw error("do not allow any type");
91
- else if (meta.isRequired() === false)
92
- throw error("do not allow undefindable type");
93
- var atomics = get_atomic_types(meta);
94
- var expected = meta.atomics.length +
95
- meta.templates.length +
96
- meta.constants.map(function (c) { return c.values.length; }).reduce(function (a, b) { return a + b; }, 0);
97
- if (meta.size() !== expected || atomics.length === 0)
98
- throw error("only atomic or constant types is allowed");
99
- else if (atomics.length > 1)
100
- throw error("do not allow union type");
101
- };
102
- var get_atomic_types = function (meta) { return __spreadArray([], __read(new Set(__spreadArray(__spreadArray(__spreadArray([], __read(meta.atomics), false), __read(meta.constants.map(function (c) { return c.type; })), false), __read((meta.templates.length ? ["string"] : [])), false))), false); };
103
- var error = function (message) {
104
- return new Error("Error on nestia.core.TypedParam(): ".concat(message, "."));
105
- };
106
- var equals = function (atomic, p) {
107
- var name = p.getName();
108
- if (atomic === "string")
109
- return name === "\"string\"" || name === "\"uuid\"" || name === "\"date\"";
110
- return "\"".concat(atomic, "\"") === name;
105
+ var CASTERS = {
106
+ boolean: function () {
107
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("str")], undefined, undefined, typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("true"), typescript_1.default.factory.createIdentifier("str")), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("1"), typescript_1.default.factory.createIdentifier("str"))));
108
+ },
109
+ number: function () {
110
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("str")], undefined, undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number"), undefined, [typescript_1.default.factory.createIdentifier("str")]));
111
+ },
112
+ bigint: function () {
113
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("str")], undefined, undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [typescript_1.default.factory.createIdentifier("str")]));
114
+ },
115
+ string: function () {
116
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("str")], undefined, undefined, typescript_1.default.factory.createIdentifier("str"));
117
+ },
111
118
  };
112
119
  //# 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,8 @@
1
1
  import ts from "typescript";
2
+ import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
3
+ import { Metadata } from "typia/lib/schemas/metadata/Metadata";
2
4
  import { INestiaTransformProject } from "../options/INestiaTransformProject";
3
5
  export declare namespace TypedQueryProgrammer {
4
6
  const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.Expression;
7
+ const validate: (meta: Metadata, explore: MetadataFactory.IExplore) => string[];
5
8
  }