@nestia/core 1.4.4-dev.20230713 → 1.4.5
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.
|
@@ -142,8 +142,6 @@ var TypedQueryProgrammer;
|
|
|
142
142
|
if (depth === 0 && (value.arrays.length || value.arrays.length)) {
|
|
143
143
|
if (atom.length)
|
|
144
144
|
throw new Error(ErrorMessages.property(obj)(key)("union type is not allowed"));
|
|
145
|
-
else if (value.isRequired() === false)
|
|
146
|
-
throw new Error(ErrorMessages.property(obj)(key)("array type cannot be optional"));
|
|
147
145
|
try {
|
|
148
146
|
for (var _k = __values(value.arrays), _l = _k.next(); !_l.done; _l = _k.next()) {
|
|
149
147
|
var array = _l.value;
|
|
@@ -207,16 +205,27 @@ var TypedQueryProgrammer;
|
|
|
207
205
|
} }))(modulo)(false)(type);
|
|
208
206
|
var output = typescript_1.default.factory.createIdentifier("output");
|
|
209
207
|
var importer = new FunctionImporeter_1.FunctionImporter();
|
|
210
|
-
var
|
|
208
|
+
var optionalArrays = [];
|
|
209
|
+
var statements = __spreadArray(__spreadArray([
|
|
211
210
|
StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createObjectLiteralExpression(object.properties
|
|
212
211
|
.filter(function (prop) { return prop.key.isSoleLiteral(); })
|
|
213
212
|
.map(function (prop) {
|
|
213
|
+
if (!prop.value.isRequired() &&
|
|
214
|
+
prop.value.arrays.length +
|
|
215
|
+
prop.value.tuples.length >
|
|
216
|
+
0)
|
|
217
|
+
optionalArrays.push(prop.key.constants[0]
|
|
218
|
+
.values[0]);
|
|
214
219
|
return decode_regular_property(importer)(prop);
|
|
215
|
-
}), true))
|
|
220
|
+
}), true))
|
|
221
|
+
], __read(optionalArrays.map(function (key) {
|
|
222
|
+
var access = IdentifierFactory_1.IdentifierFactory.access(output)(key);
|
|
223
|
+
return typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), IdentifierFactory_1.IdentifierFactory.access(access)("length")), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createDeleteExpression(access)));
|
|
224
|
+
})), false), [
|
|
216
225
|
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(assert, undefined, [
|
|
217
226
|
output,
|
|
218
227
|
])),
|
|
219
|
-
];
|
|
228
|
+
], false);
|
|
220
229
|
return typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(statements), false), true);
|
|
221
230
|
};
|
|
222
231
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,6EAA4E;AAC5E,uEAAsE;AACtE,yEAAwE;AAIxE,2EAA0E;AAC1E,qFAAmF;AAKnF,IAAiB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/core",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.5",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"raw-body": ">= 2.0.0",
|
|
45
45
|
"reflect-metadata": ">= 0.1.12",
|
|
46
46
|
"rxjs": ">= 6.0.0",
|
|
47
|
-
"typia": "^4.1.
|
|
47
|
+
"typia": "^4.1.8"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"@nestia/fetcher": ">= 1.4.0",
|
|
@@ -91,12 +91,6 @@ export namespace TypedQueryProgrammer {
|
|
|
91
91
|
"union type is not allowed",
|
|
92
92
|
),
|
|
93
93
|
);
|
|
94
|
-
else if (value.isRequired() === false)
|
|
95
|
-
throw new Error(
|
|
96
|
-
ErrorMessages.property(obj)(key)(
|
|
97
|
-
"array type cannot be optional",
|
|
98
|
-
),
|
|
99
|
-
);
|
|
100
94
|
for (const array of value.arrays)
|
|
101
95
|
atom.push(...validate(obj)(key)(array.value, depth + 1));
|
|
102
96
|
for (const tuple of value.tuples)
|
|
@@ -148,18 +142,41 @@ export namespace TypedQueryProgrammer {
|
|
|
148
142
|
const output = ts.factory.createIdentifier("output");
|
|
149
143
|
|
|
150
144
|
const importer = new FunctionImporter();
|
|
145
|
+
const optionalArrays: string[] = [];
|
|
151
146
|
const statements: ts.Statement[] = [
|
|
152
147
|
StatementFactory.constant(
|
|
153
148
|
"output",
|
|
154
149
|
ts.factory.createObjectLiteralExpression(
|
|
155
150
|
object.properties
|
|
156
151
|
.filter((prop) => (prop.key as any).isSoleLiteral())
|
|
157
|
-
.map((prop) =>
|
|
158
|
-
|
|
159
|
-
|
|
152
|
+
.map((prop) => {
|
|
153
|
+
if (
|
|
154
|
+
!prop.value.isRequired() &&
|
|
155
|
+
prop.value.arrays.length +
|
|
156
|
+
prop.value.tuples.length >
|
|
157
|
+
0
|
|
158
|
+
)
|
|
159
|
+
optionalArrays.push(
|
|
160
|
+
prop.key.constants[0]!
|
|
161
|
+
.values[0] as string,
|
|
162
|
+
);
|
|
163
|
+
return decode_regular_property(importer)(prop);
|
|
164
|
+
}),
|
|
160
165
|
true,
|
|
161
166
|
),
|
|
162
167
|
),
|
|
168
|
+
...optionalArrays.map((key) => {
|
|
169
|
+
const access = IdentifierFactory.access(output)(key);
|
|
170
|
+
return ts.factory.createIfStatement(
|
|
171
|
+
ts.factory.createStrictEquality(
|
|
172
|
+
ts.factory.createNumericLiteral(0),
|
|
173
|
+
IdentifierFactory.access(access)("length"),
|
|
174
|
+
),
|
|
175
|
+
ts.factory.createExpressionStatement(
|
|
176
|
+
ts.factory.createDeleteExpression(access),
|
|
177
|
+
),
|
|
178
|
+
);
|
|
179
|
+
}),
|
|
163
180
|
ts.factory.createReturnStatement(
|
|
164
181
|
ts.factory.createCallExpression(assert, undefined, [
|
|
165
182
|
output,
|