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 +1 -1
- package/lib/factories/internal/metadata/emend_metadata_atomics.js +11 -3
- package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
- package/lib/programmers/helpers/AtomicPredicator.js +2 -3
- package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
- package/package.json +1 -1
- package/src/factories/internal/metadata/emend_metadata_atomics.ts +14 -5
- package/src/programmers/helpers/AtomicPredicator.ts +1 -2
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/
|
|
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"; })
|
|
56
|
-
|
|
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;;;
|
|
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.
|
|
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.
|
|
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,
|
|
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
|
@@ -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.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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.
|
|
21
|
+
!ArrayUtil.has(meta.natives, (native) => native.toLowerCase() === "string");
|
|
23
22
|
}
|
|
24
23
|
|
|
25
24
|
const LIKE = new Set(["boolean", "bigint", "number", "string"]);
|