typia 4.0.8 → 4.0.9-dev.20230614
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/lib/factories/internal/metadata/iterate_metadata.js +2 -2
- package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/{iterate_metadata_definition.d.ts → iterate_metadata_alias.d.ts} +1 -1
- package/lib/factories/internal/metadata/{iterate_metadata_definition.js → iterate_metadata_alias.js} +4 -4
- package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js +13 -2
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
- package/lib/programmers/helpers/PruneJoiner.js +1 -1
- package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
- package/package.json +5 -5
- package/src/factories/internal/metadata/emend_metadata_atomics.ts +33 -33
- package/src/factories/internal/metadata/explore_metadata.ts +37 -37
- package/src/factories/internal/metadata/iterate_metadata.ts +85 -85
- package/src/factories/internal/metadata/{iterate_metadata_definition.ts → iterate_metadata_alias.ts} +1 -1
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +5 -4
- package/src/factories/internal/metadata/iterate_metadata_resolve.ts +38 -38
- package/src/factories/internal/metadata/iterate_metadata_union.ts +24 -24
- package/src/programmers/StringifyProgrammer.ts +983 -983
- package/src/programmers/helpers/PruneJoiner.ts +2 -3
- package/lib/factories/internal/metadata/iterate_metadata_definition.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.iterate_metadata = void 0;
|
|
4
|
+
var iterate_metadata_alias_1 = require("./iterate_metadata_alias");
|
|
4
5
|
var iterate_metadata_array_1 = require("./iterate_metadata_array");
|
|
5
6
|
var iterate_metadata_atomic_1 = require("./iterate_metadata_atomic");
|
|
6
7
|
var iterate_metadata_coalesce_1 = require("./iterate_metadata_coalesce");
|
|
7
8
|
var iterate_metadata_constant_1 = require("./iterate_metadata_constant");
|
|
8
|
-
var iterate_metadata_definition_1 = require("./iterate_metadata_definition");
|
|
9
9
|
var iterate_metadata_intersection_1 = require("./iterate_metadata_intersection");
|
|
10
10
|
var iterate_metadata_map_1 = require("./iterate_metadata_map");
|
|
11
11
|
var iterate_metadata_native_1 = require("./iterate_metadata_native");
|
|
@@ -22,7 +22,7 @@ var iterate_metadata = function (checker) {
|
|
|
22
22
|
if (type.isTypeParameter() === true)
|
|
23
23
|
throw new Error("Error on typia.MetadataFactory.generate(): non-specified generic argument on ".concat(meta.getName(), "."));
|
|
24
24
|
if ((aliased !== true &&
|
|
25
|
-
(0,
|
|
25
|
+
(0, iterate_metadata_alias_1.iterate_metadata_alias)(checker)(options)(collection)(meta, type)) ||
|
|
26
26
|
(0, iterate_metadata_intersection_1.iterate_metadata_intersection)(checker)(options)(collection)(meta, type, resolved, aliased) ||
|
|
27
27
|
(0, iterate_metadata_union_1.iterate_metadata_union)(checker)(options)(collection)(meta, type, resolved) ||
|
|
28
28
|
(0, iterate_metadata_resolve_1.iterate_metadata_resolve)(checker)(options)(collection)(meta, type, resolved, aliased))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate_metadata.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata.ts"],"names":[],"mappings":";;;AAOA,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AACxE,
|
|
1
|
+
{"version":3,"file":"iterate_metadata.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata.ts"],"names":[],"mappings":";;;AAOA,mEAAkE;AAClE,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AACxE,iFAAgF;AAChF,+DAA8D;AAC9D,qEAAoE;AACpE,qEAAoE;AACpE,uEAAsE;AACtE,+DAA8D;AAC9D,yEAAwE;AACxE,mEAAkE;AAClE,mEAAkE;AAE3D,IAAM,gBAAgB,GACzB,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UACI,IAAc,EACd,IAAa,EACb,QAAiB,EACjB,OAAgB;gBAEhB,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI;oBAC/B,MAAM,IAAI,KAAK,CACX,uFAAgF,IAAI,CAAC,OAAO,EAAE,MAAG,CACpG,CAAC;gBAEN,IACI,CAAC,OAAO,KAAK,IAAI;oBACb,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,CACP,CAAC;oBACN,IAAA,6DAA6B,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACvD,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,CACV;oBACD,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,QAAQ,CACX;oBACD,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAClD,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,CACV;oBAED,OAAO;gBAGX,IAAA,qDAAyB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACjC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBACvD,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACnD,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,iDAAuB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACnC,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAoB,CACvB;oBACD,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC5C,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACjD,IAAI,EACJ,IAAI,EACJ,QAAQ,CACX,CAAC;YACV,CAAC;QA1DD,CA0DC;IA3DD,CA2DC;AA5DD,CA4DC,CAAC;AA9DO,QAAA,gBAAgB,oBA8DvB"}
|
|
@@ -2,4 +2,4 @@ import ts from "typescript";
|
|
|
2
2
|
import { Metadata } from "../../../metadata/Metadata";
|
|
3
3
|
import { MetadataCollection } from "../../MetadataCollection";
|
|
4
4
|
import { MetadataFactory } from "../../MetadataFactory";
|
|
5
|
-
export declare const
|
|
5
|
+
export declare const iterate_metadata_alias: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.Type) => boolean;
|
package/lib/factories/internal/metadata/{iterate_metadata_definition.js → iterate_metadata_alias.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.iterate_metadata_alias = void 0;
|
|
4
4
|
var ArrayUtil_1 = require("../../../utils/ArrayUtil");
|
|
5
5
|
var emplace_metadata_definition_1 = require("./emplace_metadata_definition");
|
|
6
|
-
var
|
|
6
|
+
var iterate_metadata_alias = function (checker) {
|
|
7
7
|
return function (options) {
|
|
8
8
|
return function (collection) {
|
|
9
9
|
return function (meta, type) {
|
|
@@ -20,5 +20,5 @@ var iterate_metadata_definition = function (checker) {
|
|
|
20
20
|
};
|
|
21
21
|
};
|
|
22
22
|
};
|
|
23
|
-
exports.
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
exports.iterate_metadata_alias = iterate_metadata_alias;
|
|
24
|
+
//# sourceMappingURL=iterate_metadata_alias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_metadata_alias.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_alias.ts"],"names":[],"mappings":";;;AAKA,sDAAqD;AAIrD,6EAA4E;AAErE,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa;;gBAC1B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;oBAC1D,OAAO,KAAK,CAAC;gBAEjB,IAAM,IAAI,GACN,MAAA,IAAI,CAAC,WAAW,CAAC,YAAY,0CAAG,CAAC,CAAC,CAAC;gBACvC,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,KAAK,CAAC;gBAGrC,IAAM,KAAK,GAAkB,IAAA,yDAA2B,EAAC,OAAO,CAAC,CAC7D,OAAO,CACV,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAxB,CAAwB,CAAC,CAAC;gBACvE,OAAO,IAAI,CAAC;YAChB,CAAC;QAdD,CAcC;IAfD,CAeC;AAhBD,CAgBC,CAAC;AAlBO,QAAA,sBAAsB,0BAkB7B"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
2
13
|
var __read = (this && this.__read) || function (o, n) {
|
|
3
14
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
15
|
if (!m) return o;
|
|
@@ -39,7 +50,7 @@ var iterate_metadata_intersection = function (checker) {
|
|
|
39
50
|
return false;
|
|
40
51
|
var fakeCollection = new MetadataCollection_1.MetadataCollection();
|
|
41
52
|
var children = __spreadArray([], __read(new Map(type.types.map(function (t) {
|
|
42
|
-
var m = (0, explore_metadata_1.explore_metadata)(checker)(options)(fakeCollection)(t, resolved);
|
|
53
|
+
var m = (0, explore_metadata_1.explore_metadata)(checker)(__assign(__assign({}, options), { absorb: true }))(fakeCollection)(t, resolved);
|
|
43
54
|
return [m.getName(), m];
|
|
44
55
|
})).values()), false);
|
|
45
56
|
if (children.length === 1) {
|
|
@@ -72,7 +83,7 @@ var iterate_metadata_intersection = function (checker) {
|
|
|
72
83
|
};
|
|
73
84
|
exports.iterate_metadata_intersection = iterate_metadata_intersection;
|
|
74
85
|
var message = function (children) {
|
|
75
|
-
return "Error on typia.MetadataFactory.analyze():
|
|
86
|
+
return "Error on typia.MetadataFactory.analyze(): nonsensible intersection type detected - ".concat(children
|
|
76
87
|
.map(function (c) { return c.getName(); })
|
|
77
88
|
.join(" & "), ".");
|
|
78
89
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate_metadata_intersection.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_intersection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"iterate_metadata_intersection.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_intersection.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ var PruneJoiner;
|
|
|
64
64
|
})(PruneJoiner || (exports.PruneJoiner = PruneJoiner = {}));
|
|
65
65
|
var iterate_dynamic_properties = function (props) {
|
|
66
66
|
return function (input) {
|
|
67
|
-
return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.
|
|
67
|
+
return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.entries"), undefined, [input]))("forEach"), undefined, [
|
|
68
68
|
typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
69
69
|
IdentifierFactory_1.IdentifierFactory.parameter(typescript_1.default.factory.createArrayBindingPattern(["key", "value"].map(function (l) {
|
|
70
70
|
return typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier(l), undefined);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PruneJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/PruneJoiner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,mDAAkD;AAElD,uEAAsE;AACtE,+EAA8E;AAG9E,IAAiB,WAAW,CAmD3B;AAnDD,WAAiB,WAAW;IACX,kBAAM,GAAG,UAClB,KAAoB,EACpB,OAA2B,EAC3B,GAAmB;QAGnB,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAzB,CAAyB,CAAC,CAAC;QACrE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAA1B,CAA0B,CAAC,CAAC;QAEtE,IAAM,UAAU,GAAmB,qBAAS,CAAC,IAAI,CAC7C,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK;YACd,OAAA,oBAAE,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxB,CAAC,0BAAK,KAAK,CAAC,UAAU,CAAC,UAAU,UACjC,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAF9D,CAE8D,CACjE,CACJ,CAAC;QACF,IAAI,OAAO,CAAC,MAAM;YACd,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,0BAA0B,CAAC,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,CAAC,CAAC,KAAK,CAAC,CAC1D,CACJ,CAAC;QAEN,UAAU,CAAC,IAAI,CAAC,IAAA,iDAAuB,EAAC,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC;IAEW,iBAAK,GAAG,UAAC,KAAoB,EAAE,KAAuB;QAC/D,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAC1C,SAAS,EACT,CAAC,KAAK,CAAC,CACV;IAJD,CAIC,CAAC;IAEO,iBAAK,GAAG,UACjB,QAA0B,EAC1B,IAA2B;QAE3B,IAAM,MAAM,4BAAyB,QAAQ,SAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErC,IAAM,UAAU,GAAmB,qBAAS,CAAC,IAAI,CAC7C,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI;YACZ,OAAA,oBAAE,CAAC,OAAO,CAAC,IAAI,CAAC;gBACZ,CAAC,0BAAK,IAAI,CAAC,UAAU,UACrB,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAFlD,CAEkD,CACrD,CACJ,CAAC;QACF,OAAO,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC,CAAC;AACN,CAAC,EAnDgB,WAAW,2BAAX,WAAW,QAmD3B;AAED,IAAM,0BAA0B,GAC5B,UAAC,KAAmE;IACpE,OAAA,UAAC,KAAoB;QACjB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"PruneJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/PruneJoiner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "4.0.
|
|
3
|
+
"version": "4.0.9-dev.20230614",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -94,8 +94,8 @@
|
|
|
94
94
|
"@types/node": "^18.15.12",
|
|
95
95
|
"@types/physical-cpu-count": "^2.0.0",
|
|
96
96
|
"@types/uuid": "^8.3.4",
|
|
97
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
98
|
-
"@typescript-eslint/parser": "^5.
|
|
97
|
+
"@typescript-eslint/eslint-plugin": "^5.59.11",
|
|
98
|
+
"@typescript-eslint/parser": "^5.59.11",
|
|
99
99
|
"autocannon": "^7.10.0",
|
|
100
100
|
"benchmark": "^2.1.4",
|
|
101
101
|
"chalk": "^4.1.0",
|
|
@@ -118,9 +118,9 @@
|
|
|
118
118
|
"suppress-warnings": "^1.0.2",
|
|
119
119
|
"tgrid": "^0.8.7",
|
|
120
120
|
"ts-node": "^10.9.1",
|
|
121
|
-
"ts-patch": "3.0.0
|
|
121
|
+
"ts-patch": "^3.0.0",
|
|
122
122
|
"tstl": "^2.5.13",
|
|
123
|
-
"typescript": "^5.
|
|
123
|
+
"typescript": "^5.1.3",
|
|
124
124
|
"typescript-transform-paths": "^3.4.6",
|
|
125
125
|
"uuid": "^8.3.2",
|
|
126
126
|
"zod": "^3.19.1"
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { Metadata } from "../../../metadata/Metadata";
|
|
2
|
-
|
|
3
|
-
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
4
|
-
|
|
5
|
-
export const emend_metadata_atomics = (meta: Metadata) => {
|
|
6
|
-
// ATOMICS
|
|
7
|
-
for (const type of meta.atomics) {
|
|
8
|
-
const index: number = meta.constants.findIndex((c) => c.type === type);
|
|
9
|
-
if (index !== -1) meta.constants.splice(index, 1);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// BOOLEAN
|
|
13
|
-
{
|
|
14
|
-
const index: number = meta.constants.findIndex(
|
|
15
|
-
(c) => c.type === "boolean",
|
|
16
|
-
);
|
|
17
|
-
if (index !== -1 && meta.constants[index]!.values.length === 2) {
|
|
18
|
-
meta.constants.splice(index, 1);
|
|
19
|
-
ArrayUtil.take(
|
|
20
|
-
meta.atomics,
|
|
21
|
-
(type) => type === "boolean",
|
|
22
|
-
() => "boolean",
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// TEMPLATE
|
|
28
|
-
if (
|
|
29
|
-
meta.templates.length &&
|
|
30
|
-
meta.atomics.find((type) => type === "string") !== undefined
|
|
31
|
-
)
|
|
32
|
-
meta.templates.splice(0, meta.templates.length);
|
|
33
|
-
};
|
|
1
|
+
import { Metadata } from "../../../metadata/Metadata";
|
|
2
|
+
|
|
3
|
+
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
4
|
+
|
|
5
|
+
export const emend_metadata_atomics = (meta: Metadata) => {
|
|
6
|
+
// ATOMICS
|
|
7
|
+
for (const type of meta.atomics) {
|
|
8
|
+
const index: number = meta.constants.findIndex((c) => c.type === type);
|
|
9
|
+
if (index !== -1) meta.constants.splice(index, 1);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
// BOOLEAN
|
|
13
|
+
{
|
|
14
|
+
const index: number = meta.constants.findIndex(
|
|
15
|
+
(c) => c.type === "boolean",
|
|
16
|
+
);
|
|
17
|
+
if (index !== -1 && meta.constants[index]!.values.length === 2) {
|
|
18
|
+
meta.constants.splice(index, 1);
|
|
19
|
+
ArrayUtil.take(
|
|
20
|
+
meta.atomics,
|
|
21
|
+
(type) => type === "boolean",
|
|
22
|
+
() => "boolean",
|
|
23
|
+
);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// TEMPLATE
|
|
28
|
+
if (
|
|
29
|
+
meta.templates.length &&
|
|
30
|
+
meta.atomics.find((type) => type === "string") !== undefined
|
|
31
|
+
)
|
|
32
|
+
meta.templates.splice(0, meta.templates.length);
|
|
33
|
+
};
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
import { Metadata } from "../../../metadata/Metadata";
|
|
4
|
-
|
|
5
|
-
import { MetadataCollection } from "../../MetadataCollection";
|
|
6
|
-
import { MetadataFactory } from "../../MetadataFactory";
|
|
7
|
-
import { emend_metadata_atomics } from "./emend_metadata_atomics";
|
|
8
|
-
import { iterate_metadata } from "./iterate_metadata";
|
|
9
|
-
|
|
10
|
-
export const explore_metadata =
|
|
11
|
-
(checker: ts.TypeChecker) =>
|
|
12
|
-
(options: MetadataFactory.IOptions) =>
|
|
13
|
-
(collection: MetadataCollection) =>
|
|
14
|
-
(
|
|
15
|
-
type: ts.Type | null,
|
|
16
|
-
parentResolved: boolean,
|
|
17
|
-
aliased: boolean = false,
|
|
18
|
-
): Metadata => {
|
|
19
|
-
// CONSTRUCT METADATA
|
|
20
|
-
const meta: Metadata = Metadata.initialize(parentResolved);
|
|
21
|
-
const out = (meta: Metadata) => {
|
|
22
|
-
if (options.validate) options.validate(meta);
|
|
23
|
-
return meta;
|
|
24
|
-
};
|
|
25
|
-
if (type === null) return out(meta);
|
|
26
|
-
|
|
27
|
-
// ITERATE TYPESCRIPT TYPES
|
|
28
|
-
iterate_metadata(checker)(options)(collection)(
|
|
29
|
-
meta,
|
|
30
|
-
type,
|
|
31
|
-
parentResolved,
|
|
32
|
-
aliased,
|
|
33
|
-
);
|
|
34
|
-
emend_metadata_atomics(meta);
|
|
35
|
-
if (meta.resolved) emend_metadata_atomics(meta.resolved);
|
|
36
|
-
return out(meta);
|
|
37
|
-
};
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { Metadata } from "../../../metadata/Metadata";
|
|
4
|
+
|
|
5
|
+
import { MetadataCollection } from "../../MetadataCollection";
|
|
6
|
+
import { MetadataFactory } from "../../MetadataFactory";
|
|
7
|
+
import { emend_metadata_atomics } from "./emend_metadata_atomics";
|
|
8
|
+
import { iterate_metadata } from "./iterate_metadata";
|
|
9
|
+
|
|
10
|
+
export const explore_metadata =
|
|
11
|
+
(checker: ts.TypeChecker) =>
|
|
12
|
+
(options: MetadataFactory.IOptions) =>
|
|
13
|
+
(collection: MetadataCollection) =>
|
|
14
|
+
(
|
|
15
|
+
type: ts.Type | null,
|
|
16
|
+
parentResolved: boolean,
|
|
17
|
+
aliased: boolean = false,
|
|
18
|
+
): Metadata => {
|
|
19
|
+
// CONSTRUCT METADATA
|
|
20
|
+
const meta: Metadata = Metadata.initialize(parentResolved);
|
|
21
|
+
const out = (meta: Metadata) => {
|
|
22
|
+
if (options.validate) options.validate(meta);
|
|
23
|
+
return meta;
|
|
24
|
+
};
|
|
25
|
+
if (type === null) return out(meta);
|
|
26
|
+
|
|
27
|
+
// ITERATE TYPESCRIPT TYPES
|
|
28
|
+
iterate_metadata(checker)(options)(collection)(
|
|
29
|
+
meta,
|
|
30
|
+
type,
|
|
31
|
+
parentResolved,
|
|
32
|
+
aliased,
|
|
33
|
+
);
|
|
34
|
+
emend_metadata_atomics(meta);
|
|
35
|
+
if (meta.resolved) emend_metadata_atomics(meta.resolved);
|
|
36
|
+
return out(meta);
|
|
37
|
+
};
|
|
@@ -1,85 +1,85 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
import { Metadata } from "../../../metadata/Metadata";
|
|
4
|
-
|
|
5
|
-
// import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
6
|
-
import { MetadataCollection } from "../../MetadataCollection";
|
|
7
|
-
import { MetadataFactory } from "../../MetadataFactory";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { iterate_metadata_intersection } from "./iterate_metadata_intersection";
|
|
14
|
-
import { iterate_metadata_map } from "./iterate_metadata_map";
|
|
15
|
-
import { iterate_metadata_native } from "./iterate_metadata_native";
|
|
16
|
-
import { iterate_metadata_object } from "./iterate_metadata_object";
|
|
17
|
-
import { iterate_metadata_resolve } from "./iterate_metadata_resolve";
|
|
18
|
-
import { iterate_metadata_set } from "./iterate_metadata_set";
|
|
19
|
-
import { iterate_metadata_template } from "./iterate_metadata_template";
|
|
20
|
-
import { iterate_metadata_tuple } from "./iterate_metadata_tuple";
|
|
21
|
-
import { iterate_metadata_union } from "./iterate_metadata_union";
|
|
22
|
-
|
|
23
|
-
export const iterate_metadata =
|
|
24
|
-
(checker: ts.TypeChecker) =>
|
|
25
|
-
(options: MetadataFactory.IOptions) =>
|
|
26
|
-
(collection: MetadataCollection) =>
|
|
27
|
-
(
|
|
28
|
-
meta: Metadata,
|
|
29
|
-
type: ts.Type,
|
|
30
|
-
resolved: boolean,
|
|
31
|
-
aliased: boolean,
|
|
32
|
-
): void => {
|
|
33
|
-
if (type.isTypeParameter() === true)
|
|
34
|
-
throw new Error(
|
|
35
|
-
`Error on typia.MetadataFactory.generate(): non-specified generic argument on ${meta.getName()}.`,
|
|
36
|
-
);
|
|
37
|
-
// CHECK SPECIAL CASES
|
|
38
|
-
if (
|
|
39
|
-
(aliased !== true &&
|
|
40
|
-
|
|
41
|
-
meta,
|
|
42
|
-
type,
|
|
43
|
-
)) ||
|
|
44
|
-
iterate_metadata_intersection(checker)(options)(collection)(
|
|
45
|
-
meta,
|
|
46
|
-
type,
|
|
47
|
-
resolved,
|
|
48
|
-
aliased,
|
|
49
|
-
) ||
|
|
50
|
-
iterate_metadata_union(checker)(options)(collection)(
|
|
51
|
-
meta,
|
|
52
|
-
type,
|
|
53
|
-
resolved,
|
|
54
|
-
) ||
|
|
55
|
-
iterate_metadata_resolve(checker)(options)(collection)(
|
|
56
|
-
meta,
|
|
57
|
-
type,
|
|
58
|
-
resolved,
|
|
59
|
-
aliased,
|
|
60
|
-
)
|
|
61
|
-
)
|
|
62
|
-
return;
|
|
63
|
-
|
|
64
|
-
// ITERATE CASES
|
|
65
|
-
iterate_metadata_coalesce(meta, type) ||
|
|
66
|
-
iterate_metadata_constant(checker)(options)(meta, type) ||
|
|
67
|
-
iterate_metadata_template(checker)(options)(collection)(
|
|
68
|
-
meta,
|
|
69
|
-
type,
|
|
70
|
-
) ||
|
|
71
|
-
iterate_metadata_atomic(meta, type) ||
|
|
72
|
-
iterate_metadata_tuple(checker)(options)(collection)(
|
|
73
|
-
meta,
|
|
74
|
-
type as ts.TupleType,
|
|
75
|
-
) ||
|
|
76
|
-
iterate_metadata_array(checker)(options)(collection)(meta, type) ||
|
|
77
|
-
iterate_metadata_native(checker)(meta, type) ||
|
|
78
|
-
iterate_metadata_map(checker)(options)(collection)(meta, type) ||
|
|
79
|
-
iterate_metadata_set(checker)(options)(collection)(meta, type) ||
|
|
80
|
-
iterate_metadata_object(checker)(options)(collection)(
|
|
81
|
-
meta,
|
|
82
|
-
type,
|
|
83
|
-
resolved,
|
|
84
|
-
);
|
|
85
|
-
};
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { Metadata } from "../../../metadata/Metadata";
|
|
4
|
+
|
|
5
|
+
// import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
6
|
+
import { MetadataCollection } from "../../MetadataCollection";
|
|
7
|
+
import { MetadataFactory } from "../../MetadataFactory";
|
|
8
|
+
import { iterate_metadata_alias } from "./iterate_metadata_alias";
|
|
9
|
+
import { iterate_metadata_array } from "./iterate_metadata_array";
|
|
10
|
+
import { iterate_metadata_atomic } from "./iterate_metadata_atomic";
|
|
11
|
+
import { iterate_metadata_coalesce } from "./iterate_metadata_coalesce";
|
|
12
|
+
import { iterate_metadata_constant } from "./iterate_metadata_constant";
|
|
13
|
+
import { iterate_metadata_intersection } from "./iterate_metadata_intersection";
|
|
14
|
+
import { iterate_metadata_map } from "./iterate_metadata_map";
|
|
15
|
+
import { iterate_metadata_native } from "./iterate_metadata_native";
|
|
16
|
+
import { iterate_metadata_object } from "./iterate_metadata_object";
|
|
17
|
+
import { iterate_metadata_resolve } from "./iterate_metadata_resolve";
|
|
18
|
+
import { iterate_metadata_set } from "./iterate_metadata_set";
|
|
19
|
+
import { iterate_metadata_template } from "./iterate_metadata_template";
|
|
20
|
+
import { iterate_metadata_tuple } from "./iterate_metadata_tuple";
|
|
21
|
+
import { iterate_metadata_union } from "./iterate_metadata_union";
|
|
22
|
+
|
|
23
|
+
export const iterate_metadata =
|
|
24
|
+
(checker: ts.TypeChecker) =>
|
|
25
|
+
(options: MetadataFactory.IOptions) =>
|
|
26
|
+
(collection: MetadataCollection) =>
|
|
27
|
+
(
|
|
28
|
+
meta: Metadata,
|
|
29
|
+
type: ts.Type,
|
|
30
|
+
resolved: boolean,
|
|
31
|
+
aliased: boolean,
|
|
32
|
+
): void => {
|
|
33
|
+
if (type.isTypeParameter() === true)
|
|
34
|
+
throw new Error(
|
|
35
|
+
`Error on typia.MetadataFactory.generate(): non-specified generic argument on ${meta.getName()}.`,
|
|
36
|
+
);
|
|
37
|
+
// CHECK SPECIAL CASES
|
|
38
|
+
if (
|
|
39
|
+
(aliased !== true &&
|
|
40
|
+
iterate_metadata_alias(checker)(options)(collection)(
|
|
41
|
+
meta,
|
|
42
|
+
type,
|
|
43
|
+
)) ||
|
|
44
|
+
iterate_metadata_intersection(checker)(options)(collection)(
|
|
45
|
+
meta,
|
|
46
|
+
type,
|
|
47
|
+
resolved,
|
|
48
|
+
aliased,
|
|
49
|
+
) ||
|
|
50
|
+
iterate_metadata_union(checker)(options)(collection)(
|
|
51
|
+
meta,
|
|
52
|
+
type,
|
|
53
|
+
resolved,
|
|
54
|
+
) ||
|
|
55
|
+
iterate_metadata_resolve(checker)(options)(collection)(
|
|
56
|
+
meta,
|
|
57
|
+
type,
|
|
58
|
+
resolved,
|
|
59
|
+
aliased,
|
|
60
|
+
)
|
|
61
|
+
)
|
|
62
|
+
return;
|
|
63
|
+
|
|
64
|
+
// ITERATE CASES
|
|
65
|
+
iterate_metadata_coalesce(meta, type) ||
|
|
66
|
+
iterate_metadata_constant(checker)(options)(meta, type) ||
|
|
67
|
+
iterate_metadata_template(checker)(options)(collection)(
|
|
68
|
+
meta,
|
|
69
|
+
type,
|
|
70
|
+
) ||
|
|
71
|
+
iterate_metadata_atomic(meta, type) ||
|
|
72
|
+
iterate_metadata_tuple(checker)(options)(collection)(
|
|
73
|
+
meta,
|
|
74
|
+
type as ts.TupleType,
|
|
75
|
+
) ||
|
|
76
|
+
iterate_metadata_array(checker)(options)(collection)(meta, type) ||
|
|
77
|
+
iterate_metadata_native(checker)(meta, type) ||
|
|
78
|
+
iterate_metadata_map(checker)(options)(collection)(meta, type) ||
|
|
79
|
+
iterate_metadata_set(checker)(options)(collection)(meta, type) ||
|
|
80
|
+
iterate_metadata_object(checker)(options)(collection)(
|
|
81
|
+
meta,
|
|
82
|
+
type,
|
|
83
|
+
resolved,
|
|
84
|
+
);
|
|
85
|
+
};
|
package/src/factories/internal/metadata/{iterate_metadata_definition.ts → iterate_metadata_alias.ts}
RENAMED
|
@@ -9,7 +9,7 @@ import { MetadataCollection } from "../../MetadataCollection";
|
|
|
9
9
|
import { MetadataFactory } from "../../MetadataFactory";
|
|
10
10
|
import { emplace_metadata_definition } from "./emplace_metadata_definition";
|
|
11
11
|
|
|
12
|
-
export const
|
|
12
|
+
export const iterate_metadata_alias =
|
|
13
13
|
(checker: ts.TypeChecker) =>
|
|
14
14
|
(options: MetadataFactory.IOptions) =>
|
|
15
15
|
(collection: MetadataCollection) =>
|
|
@@ -25,9 +25,10 @@ export const iterate_metadata_intersection =
|
|
|
25
25
|
const children: Metadata[] = [
|
|
26
26
|
...new Map(
|
|
27
27
|
type.types.map((t) => {
|
|
28
|
-
const m: Metadata = explore_metadata(checker)(
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
const m: Metadata = explore_metadata(checker)({
|
|
29
|
+
...options,
|
|
30
|
+
absorb: true,
|
|
31
|
+
})(fakeCollection)(t, resolved);
|
|
31
32
|
return [m.getName(), m] as const;
|
|
32
33
|
}),
|
|
33
34
|
).values(),
|
|
@@ -81,6 +82,6 @@ export const iterate_metadata_intersection =
|
|
|
81
82
|
};
|
|
82
83
|
|
|
83
84
|
const message = (children: Metadata[]) =>
|
|
84
|
-
`Error on typia.MetadataFactory.analyze():
|
|
85
|
+
`Error on typia.MetadataFactory.analyze(): nonsensible intersection type detected - ${children
|
|
85
86
|
.map((c) => c.getName())
|
|
86
87
|
.join(" & ")}.`;
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
import { Metadata } from "../../../metadata/Metadata";
|
|
4
|
-
|
|
5
|
-
import { Writable } from "../../../typings/Writable";
|
|
6
|
-
|
|
7
|
-
import { MetadataCollection } from "../../MetadataCollection";
|
|
8
|
-
import { MetadataFactory } from "../../MetadataFactory";
|
|
9
|
-
import { TypeFactory } from "../../TypeFactory";
|
|
10
|
-
import { iterate_metadata } from "./iterate_metadata";
|
|
11
|
-
|
|
12
|
-
// import { iterate_metadata_coalesce } from "./iterate_metadata_coalesce";
|
|
13
|
-
|
|
14
|
-
export const iterate_metadata_resolve =
|
|
15
|
-
(checker: ts.TypeChecker) =>
|
|
16
|
-
(options: MetadataFactory.IOptions) =>
|
|
17
|
-
(collection: MetadataCollection) =>
|
|
18
|
-
(
|
|
19
|
-
meta: Metadata,
|
|
20
|
-
type: ts.Type,
|
|
21
|
-
resolved: boolean,
|
|
22
|
-
aliased: boolean,
|
|
23
|
-
): boolean => {
|
|
24
|
-
if (options.resolve === false || resolved === true) return false;
|
|
25
|
-
|
|
26
|
-
const escaped: ts.Type | null = TypeFactory.resolve(checker)(type);
|
|
27
|
-
if (escaped === null) return false;
|
|
28
|
-
|
|
29
|
-
if (meta.resolved === null)
|
|
30
|
-
Writable(meta).resolved = Metadata.initialize();
|
|
31
|
-
iterate_metadata(checker)(options)(collection)(
|
|
32
|
-
meta.resolved!,
|
|
33
|
-
escaped,
|
|
34
|
-
true,
|
|
35
|
-
aliased,
|
|
36
|
-
);
|
|
37
|
-
return true;
|
|
38
|
-
};
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { Metadata } from "../../../metadata/Metadata";
|
|
4
|
+
|
|
5
|
+
import { Writable } from "../../../typings/Writable";
|
|
6
|
+
|
|
7
|
+
import { MetadataCollection } from "../../MetadataCollection";
|
|
8
|
+
import { MetadataFactory } from "../../MetadataFactory";
|
|
9
|
+
import { TypeFactory } from "../../TypeFactory";
|
|
10
|
+
import { iterate_metadata } from "./iterate_metadata";
|
|
11
|
+
|
|
12
|
+
// import { iterate_metadata_coalesce } from "./iterate_metadata_coalesce";
|
|
13
|
+
|
|
14
|
+
export const iterate_metadata_resolve =
|
|
15
|
+
(checker: ts.TypeChecker) =>
|
|
16
|
+
(options: MetadataFactory.IOptions) =>
|
|
17
|
+
(collection: MetadataCollection) =>
|
|
18
|
+
(
|
|
19
|
+
meta: Metadata,
|
|
20
|
+
type: ts.Type,
|
|
21
|
+
resolved: boolean,
|
|
22
|
+
aliased: boolean,
|
|
23
|
+
): boolean => {
|
|
24
|
+
if (options.resolve === false || resolved === true) return false;
|
|
25
|
+
|
|
26
|
+
const escaped: ts.Type | null = TypeFactory.resolve(checker)(type);
|
|
27
|
+
if (escaped === null) return false;
|
|
28
|
+
|
|
29
|
+
if (meta.resolved === null)
|
|
30
|
+
Writable(meta).resolved = Metadata.initialize();
|
|
31
|
+
iterate_metadata(checker)(options)(collection)(
|
|
32
|
+
meta.resolved!,
|
|
33
|
+
escaped,
|
|
34
|
+
true,
|
|
35
|
+
aliased,
|
|
36
|
+
);
|
|
37
|
+
return true;
|
|
38
|
+
};
|