typia 5.5.4 → 5.5.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.
@@ -78,7 +78,7 @@ var TypiaSetupWizard;
78
78
  // INSTALL TYPESCRIPT COMPILERS
79
79
  pack.install({ dev: true, modulo: "ts-patch", version: "latest" });
80
80
  pack.install({ dev: true, modulo: "ts-node", version: "latest" });
81
- pack.install({ dev: true, modulo: "typescript", version: "5.3.2" });
81
+ pack.install({ dev: true, modulo: "typescript", version: "5.4.2" });
82
82
  (_a = args.project) !== null && _a !== void 0 ? _a : (args.project = (function () {
83
83
  var runner = pack.manager === "npm" ? "npx" : pack.manager;
84
84
  CommandExecutor_1.CommandExecutor.run("".concat(runner, " tsc --init"));
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __values = (this && this.__values) || function(o) {
3
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
+ if (m) return m.call(o);
5
+ if (o && typeof o.length === "number") return {
6
+ next: function () {
7
+ if (o && i >= o.length) o = void 0;
8
+ return { value: o && o[i++], done: !o };
9
+ }
10
+ };
11
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
+ };
2
13
  Object.defineProperty(exports, "__esModule", { value: true });
3
14
  exports.iterate_metadata_array = void 0;
4
15
  var MetadataArray_1 = require("../../../schemas/metadata/MetadataArray");
@@ -9,8 +20,12 @@ var iterate_metadata_array = function (checker) {
9
20
  return function (collection) {
10
21
  return function (errors) {
11
22
  return function (meta, type, explore) {
12
- if (!checker.isArrayType(type))
23
+ if (checker.isArrayType(type) === false) {
24
+ var array = find_array_extended(checker)(new Map())(type);
25
+ if (array !== null)
26
+ return (0, exports.iterate_metadata_array)(checker)(options)(collection)(errors)(meta, array, explore);
13
27
  return false;
28
+ }
14
29
  var arrayType = (0, emplace_metadata_array_type_1.emplace_metadata_array_type)(checker)(options)(collection)(errors)(type, meta.nullable, explore);
15
30
  ArrayUtil_1.ArrayUtil.add(meta.arrays, MetadataArray_1.MetadataArray.create({
16
31
  type: arrayType,
@@ -23,4 +38,42 @@ var iterate_metadata_array = function (checker) {
23
38
  };
24
39
  };
25
40
  exports.iterate_metadata_array = iterate_metadata_array;
41
+ var find_array_extended = function (checker) {
42
+ return function (memory) {
43
+ return function (type) {
44
+ var cached = memory.get(type);
45
+ if (cached !== undefined)
46
+ return null;
47
+ memory.set(type, null);
48
+ var res = (function () {
49
+ var e_1, _a;
50
+ var _b;
51
+ if (type.isClassOrInterface() === false)
52
+ return null;
53
+ try {
54
+ for (var _c = __values((_b = type.resolvedBaseTypes) !== null && _b !== void 0 ? _b : []), _d = _c.next(); !_d.done; _d = _c.next()) {
55
+ var t = _d.value;
56
+ if (checker.isArrayType(t))
57
+ return t;
58
+ else {
59
+ var res_1 = find_array_extended(checker)(memory)(t);
60
+ if (res_1 !== null)
61
+ return res_1;
62
+ }
63
+ }
64
+ }
65
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
66
+ finally {
67
+ try {
68
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
69
+ }
70
+ finally { if (e_1) throw e_1.error; }
71
+ }
72
+ return null;
73
+ })();
74
+ memory.set(type, res);
75
+ return res;
76
+ };
77
+ };
78
+ };
26
79
  //# sourceMappingURL=iterate_metadata_array.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_array.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_array.ts"],"names":[],"mappings":";;;AAGA,yEAAwE;AAGxE,sDAAqD;AAIrD,6EAA4E;AAErE,IAAM,sBAAsB,GACjC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,MAAgC;gBACjC,OAAA,UACE,IAAc,EACd,IAAa,EACb,OAAiC;oBAEjC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;wBAAE,OAAO,KAAK,CAAC;oBAE7C,IAAM,SAAS,GAAsB,IAAA,yDAA2B,EAAC,OAAO,CAAC,CACvE,OAAO,CACR,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACpD,qBAAS,CAAC,GAAG,CACX,IAAI,CAAC,MAAM,EACX,6BAAa,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,EAAE;qBACT,CAAC,EACF,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAjC,CAAiC,CAC5C,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;YAnBD,CAmBC;QApBD,CAoBC;IArBD,CAqBC;AAtBD,CAsBC,CAAC;AAxBS,QAAA,sBAAsB,0BAwB/B"}
1
+ {"version":3,"file":"iterate_metadata_array.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,yEAAwE;AAGxE,sDAAqD;AAIrD,6EAA4E;AAErE,IAAM,sBAAsB,GACjC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,MAAgC;gBACjC,OAAA,UACE,IAAc,EACd,IAAa,EACb,OAAiC;oBAEjC,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;wBACxC,IAAM,KAAK,GAAmB,mBAAmB,CAAC,OAAO,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CACnE,IAAI,CACL,CAAC;wBACF,IAAI,KAAK,KAAK,IAAI;4BAChB,OAAO,IAAA,8BAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CACjE,IAAI,EACJ,KAAK,EACL,OAAO,CACR,CAAC;wBACJ,OAAO,KAAK,CAAC;oBACf,CAAC;oBAED,IAAM,SAAS,GAAsB,IAAA,yDAA2B,EAAC,OAAO,CAAC,CACvE,OAAO,CACR,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACpD,qBAAS,CAAC,GAAG,CACX,IAAI,CAAC,MAAM,EACX,6BAAa,CAAC,MAAM,CAAC;wBACnB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,EAAE;qBACT,CAAC,EACF,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAjC,CAAiC,CAC5C,CAAC;oBACF,OAAO,IAAI,CAAC;gBACd,CAAC;YA9BD,CA8BC;QA/BD,CA+BC;IAhCD,CAgCC;AAjCD,CAiCC,CAAC;AAnCS,QAAA,sBAAsB,0BAmC/B;AAEJ,IAAM,mBAAmB,GACvB,UAAC,OAAuB;IACxB,OAAA,UAAC,MAAoC;QACrC,OAAA,UAAC,IAAa;YACZ,IAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YAEtC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACvB,IAAM,GAAG,GAAmB,CAAC;;;gBAC3B,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,KAAK;oBAAE,OAAO,IAAI,CAAC;;oBACrD,KAAgB,IAAA,KAAA,SAAA,MAAA,IAAI,CAAC,iBAAiB,mCAAI,EAAE,CAAA,gBAAA;wBAAvC,IAAM,CAAC,WAAA;wBACV,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;4BAAE,OAAO,CAAC,CAAC;6BAChC,CAAC;4BACJ,IAAM,KAAG,GAAmB,mBAAmB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;4BACpE,IAAI,KAAG,KAAK,IAAI;gCAAE,OAAO,KAAG,CAAC;wBAC/B,CAAC;qBAAA;;;;;;;;;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,EAAE,CAAC;YACL,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;IAjBD,CAiBC;AAlBD,CAkBC,CAAC"}
@@ -19,16 +19,6 @@ var iterate_metadata_object = function (checker) {
19
19
  !type.isIntersection() &&
20
20
  type.intrinsicName !== "object")
21
21
  return false;
22
- // else if (
23
- // type.isIntersection() &&
24
- // !type.types.every(
25
- // (child) =>
26
- // (child.getFlags() & ts.TypeFlags.Object) !== 0 &&
27
- // !checker.isArrayType(child) &&
28
- // !checker.isTupleType(child),
29
- // )
30
- // )
31
- // return false;
32
22
  }
33
23
  var obj = (0, emplace_metadata_object_1.emplace_metadata_object)(checker)(options)(collection)(errors)(type, meta.nullable);
34
24
  ArrayUtil_1.ArrayUtil.add(meta.objects, obj, function (elem) { return elem.name === obj.name; });
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_object.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAK5B,sDAAqD;AAIrD,qEAAoE;AAE7D,IAAM,uBAAuB,GAClC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,MAAgC;gBACjC,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,MAAuB;oBAAvB,uBAAA,EAAA,cAAuB;oBACrD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;wBACrB,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;wBACtE,IACE,CAAC,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,MAAM,CAAC;4BAC5B,CAAC,IAAI,CAAC,cAAc,EAAE;4BACrB,IAAY,CAAC,aAAa,KAAK,QAAQ;4BAExC,OAAO,KAAK,CAAC;wBACf,YAAY;wBACZ,+BAA+B;wBAC/B,yBAAyB;wBACzB,qBAAqB;wBACrB,gEAAgE;wBAChE,6CAA6C;wBAC7C,2CAA2C;wBAC3C,QAAQ;wBACR,IAAI;wBACJ,oBAAoB;oBACtB,CAAC;oBAED,IAAM,GAAG,GAAmB,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACnE,UAAU,CACX,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/B,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAtB,CAAsB,CAAC,CAAC;oBACnE,OAAO,IAAI,CAAC;gBACd,CAAC;YA1BD,CA0BC;QA3BD,CA2BC;IA5BD,CA4BC;AA7BD,CA6BC,CAAC;AA/BS,QAAA,uBAAuB,2BA+BhC"}
1
+ {"version":3,"file":"iterate_metadata_object.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAK5B,sDAAqD;AAIrD,qEAAoE;AAE7D,IAAM,uBAAuB,GAClC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,MAAgC;gBACjC,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,MAAuB;oBAAvB,uBAAA,EAAA,cAAuB;oBACrD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;wBACrB,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;wBACtE,IACE,CAAC,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,MAAM,CAAC;4BAC5B,CAAC,IAAI,CAAC,cAAc,EAAE;4BACrB,IAAY,CAAC,aAAa,KAAK,QAAQ;4BAExC,OAAO,KAAK,CAAC;oBACjB,CAAC;oBAED,IAAM,GAAG,GAAmB,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACnE,UAAU,CACX,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/B,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAtB,CAAsB,CAAC,CAAC;oBACnE,OAAO,IAAI,CAAC;gBACd,CAAC;YAhBD,CAgBC;QAjBD,CAiBC;IAlBD,CAkBC;AAnBD,CAmBC,CAAC;AArBS,QAAA,uBAAuB,2BAqBhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.5.4",
3
+ "version": "5.5.5",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -74,14 +74,14 @@
74
74
  "typescript": ">=4.8.0 <5.5.0"
75
75
  },
76
76
  "devDependencies": {
77
- "@trivago/prettier-plugin-sort-imports": "^3.3.0",
77
+ "@trivago/prettier-plugin-sort-imports": "^4.3.0",
78
78
  "@types/inquirer": "^8.2.5",
79
79
  "@types/node": "^18.15.12",
80
80
  "@types/ts-expose-internals": "npm:ts-expose-internals@5.4.2",
81
81
  "@typescript-eslint/eslint-plugin": "^7.1.1",
82
82
  "@typescript-eslint/parser": "^7.1.1",
83
83
  "chalk": "^4.0.0",
84
- "prettier": "^2.6.2",
84
+ "prettier": "^3.2.5",
85
85
  "rimraf": "^5.0.5",
86
86
  "suppress-warnings": "^1.0.2",
87
87
  "ts-node": "^10.9.2",
@@ -23,7 +23,7 @@ export namespace TypiaSetupWizard {
23
23
  // INSTALL TYPESCRIPT COMPILERS
24
24
  pack.install({ dev: true, modulo: "ts-patch", version: "latest" });
25
25
  pack.install({ dev: true, modulo: "ts-node", version: "latest" });
26
- pack.install({ dev: true, modulo: "typescript", version: "5.3.2" });
26
+ pack.install({ dev: true, modulo: "typescript", version: "5.4.2" });
27
27
  args.project ??= (() => {
28
28
  const runner: string = pack.manager === "npm" ? "npx" : pack.manager;
29
29
  CommandExecutor.run(`${runner} tsc --init`);
@@ -20,7 +20,18 @@ export const iterate_metadata_array =
20
20
  type: ts.Type,
21
21
  explore: MetadataFactory.IExplore,
22
22
  ): boolean => {
23
- if (!checker.isArrayType(type)) return false;
23
+ if (checker.isArrayType(type) === false) {
24
+ const array: ts.Type | null = find_array_extended(checker)(new Map())(
25
+ type,
26
+ );
27
+ if (array !== null)
28
+ return iterate_metadata_array(checker)(options)(collection)(errors)(
29
+ meta,
30
+ array,
31
+ explore,
32
+ );
33
+ return false;
34
+ }
24
35
 
25
36
  const arrayType: MetadataArrayType = emplace_metadata_array_type(checker)(
26
37
  options,
@@ -35,3 +46,25 @@ export const iterate_metadata_array =
35
46
  );
36
47
  return true;
37
48
  };
49
+
50
+ const find_array_extended =
51
+ (checker: ts.TypeChecker) =>
52
+ (memory: Map<ts.Type, ts.Type | null>) =>
53
+ (type: ts.Type): ts.Type | null => {
54
+ const cached = memory.get(type);
55
+ if (cached !== undefined) return null;
56
+
57
+ memory.set(type, null);
58
+ const res: ts.Type | null = (() => {
59
+ if (type.isClassOrInterface() === false) return null;
60
+ for (const t of type.resolvedBaseTypes ?? [])
61
+ if (checker.isArrayType(t)) return t;
62
+ else {
63
+ const res: ts.Type | null = find_array_extended(checker)(memory)(t);
64
+ if (res !== null) return res;
65
+ }
66
+ return null;
67
+ })();
68
+ memory.set(type, res);
69
+ return res;
70
+ };
@@ -23,16 +23,6 @@ export const iterate_metadata_object =
23
23
  (type as any).intrinsicName !== "object"
24
24
  )
25
25
  return false;
26
- // else if (
27
- // type.isIntersection() &&
28
- // !type.types.every(
29
- // (child) =>
30
- // (child.getFlags() & ts.TypeFlags.Object) !== 0 &&
31
- // !checker.isArrayType(child) &&
32
- // !checker.isTupleType(child),
33
- // )
34
- // )
35
- // return false;
36
26
  }
37
27
 
38
28
  const obj: MetadataObject = emplace_metadata_object(checker)(options)(