typia 4.0.12 → 4.0.13-dev.20230620

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.
@@ -24,11 +24,14 @@ var application_tuple = function (options) {
24
24
  return (0, application_schema_1.application_schema)(options)(false)(components)((_a = meta.rest) !== null && _a !== void 0 ? _a : meta)(__assign(__assign({}, attribute), { "x-typia-rest": i === tuple.elements.length - 1 && meta.rest !== null, "x-typia-required": meta.required, "x-typia-optional": meta.optional }));
25
25
  }) }, attribute), { minItems: !!((_a = tuple.elements.at(-1)) === null || _a === void 0 ? void 0 : _a.rest)
26
26
  ? tuple.elements.length - 1
27
- : tuple.elements.length, maxItems: !!((_b = tuple.elements.at(-1)) === null || _b === void 0 ? void 0 : _b.rest)
27
+ : tuple.elements.filter(function (x) { return !x.optional; }).length, maxItems: !!((_b = tuple.elements.at(-1)) === null || _b === void 0 ? void 0 : _b.rest)
28
28
  ? undefined
29
29
  : tuple.elements.length });
30
- if (options.purpose === "ajv" && !((_c = tuple.elements.at(-1)) === null || _c === void 0 ? void 0 : _c.rest))
31
- return schema;
30
+ if (options.purpose === "ajv")
31
+ if (tuple.elements.length === 0)
32
+ return schema;
33
+ else if (!((_c = tuple.elements.at(-1)) === null || _c === void 0 ? void 0 : _c.rest))
34
+ return schema;
32
35
  var wrapper = __assign(__assign({}, schema), { items: (0, application_schema_1.application_schema)(options)(false)(components)(tuple.elements.reduce(function (x, y) { var _a, _b; return Metadata_1.Metadata.merge((_a = x.rest) !== null && _a !== void 0 ? _a : x, (_b = y.rest) !== null && _b !== void 0 ? _b : y); }, Metadata_1.Metadata.initialize()))(tuple.recursive ? {} : attribute), "x-typia-tuple": schema, minItems: schema.minItems, maxItems: schema.maxItems });
33
36
  return wrapper;
34
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAAmD;AAMnD,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAoB;YACrB,OAAA,UACI,SAAiC;;gBAEjC,IAAM,MAAM,uBACR,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;;wBAC9B,OAAA,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAC1C,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CACpB,uBACM,SAAS,KACZ,cAAc,EACV,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EACzD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IACnC,CAAA;qBAAA,CACL,IACE,SAAS,KACZ,QAAQ,EAAE,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA;wBACnC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;wBAC3B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAC3B,QAAQ,EAAE,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA;wBACnC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAC9B,CAAC;gBACF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA;oBACzD,OAAO,MAAM,CAAC;gBAElB,IAAM,OAAO,yBACN,MAAM,KACT,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CACjD,KAAK,CAAC,QAAQ,CAAC,MAAM,CACjB,UAAC,CAAC,EAAE,CAAC,gBAAK,OAAA,mBAAQ,CAAC,KAAK,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,EAAE,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,CAAA,EAAA,EAClD,mBAAQ,CAAC,UAAU,EAAE,CACxB,CACJ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACnC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAC5B,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB,CAAC;QAxCD,CAwCC;IAzCD,CAyCC;AA1CD,CA0CC,CAAC;AA5CO,QAAA,iBAAiB,qBA4CxB"}
1
+ {"version":3,"file":"application_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,oDAAmD;AAMnD,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAoB;YACrB,OAAA,UACI,SAAiC;;gBAEjC,IAAM,MAAM,uBACR,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;;wBAC9B,OAAA,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAC1C,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CACpB,uBACM,SAAS,KACZ,cAAc,EACV,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EACzD,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IACnC,CAAA;qBAAA,CACL,IACE,SAAS,KACZ,QAAQ,EAAE,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA;wBACnC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;wBAC3B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,QAAQ,EAAX,CAAW,CAAC,CAAC,MAAM,EACtD,QAAQ,EAAE,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA;wBACnC,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAC9B,CAAC;gBACF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;oBACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;wBAAE,OAAO,MAAM,CAAC;yBAC1C,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAA;wBAAE,OAAO,MAAM,CAAC;gBAEzD,IAAM,OAAO,yBACN,MAAM,KACT,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CACjD,KAAK,CAAC,QAAQ,CAAC,MAAM,CACjB,UAAC,CAAC,EAAE,CAAC,gBAAK,OAAA,mBAAQ,CAAC,KAAK,CAAC,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,EAAE,MAAA,CAAC,CAAC,IAAI,mCAAI,CAAC,CAAC,CAAA,EAAA,EAClD,mBAAQ,CAAC,UAAU,EAAE,CACxB,CACJ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EACnC,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAC5B,CAAC;gBACF,OAAO,OAAO,CAAC;YACnB,CAAC;QAzCD,CAyCC;IA1CD,CA0CC;AA3CD,CA2CC,CAAC;AA7CO,QAAA,iBAAiB,qBA6CxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "4.0.12",
3
+ "version": "4.0.13-dev.20230620",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -32,13 +32,14 @@ export const application_tuple =
32
32
  ...attribute,
33
33
  minItems: !!tuple.elements.at(-1)?.rest
34
34
  ? tuple.elements.length - 1
35
- : tuple.elements.length,
35
+ : tuple.elements.filter((x) => !x.optional).length,
36
36
  maxItems: !!tuple.elements.at(-1)?.rest
37
37
  ? undefined
38
38
  : tuple.elements.length,
39
39
  };
40
- if (options.purpose === "ajv" && !tuple.elements.at(-1)?.rest)
41
- return schema;
40
+ if (options.purpose === "ajv")
41
+ if (tuple.elements.length === 0) return schema;
42
+ else if (!tuple.elements.at(-1)?.rest) return schema;
42
43
 
43
44
  const wrapper: IJsonSchema.IArray = {
44
45
  ...schema,