typia 5.4.13 → 5.4.14-dev.20240229

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/README.md CHANGED
@@ -95,5 +95,5 @@ Check out the document in the [website](https://typia.io/docs/):
95
95
  - [NestJS](https://typia.io/docs/utilization/nestjs/)
96
96
  - [Prisma](https://typia.io/docs/utilization/prisma/)
97
97
  - [tRPC](https://typia.io/docs/utilization/trpc/)
98
- - [⇲ Benchmark Result](https://github.com/samchon/typia/tree/master/packages/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
98
+ - [⇲ Benchmark Result](https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
99
99
  - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22474)
@@ -17,6 +17,8 @@ var ArrayUtil_1 = require("../../../utils/ArrayUtil");
17
17
  var emend_metadata_atomics = function (meta) {
18
18
  var e_1, _a;
19
19
  var _loop_1 = function (a) {
20
+ if (is_not_pure(a))
21
+ return "continue";
20
22
  var index = meta.constants.findIndex(function (c) { return c.type === a.type; });
21
23
  if (index !== -1)
22
24
  meta.constants.splice(index, 1);
@@ -51,9 +53,15 @@ var emend_metadata_atomics = function (meta) {
51
53
  }
52
54
  }
53
55
  // TEMPLATE
54
- if (meta.templates.length &&
55
- meta.atomics.find(function (a) { return a.type === "string"; }) !== undefined)
56
- meta.templates.splice(0, meta.templates.length);
56
+ if (meta.templates.length) {
57
+ var atomic = meta.atomics.find(function (a) { return a.type === "string"; });
58
+ if (atomic !== undefined && false === is_not_pure(atomic))
59
+ meta.templates.splice(0, meta.templates.length);
60
+ }
57
61
  };
58
62
  exports.emend_metadata_atomics = emend_metadata_atomics;
63
+ var is_not_pure = function (atomic) {
64
+ return atomic.tags.length !== 0 &&
65
+ atomic.tags.every(function (row) { return row.length !== 0 && row.every(function (c) { var _a; return !!((_a = c.validate) === null || _a === void 0 ? void 0 : _a.length); }); });
66
+ };
59
67
  //# sourceMappingURL=emend_metadata_atomics.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emend_metadata_atomics.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/emend_metadata_atomics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,2EAA0E;AAE1E,sDAAqD;AAE9C,IAAM,sBAAsB,GAAG,UAAC,IAAc;;4BAExC,CAAC;QACV,IAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAjB,CAAiB,CAAC,CAAC;QACzE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;;;QAHpD,UAAU;QACV,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;YAAvB,IAAM,CAAC,WAAA;oBAAD,CAAC;SAGX;;;;;;;;;IAED,UAAU;IACV,CAAC;QACC,IAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,SAAS,EAApB,CAAoB,CAAC,CAAC;QAC5E,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,IAAM,MAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;YACjD,qBAAS,CAAC,IAAI,CACZ,IAAI,CAAC,OAAO,EACZ,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,SAAS,EAApB,CAAoB,EAC3B;;gBACE,OAAA,+BAAc,CAAC,MAAM,CAAC;oBACpB,IAAI,EAAE,SAAkB;oBACxB,IAAI,EAAE,MAAA,MAAI,CAAC,IAAI,mCAAI,EAAE;iBACtB,CAAC,CAAA;aAAA,CACL,CAAC;YACF,MAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,CAAC;IACH,CAAC;IAED,WAAW;IACX,IACE,IAAI,CAAC,SAAS,CAAC,MAAM;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC,KAAK,SAAS;QAE3D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AA/BW,QAAA,sBAAsB,0BA+BjC"}
1
+ {"version":3,"file":"emend_metadata_atomics.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/emend_metadata_atomics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,2EAA0E;AAE1E,sDAAqD;AAE9C,IAAM,sBAAsB,GAAG,UAAC,IAAc;;4BAExC,CAAC;QACV,IAAI,WAAW,CAAC,CAAC,CAAC;8BAAW;QAC7B,IAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAjB,CAAiB,CAAC,CAAC;QACzE,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;;;QAJpD,UAAU;QACV,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;YAAvB,IAAM,CAAC,WAAA;oBAAD,CAAC;SAIX;;;;;;;;;IAED,UAAU;IACV,CAAC;QACC,IAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,SAAS,EAApB,CAAoB,CAAC,CAAC;QAC5E,IAAI,KAAK,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,IAAM,MAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;YACjD,qBAAS,CAAC,IAAI,CACZ,IAAI,CAAC,OAAO,EACZ,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,SAAS,EAApB,CAAoB,EAC3B;;gBACE,OAAA,+BAAc,CAAC,MAAM,CAAC;oBACpB,IAAI,EAAE,SAAkB;oBACxB,IAAI,EAAE,MAAA,MAAI,CAAC,IAAI,mCAAI,EAAE;iBACtB,CAAC,CAAA;aAAA,CACL,CAAC;YACF,MAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACxB,CAAC;IACH,CAAC;IAED,WAAW;IACX,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;QAC1B,IAAM,MAAM,GAA+B,IAAI,CAAC,OAAO,CAAC,IAAI,CAC1D,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAC3B,CAAC;QACF,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,WAAW,CAAC,MAAM,CAAC;YACvD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AAlCW,QAAA,sBAAsB,0BAkCjC;AAEF,IAAM,WAAW,GAAG,UAAC,MAAsB;IACzC,OAAA,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,KAAK,CACf,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,UAAC,CAAC,YAAK,OAAA,CAAC,CAAC,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,CAAA,CAAA,EAAA,CAAC,EAA1D,CAA0D,CACpE;AAHD,CAGC,CAAC"}
@@ -6,8 +6,7 @@ var AtomicPredicator;
6
6
  (function (AtomicPredicator) {
7
7
  AtomicPredicator.constant = function (meta) {
8
8
  return function (name) {
9
- return !ArrayUtil_1.ArrayUtil.has(meta.atomics, function (a) { return a.type === name; }) &&
10
- !ArrayUtil_1.ArrayUtil.has(meta.natives, function (native) { return native.toLowerCase() === name; });
9
+ return !ArrayUtil_1.ArrayUtil.has(meta.natives, function (native) { return native.toLowerCase() === name; });
11
10
  };
12
11
  };
13
12
  AtomicPredicator.atomic = function (meta) {
@@ -17,7 +16,7 @@ var AtomicPredicator;
17
16
  };
18
17
  AtomicPredicator.native = function (name) { return LIKE.has(name.toLowerCase()); };
19
18
  AtomicPredicator.template = function (meta) {
20
- return !ArrayUtil_1.ArrayUtil.has(meta.atomics, function (a) { return a.type === "string"; });
19
+ return !ArrayUtil_1.ArrayUtil.has(meta.natives, function (native) { return native.toLowerCase() === "string"; });
21
20
  };
22
21
  })(AtomicPredicator || (exports.AtomicPredicator = AtomicPredicator = {}));
23
22
  var LIKE = new Set(["boolean", "bigint", "number", "string"]);
@@ -1 +1 @@
1
- {"version":3,"file":"AtomicPredicator.js","sourceRoot":"","sources":["../../../src/programmers/helpers/AtomicPredicator.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAElD,IAAiB,gBAAgB,CAgBhC;AAhBD,WAAiB,gBAAgB;IAClB,yBAAQ,GACnB,UAAC,IAAc;QACf,OAAA,UAAC,IAAoB;YACnB,OAAA,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,IAAI,EAAf,CAAe,CAAC;gBACpD,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAA7B,CAA6B,CAAC;QADvE,CACuE;IAFzE,CAEyE,CAAC;IAE/D,uBAAM,GACjB,UAAC,IAAc;QACf,OAAA,UAAC,IAAoB;YACnB,OAAA,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAA7B,CAA6B,CAAC;QAAvE,CAAuE;IADzE,CACyE,CAAC;IAE/D,uBAAM,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAA5B,CAA4B,CAAC;IAExD,yBAAQ,GAAG,UAAC,IAAc;QACrC,OAAA,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;IAAxD,CAAwD,CAAC;AAC7D,CAAC,EAhBgB,gBAAgB,gCAAhB,gBAAgB,QAgBhC;AAED,IAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"AtomicPredicator.js","sourceRoot":"","sources":["../../../src/programmers/helpers/AtomicPredicator.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAElD,IAAiB,gBAAgB,CAehC;AAfD,WAAiB,gBAAgB;IAClB,yBAAQ,GACnB,UAAC,IAAc;QACf,OAAA,UAAC,IAAoB;YACnB,OAAA,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAA7B,CAA6B,CAAC;QAAvE,CAAuE;IADzE,CACyE,CAAC;IAE/D,uBAAM,GACjB,UAAC,IAAc;QACf,OAAA,UAAC,IAAoB;YACnB,OAAA,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAA7B,CAA6B,CAAC;QAAvE,CAAuE;IADzE,CACyE,CAAC;IAE/D,uBAAM,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAA5B,CAA4B,CAAC;IAExD,yBAAQ,GAAG,UAAC,IAAc;QACrC,OAAA,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAjC,CAAiC,CAAC;IAA3E,CAA2E,CAAC;AAChF,CAAC,EAfgB,gBAAgB,gCAAhB,gBAAgB,QAehC;AAED,IAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.4.13",
3
+ "version": "5.4.14-dev.20240229",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -6,6 +6,7 @@ import { ArrayUtil } from "../../../utils/ArrayUtil";
6
6
  export const emend_metadata_atomics = (meta: Metadata) => {
7
7
  // ATOMICS
8
8
  for (const a of meta.atomics) {
9
+ if (is_not_pure(a)) continue;
9
10
  const index: number = meta.constants.findIndex((c) => c.type === a.type);
10
11
  if (index !== -1) meta.constants.splice(index, 1);
11
12
  }
@@ -29,9 +30,17 @@ export const emend_metadata_atomics = (meta: Metadata) => {
29
30
  }
30
31
 
31
32
  // TEMPLATE
32
- if (
33
- meta.templates.length &&
34
- meta.atomics.find((a) => a.type === "string") !== undefined
35
- )
36
- meta.templates.splice(0, meta.templates.length);
33
+ if (meta.templates.length) {
34
+ const atomic: MetadataAtomic | undefined = meta.atomics.find(
35
+ (a) => a.type === "string",
36
+ );
37
+ if (atomic !== undefined && false === is_not_pure(atomic))
38
+ meta.templates.splice(0, meta.templates.length);
39
+ }
37
40
  };
41
+
42
+ const is_not_pure = (atomic: MetadataAtomic): boolean =>
43
+ atomic.tags.length !== 0 &&
44
+ atomic.tags.every(
45
+ (row) => row.length !== 0 && row.every((c) => !!c.validate?.length),
46
+ );
@@ -8,7 +8,6 @@ export namespace AtomicPredicator {
8
8
  export const constant =
9
9
  (meta: Metadata) =>
10
10
  (name: Atomic.Literal): boolean =>
11
- !ArrayUtil.has(meta.atomics, (a) => a.type === name) &&
12
11
  !ArrayUtil.has(meta.natives, (native) => native.toLowerCase() === name);
13
12
 
14
13
  export const atomic =
@@ -19,7 +18,7 @@ export namespace AtomicPredicator {
19
18
  export const native = (name: string) => LIKE.has(name.toLowerCase());
20
19
 
21
20
  export const template = (meta: Metadata): boolean =>
22
- !ArrayUtil.has(meta.atomics, (a) => a.type === "string");
21
+ !ArrayUtil.has(meta.natives, (native) => native.toLowerCase() === "string");
23
22
  }
24
23
 
25
24
  const LIKE = new Set(["boolean", "bigint", "number", "string"]);