@nestia/core 1.4.4 → 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 statements = [
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,CA4NpC;AA5ND,WAAiB,oBAAoB;IACpB,6BAAQ,GACjB,UAAC,OAAgC;QACjC,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,IAAM,MAAM,GAAmB,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChE,OAAO,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;QAHD,CAGC;IAJD,CAIC,CAAC;IAEN,IAAM,SAAS,GACX,UAAC,OAAuB;QACxB,OAAA,UAAC,IAAa;;YACV,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;YAChE,IAAM,QAAQ,GAAa,iCAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxD,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;aACf,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;gBACxD,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC1B,kCAAkC,CACrC,CACJ,CAAC;iBACD,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI;gBAC/B,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC1B,iCAAiC,CACpC,CACJ,CAAC;iBACD,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,KAAK;gBACpC,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC1B,sCAAsC,CACzC,CACJ,CAAC;YAEN,IAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;;gBACpC,KAAuB,IAAA,KAAA,SAAA,MAAM,CAAC,UAAU,CAAA,gBAAA,4BAAE;oBAArC,IAAM,QAAQ,WAAA;oBACf,IAAM,GAAG,GAAa,QAAQ,CAAC,GAAG,CAAC;oBACnC,IAAM,KAAK,GAAa,QAAQ,CAAC,KAAK,CAAC;oBACvC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;iBACnC;;;;;;;;;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;IAjCD,CAiCC,CAAC;IAEN,IAAM,QAAQ,GACV,UAAC,GAAmB;QACpB,OAAA,UAAC,GAAa;YACd,OAAA,UAAC,KAAe,EAAE,KAAa;;gBAC3B,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK;oBAC3C,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAC5B,wCAAwC,CAC3C,CACJ,CAAC;qBACD,IACD,KAAK,CAAC,IAAI,CAAC,MAAM;oBACjB,KAAK,CAAC,IAAI,CAAC,MAAM;oBACjB,KAAK,CAAC,OAAO,CAAC,MAAM;oBAEpB,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAC5B,4BAA4B,CAC/B,CACJ,CAAC;gBAEN,IAAM,IAAI,GAAa,EAAE,CAAC;;oBAC1B,KAAmB,IAAA,KAAA,SAAA,KAAK,CAAC,OAAO,CAAA,gBAAA;wBAA3B,IAAM,IAAI,WAAA;wBAAmB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAAA;;;;;;;;;;oBAClD,KAAuB,IAAA,KAAA,SAAA,KAAK,CAAC,SAAS,CAAA,gBAAA;wBAAzB,IAAA,IAAI,gBAAA;wBAAuB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAAA;;;;;;;;;gBAExD,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;oBAC7D,IAAI,IAAI,CAAC,MAAM;wBACX,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAC5B,2BAA2B,CAC9B,CACJ,CAAC;yBACD,IAAI,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK;wBACjC,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAC5B,+BAA+B,CAClC,CACJ,CAAC;;wBACN,KAAoB,IAAA,KAAA,SAAA,KAAK,CAAC,MAAM,CAAA,gBAAA;4BAA3B,IAAM,KAAK,WAAA;4BACZ,IAAI,CAAC,IAAI,OAAT,IAAI,2BAAS,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,WAAE;yBAAA;;;;;;;;;;wBAC7D,KAAoB,IAAA,KAAA,SAAA,KAAK,CAAC,MAAM,CAAA,gBAAA;4BAA3B,IAAM,KAAK,WAAA;;gCACZ,KAAmB,IAAA,oBAAA,SAAA,KAAK,CAAC,QAAQ,CAAA,CAAA,gBAAA;oCAA5B,IAAM,IAAI,WAAA;oCACX,IAAI,CAAC,IAAI,OAAT,IAAI,2BAAS,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,WAAE;iCAAA;;;;;;;;;yBAAA;;;;;;;;;iBAC7D;qBAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM;oBACjD,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAC5B,kCAAkC,CACrC,CACJ,CAAC;gBAEN,IAAM,IAAI,GAAW,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;gBACxC,IAAI,IAAI,KAAK,CAAC;oBACV,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CACnD,CAAC;qBACD,IAAI,IAAI,GAAG,CAAC;oBACb,MAAM,IAAI,KAAK,CACX,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAC5B,2BAA2B,CAC9B,CACJ,CAAC;gBACN,OAAO,IAAI,CAAC;YAChB,CAAC;QA3DD,CA2DC;IA5DD,CA4DC,CAAC;IAEN,IAAM,MAAM,GACR,UAAC,OAAgC,EAAE,MAAiC;QACpE,OAAA,UAAC,IAAa,EAAE,MAAsB;YAClC,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAC/C;QAPD,CAOC;IARL,CAQK,CAAC;IAEV,IAAM,aAAa,GACf,UAAC,OAAgC,EAAE,MAAiC;QACpE,OAAA,UAAC,IAAa,EAAE,MAAsB;YAClC,IAAM,MAAM,GAAqB,mCAAgB,CAAC,KAAK,uBAChD,OAAO,KACV,OAAO,EAAE;oBACL,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;iBACf,IACH,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YACxB,IAAM,MAAM,GAAG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAErD,IAAM,QAAQ,GAAG,IAAI,oCAAgB,EAAE,CAAC;YACxC,IAAM,UAAU,GAAmB;gBAC/B,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,MAAM,CAAC,UAAU;qBACZ,MAAM,CAAC,UAAC,IAAI,IAAK,OAAC,IAAI,CAAC,GAAW,CAAC,aAAa,EAAE,EAAjC,CAAiC,CAAC;qBACnD,GAAG,CAAC,UAAC,IAAI;oBACN,OAAA,uBAAuB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;gBAAvC,CAAuC,CAC1C,EACL,IAAI,CACP,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE;oBAC/C,MAAM;iBACT,CAAC,CACL;aACJ,CAAC;YAEF,OAAO,oBAAE,CAAC,OAAO,CAAC,WAAW,wCACrB,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAK,UAAU,WAC3C,IAAI,CACP,CAAC;QACN,CAAC;IAlCD,CAkCC,CAAC;IAEN,IAAM,uBAAuB,GACzB,UAAC,QAA0B;QAC3B,OAAA,UAAC,QAA0B;YACvB,IAAM,GAAG,GAAW,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAW,CAAC;YACnE,IAAM,KAAK,GAAa,QAAQ,CAAC,KAAK,CAAC;YAEjC,IAAA,KAAA,OAA6C,KAAK,CAAC,OAAO;iBAC3D,MAAM;gBACP,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;gBAC3B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;oBACxB,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,KAAK,CAAC;oBACnC,CAAC,CAAC,CAAC;;wBACG,IAAM,IAAI,GACN,MAAA,MAAA,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,0CAAE,KAAK,mCAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;wBAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM;4BACtB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;4BACzB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC1C,CAAC,CAAC,EAAE,IAAA,EAXH,IAAI,QAAA,EAAE,OAAO,QAWV,CAAC;YACX,OAAO,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACtC,GAAG,EACH,OAAO;gBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CACpB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAC3C,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CACxC,CACJ,CAAC,KAAK,CAAC,EACR,SAAS,EACT;oBACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EACrC,SAAS,EACT,SAAS,EACT,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CACxB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CACtC,CACJ;iBACJ,CACJ;gBACH,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CACxC,CACJ,CACV,CAAC;QACN,CAAC;IAjDD,CAiDC,CAAC;IAEN,IAAM,YAAY,GACd,UAAC,QAA0B;QAC3B,OAAA,UAAC,IAAoB;YACrB,OAAA,UAAC,KAAoB;gBACjB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE;oBAC3D,KAAK;iBACR,CAAC;YAFF,CAEE;QAHN,CAGM;IAJN,CAIM,CAAC;AACf,CAAC,EA5NgB,oBAAoB,oCAApB,oBAAoB,QA4NpC;AAED,IAAU,aAAa,CAStB;AATD,WAAU,aAAa;IACN,oBAAM,GAAG,UAAC,IAAc,IAAK,OAAA,UAAC,OAAe;QACtD,OAAA,0CAAmC,IAAI,CAAC,OAAO,EAAE,kBAAQ,OAAO,CAAE;IAAlE,CAAkE,EAD5B,CAC4B,CAAC;IAE1D,sBAAQ,GACjB,UAAC,GAAmB,IAAK,OAAA,UAAC,GAAa,IAAK,OAAA,UAAC,OAAe;QACxD,OAAA,0CACI,GAAG,CAAC,IAAI,2BACK,GAAG,CAAC,OAAO,EAAE,gBAAM,OAAO,CAAE;IAF7C,CAE6C,EAHL,CAGK,EAHxB,CAGwB,CAAC;AAC1D,CAAC,EATS,aAAa,KAAb,aAAa,QAStB"}
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.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.6"
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
- decode_regular_property(importer)(prop),
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,