@nestia/core 2.0.0-dev.20230831-5 → 2.0.0-dev.20230831-6
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.
- package/lib/decorators/EncryptedRoute.js +10 -7
- package/lib/decorators/EncryptedRoute.js.map +1 -1
- package/lib/decorators/TypedHeaders.js +2 -2
- package/lib/decorators/TypedHeaders.js.map +1 -1
- package/lib/decorators/TypedParam.d.ts +14 -13
- package/lib/decorators/TypedParam.js +16 -48
- package/lib/decorators/TypedParam.js.map +1 -1
- package/lib/decorators/TypedQuery.d.ts +2 -3
- package/lib/decorators/TypedQuery.js +4 -5
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/TypedRoute.js +8 -5
- package/lib/decorators/TypedRoute.js.map +1 -1
- package/lib/decorators/internal/{TransformError.js → NoTransformConfigureError.js} +4 -4
- package/lib/decorators/internal/NoTransformConfigureError.js.map +1 -0
- package/lib/decorators/internal/get_path_and_stringify.js +2 -2
- package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
- package/lib/decorators/internal/validate_request_body.js +2 -2
- package/lib/decorators/internal/validate_request_body.js.map +1 -1
- package/lib/programmers/PlainBodyProgrammer.js +17 -13
- package/lib/programmers/PlainBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedHeadersProgrammer.d.ts +3 -0
- package/lib/programmers/TypedHeadersProgrammer.js +86 -136
- package/lib/programmers/TypedHeadersProgrammer.js.map +1 -1
- package/lib/programmers/TypedParamProgrammer.d.ts +3 -1
- package/lib/programmers/TypedParamProgrammer.js +74 -67
- package/lib/programmers/TypedParamProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryProgrammer.d.ts +3 -0
- package/lib/programmers/TypedQueryProgrammer.js +88 -149
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/programmers/TypedRouteProgrammer.js +8 -8
- package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
- package/lib/programmers/internal/CoreMetadataUtil.d.ts +5 -0
- package/lib/programmers/internal/CoreMetadataUtil.js +44 -0
- package/lib/programmers/internal/CoreMetadataUtil.js.map +1 -0
- package/lib/transform.d.ts +2 -1
- package/lib/transform.js +11 -3
- package/lib/transform.js.map +1 -1
- package/lib/transformers/FileTransformer.d.ts +1 -1
- package/lib/transformers/FileTransformer.js +16 -1
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js +3 -1
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/package.json +5 -5
- package/src/decorators/EncryptedRoute.ts +9 -12
- package/src/decorators/TypedHeaders.ts +2 -2
- package/src/decorators/TypedParam.ts +30 -51
- package/src/decorators/TypedQuery.ts +4 -5
- package/src/decorators/TypedRoute.ts +5 -10
- package/src/decorators/internal/{TransformError.ts → NoTransformConfigureError.ts} +1 -1
- package/src/decorators/internal/get_path_and_stringify.ts +2 -2
- package/src/decorators/internal/validate_request_body.ts +2 -2
- package/src/programmers/PlainBodyProgrammer.ts +24 -19
- package/src/programmers/TypedHeadersProgrammer.ts +100 -106
- package/src/programmers/TypedParamProgrammer.ts +113 -79
- package/src/programmers/TypedQueryProgrammer.ts +115 -114
- package/src/programmers/TypedRouteProgrammer.ts +11 -8
- package/src/programmers/internal/CoreMetadataUtil.ts +21 -0
- package/src/transform.ts +14 -5
- package/src/transformers/FileTransformer.ts +7 -2
- package/src/transformers/ParameterDecoratorTransformer.ts +2 -1
- package/lib/decorators/internal/TransformError.js.map +0 -1
- /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
|
|
77
|
-
|
|
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 (
|
|
82
|
-
throw
|
|
83
|
-
|
|
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":"
|
|
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: (
|
|
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 (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
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.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
-
|
|
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
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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":"
|
|
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
|
}
|