typia 3.4.26 → 3.4.28
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_native.js +0 -3
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +71 -79
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +21 -16
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/StringifyProgrammer.js +24 -17
- package/lib/programmers/StringifyProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +60 -68
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/helpers/AtomicPredicator.d.ts +2 -0
- package/lib/programmers/helpers/AtomicPredicator.js +9 -1
- package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +18 -7
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
- package/lib/programmers/internal/check_native.js +9 -1
- package/lib/programmers/internal/check_native.js.map +1 -1
- package/lib/transformers/ITransformOptions.d.ts +4 -0
- package/package.json +3 -2
- package/src/factories/internal/metadata/iterate_metadata_native.ts +0 -5
- package/src/programmers/AssertProgrammer.ts +30 -36
- package/src/programmers/CheckerProgrammer.ts +16 -11
- package/src/programmers/StringifyProgrammer.ts +40 -27
- package/src/programmers/ValidateProgrammer.ts +30 -36
- package/src/programmers/helpers/AtomicPredicator.ts +17 -1
- package/src/programmers/internal/application_schema.ts +30 -20
- package/src/programmers/internal/check_dynamic_properties.ts +1 -0
- package/src/programmers/internal/check_native.ts +14 -2
- package/src/transformers/ITransformOptions.ts +4 -0
|
@@ -51,8 +51,8 @@ var ValidateProgrammer;
|
|
|
51
51
|
trace: true,
|
|
52
52
|
numeric: OptionPredicator_1.OptionPredicator.numeric(project.options),
|
|
53
53
|
equals: equals,
|
|
54
|
-
combiner: combine(
|
|
55
|
-
joiner: joiner(
|
|
54
|
+
combiner: combine(equals)(importer),
|
|
55
|
+
joiner: joiner(equals)(importer),
|
|
56
56
|
success: typescript_1.default.factory.createTrue(),
|
|
57
57
|
}, importer)(type);
|
|
58
58
|
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
|
|
@@ -70,75 +70,67 @@ var ValidateProgrammer;
|
|
|
70
70
|
};
|
|
71
71
|
};
|
|
72
72
|
})(ValidateProgrammer = exports.ValidateProgrammer || (exports.ValidateProgrammer = {}));
|
|
73
|
-
var combine = function (
|
|
74
|
-
return function (
|
|
75
|
-
return function (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
return
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}; };
|
|
102
|
-
};
|
|
73
|
+
var combine = function (equals) {
|
|
74
|
+
return function (importer) {
|
|
75
|
+
return function (explore) {
|
|
76
|
+
if (explore.tracable === false)
|
|
77
|
+
return IsProgrammer_1.IsProgrammer.CONFIG({
|
|
78
|
+
object: validate_object(equals)(importer),
|
|
79
|
+
numeric: true,
|
|
80
|
+
})(importer).combiner(explore);
|
|
81
|
+
var path = explore.postfix
|
|
82
|
+
? "path + ".concat(explore.postfix)
|
|
83
|
+
: "path";
|
|
84
|
+
return function (logic) { return function (input, binaries, expected) {
|
|
85
|
+
return logic === "and"
|
|
86
|
+
? binaries
|
|
87
|
+
.map(function (binary) {
|
|
88
|
+
return binary.combined
|
|
89
|
+
? binary.expression
|
|
90
|
+
: typescript_1.default.factory.createLogicalOr(binary.expression, create_report_call(explore.source === "top"
|
|
91
|
+
? typescript_1.default.factory.createTrue()
|
|
92
|
+
: typescript_1.default.factory.createIdentifier("exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
|
|
93
|
+
})
|
|
94
|
+
.reduce(typescript_1.default.factory.createLogicalAnd)
|
|
95
|
+
: typescript_1.default.factory.createLogicalOr(binaries
|
|
96
|
+
.map(function (binary) { return binary.expression; })
|
|
97
|
+
.reduce(typescript_1.default.factory.createLogicalOr), create_report_call(explore.source === "top"
|
|
98
|
+
? typescript_1.default.factory.createTrue()
|
|
99
|
+
: typescript_1.default.factory.createIdentifier("exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
|
|
100
|
+
}; };
|
|
103
101
|
};
|
|
104
102
|
};
|
|
105
103
|
};
|
|
106
|
-
var validate_object = function (
|
|
107
|
-
return
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
},
|
|
137
|
-
tuple: function (binaries) {
|
|
138
|
-
return (0, check_everything_1.check_everything)(typescript_1.default.factory.createArrayLiteralExpression(binaries, true));
|
|
139
|
-
},
|
|
140
|
-
}); };
|
|
141
|
-
};
|
|
104
|
+
var validate_object = function (equals) { return function (importer) {
|
|
105
|
+
return (0, check_object_1.check_object)({
|
|
106
|
+
equals: equals,
|
|
107
|
+
undefined: true,
|
|
108
|
+
assert: false,
|
|
109
|
+
reduce: typescript_1.default.factory.createLogicalAnd,
|
|
110
|
+
positive: typescript_1.default.factory.createTrue(),
|
|
111
|
+
superfluous: function (value) {
|
|
112
|
+
return create_report_call()(typescript_1.default.factory.createAdd(typescript_1.default.factory.createIdentifier("path"), typescript_1.default.factory.createCallExpression(importer.use("join"), undefined, [typescript_1.default.factory.createIdentifier("key")])), "undefined", value);
|
|
113
|
+
},
|
|
114
|
+
halt: function (expr) {
|
|
115
|
+
return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("exceptionable")), expr);
|
|
116
|
+
},
|
|
117
|
+
})(importer);
|
|
118
|
+
}; };
|
|
119
|
+
var joiner = function (equals) {
|
|
120
|
+
return function (importer) { return ({
|
|
121
|
+
object: validate_object(equals)(importer),
|
|
122
|
+
array: function (input, arrow) {
|
|
123
|
+
return (0, check_everything_1.check_everything)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "map"), undefined, [arrow]));
|
|
124
|
+
},
|
|
125
|
+
failure: function (value, expected, explore) {
|
|
126
|
+
return create_report_call((explore === null || explore === void 0 ? void 0 : explore.from) === "top"
|
|
127
|
+
? typescript_1.default.factory.createTrue()
|
|
128
|
+
: typescript_1.default.factory.createIdentifier("exceptionable"))(typescript_1.default.factory.createIdentifier((explore === null || explore === void 0 ? void 0 : explore.postfix) ? "path + ".concat(explore.postfix) : "path"), expected, value);
|
|
129
|
+
},
|
|
130
|
+
tuple: function (binaries) {
|
|
131
|
+
return (0, check_everything_1.check_everything)(typescript_1.default.factory.createArrayLiteralExpression(binaries, true));
|
|
132
|
+
},
|
|
133
|
+
}); };
|
|
142
134
|
};
|
|
143
135
|
function create_output() {
|
|
144
136
|
return typescript_1.default.factory.createObjectLiteralExpression([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;
|
|
1
|
+
{"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,5 +2,7 @@ import { Metadata } from "../../metadata/Metadata";
|
|
|
2
2
|
import { Atomic } from "../../typings/Atomic";
|
|
3
3
|
export declare namespace AtomicPredicator {
|
|
4
4
|
const constant: (meta: Metadata) => (name: Atomic.Literal) => boolean;
|
|
5
|
+
const atomic: (meta: Metadata) => (name: Atomic.Literal) => boolean;
|
|
6
|
+
const native: (name: string) => boolean;
|
|
5
7
|
const template: (meta: Metadata) => boolean;
|
|
6
8
|
}
|
|
@@ -6,11 +6,19 @@ 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 (atomic) { return atomic === name; })
|
|
9
|
+
return !ArrayUtil_1.ArrayUtil.has(meta.atomics, function (atomic) { return atomic === name; }) &&
|
|
10
|
+
!ArrayUtil_1.ArrayUtil.has(meta.natives, function (native) { return native.toLowerCase() === name; });
|
|
10
11
|
};
|
|
11
12
|
};
|
|
13
|
+
AtomicPredicator.atomic = function (meta) {
|
|
14
|
+
return function (name) {
|
|
15
|
+
return !ArrayUtil_1.ArrayUtil.has(meta.natives, function (native) { return native.toLowerCase() === name; });
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
AtomicPredicator.native = function (name) { return LIKE.has(name.toLowerCase()); };
|
|
12
19
|
AtomicPredicator.template = function (meta) {
|
|
13
20
|
return !ArrayUtil_1.ArrayUtil.has(meta.atomics, function (type) { return type === "string"; });
|
|
14
21
|
};
|
|
15
22
|
})(AtomicPredicator = exports.AtomicPredicator || (exports.AtomicPredicator = {}));
|
|
23
|
+
var LIKE = new Set(["boolean", "number", "string"]);
|
|
16
24
|
//# sourceMappingURL=AtomicPredicator.js.map
|
|
@@ -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,CAsBhC;AAtBD,WAAiB,gBAAgB;IAChB,yBAAQ,GACjB,UAAC,IAAc;QACf,OAAA,UAAC,IAAoB;YACjB,OAAA,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,MAAM,IAAK,OAAA,MAAM,KAAK,IAAI,EAAf,CAAe,CAAC;gBACzD,CAAC,qBAAS,CAAC,GAAG,CACV,IAAI,CAAC,OAAO,EACZ,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAA7B,CAA6B,CAC5C;QAJD,CAIC;IALL,CAKK,CAAC;IAEG,uBAAM,GACf,UAAC,IAAc;QACf,OAAA,UAAC,IAAoB;YACjB,OAAA,CAAC,qBAAS,CAAC,GAAG,CACV,IAAI,CAAC,OAAO,EACZ,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,EAA7B,CAA6B,CAC5C;QAHD,CAGC;IAJL,CAIK,CAAC;IAEG,uBAAM,GAAG,UAAC,IAAY,IAAK,OAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAA5B,CAA4B,CAAC;IAExD,yBAAQ,GAAG,UAAC,IAAc;QACnC,OAAA,CAAC,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,QAAQ,EAAjB,CAAiB,CAAC;IAAzD,CAAyD,CAAC;AAClE,CAAC,EAtBgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAsBhC;AAED,IAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -60,7 +60,8 @@ var application_schema = function (options) {
|
|
|
60
60
|
else if ((constant.type === "string" && meta.templates.length) ||
|
|
61
61
|
AtomicPredicator_1.AtomicPredicator.constant(meta)(constant.type) === false)
|
|
62
62
|
continue;
|
|
63
|
-
|
|
63
|
+
else
|
|
64
|
+
union.push((0, application_constant_1.application_constant)(constant, meta.nullable, attribute));
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -75,11 +76,14 @@ var application_schema = function (options) {
|
|
|
75
76
|
var type = _l.value;
|
|
76
77
|
if (type === "bigint")
|
|
77
78
|
throw new Error(NO_BIGINT);
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
else if (AtomicPredicator_1.AtomicPredicator.atomic(meta)(type) === false)
|
|
80
|
+
continue;
|
|
81
|
+
else
|
|
82
|
+
union.push(type === "string"
|
|
83
|
+
? (0, application_string_1.application_string)(meta, attribute)
|
|
84
|
+
: type === "boolean"
|
|
85
|
+
? (0, application_boolean_1.application_boolean)(meta.nullable, attribute)
|
|
86
|
+
: (0, application_number_1.application_number)(meta.nullable, attribute));
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
@@ -129,7 +133,14 @@ var application_schema = function (options) {
|
|
|
129
133
|
try {
|
|
130
134
|
for (var _r = __values(meta.natives), _s = _r.next(); !_s.done; _s = _r.next()) {
|
|
131
135
|
var native = _s.value;
|
|
132
|
-
|
|
136
|
+
if (AtomicPredicator_1.AtomicPredicator.native(native))
|
|
137
|
+
union.push(native === "String"
|
|
138
|
+
? (0, application_string_1.application_string)(meta, attribute)
|
|
139
|
+
: native === "Boolean"
|
|
140
|
+
? (0, application_boolean_1.application_boolean)(meta.nullable, attribute)
|
|
141
|
+
: (0, application_number_1.application_number)(meta.nullable, attribute));
|
|
142
|
+
else
|
|
143
|
+
union.push((0, application_native_1.application_native)(options)(components)(native)(meta.nullable, attribute));
|
|
133
144
|
}
|
|
134
145
|
}
|
|
135
146
|
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAmD;AAKnD,gEAA+D;AAC/D,yDAAwD;AACxD,6DAA4D;AAC5D,+DAA8D;AAC9D,2DAA0D;AAC1D,2DAA0D;AAC1D,2DAA0D;AAC1D,2DAA0D;AAC1D,iEAAgE;AAChE,yDAAwD;AAKjD,IAAM,kBAAkB,GAC3B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAA6B,UAAsB;YACnD,OAAA,UACI,IAAc,EACd,SAAiC;;;gBAGjC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;oBAAE,OAAO,EAAE,CAAC;qBAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;oBAClC,kBAAS,IAAI,EAAE,MAAM,IAAK,SAAS,EAAG;gBAK1C,IAAM,KAAK,GAAkB,EAAE,CAAC;gBAGhC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;oBACxB,IAAM,QAAQ,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACpD,UAAU,CACb,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAC5B,IAAI,QAAQ,KAAK,IAAI;wBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC/C;gBAGD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,mCAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACxD,KAAK,CAAC,IAAI,CAAC,IAAA,6CAAqB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;;oBACvD,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA
|
|
1
|
+
{"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_dynamic_properties.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"check_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_dynamic_properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.check_native = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
4
8
|
var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
|
|
5
9
|
var check_native = function (type) { return function (input) {
|
|
6
|
-
|
|
10
|
+
var instanceOf = ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, type);
|
|
11
|
+
return ATOMIC_LIKE.has(type)
|
|
12
|
+
? typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(type.toLowerCase()), typescript_1.default.factory.createTypeOfExpression(input)), instanceOf)
|
|
13
|
+
: instanceOf;
|
|
7
14
|
}; };
|
|
8
15
|
exports.check_native = check_native;
|
|
16
|
+
var ATOMIC_LIKE = new Set(["Boolean", "Number", "String"]);
|
|
9
17
|
//# sourceMappingURL=check_native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_native.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"check_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_native.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAK/D,IAAM,YAAY,GAAG,UAAC,IAAY,IAAK,OAAA,UAAC,KAAoB;IAC/D,IAAM,UAAU,GAAG,qCAAiB,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC/D,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CACtB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAClD,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C,EACD,UAAU,CACb;QACH,CAAC,CAAC,UAAU,CAAC;AACrB,CAAC,EAX6C,CAW7C,CAAC;AAXW,QAAA,YAAY,gBAWvB;AAEF,IAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -49,6 +49,10 @@ export interface ITransformOptions {
|
|
|
49
49
|
* issue when validating without allowing superfluous properties. Should undefined
|
|
50
50
|
* value assigned superfluous property be allowed or not?
|
|
51
51
|
*
|
|
52
|
+
* Note that, this option only works on {@link equals} function. Other function
|
|
53
|
+
* like {@link assertEquals} or {@link validateEquals} would ignore this option
|
|
54
|
+
* value and always allow the `undefined` value.
|
|
55
|
+
*
|
|
52
56
|
* @default true
|
|
53
57
|
*/
|
|
54
58
|
undefined?: boolean;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "3.4.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "3.4.28",
|
|
4
|
+
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
7
7
|
"bin": {
|
|
@@ -68,6 +68,7 @@
|
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"@fastify/type-provider-typebox": "^2.3.0",
|
|
70
70
|
"@trivago/prettier-plugin-sort-imports": "^3.3.0",
|
|
71
|
+
"@typegoose/typegoose": "^10.1.1",
|
|
71
72
|
"@types/autocannon": "^7.9.0",
|
|
72
73
|
"@types/benchmark": "^2.1.2",
|
|
73
74
|
"@types/cli": "^0.11.20",
|
|
@@ -18,10 +18,6 @@ export const iterate_metadata_native =
|
|
|
18
18
|
|
|
19
19
|
const simple = SIMPLES.get(name);
|
|
20
20
|
if (simple && validator(simple)) {
|
|
21
|
-
if (FORBIDDEN.has(name))
|
|
22
|
-
throw new Error(
|
|
23
|
-
`Error on typia.metadata(): typia does not allow "${name}" class type. Use "${name.toLowerCase()}" type instead.`,
|
|
24
|
-
);
|
|
25
21
|
ArrayUtil.set(meta.natives, name, (str) => str);
|
|
26
22
|
return true;
|
|
27
23
|
}
|
|
@@ -210,7 +206,6 @@ const GENERICS: Array<IClassInfo & { name: string }> = [
|
|
|
210
206
|
return: "boolean",
|
|
211
207
|
})),
|
|
212
208
|
}));
|
|
213
|
-
const FORBIDDEN: Set<string> = new Set(["Bolean", "Number", "String"]);
|
|
214
209
|
|
|
215
210
|
interface IClassInfo {
|
|
216
211
|
name?: string;
|
|
@@ -4,7 +4,6 @@ import { IdentifierFactory } from "../factories/IdentifierFactory";
|
|
|
4
4
|
|
|
5
5
|
// import { StatementFactory } from "../factories/StatementFactory";
|
|
6
6
|
import { IProject } from "../transformers/IProject";
|
|
7
|
-
import { ITransformOptions } from "../transformers/ITransformOptions";
|
|
8
7
|
|
|
9
8
|
import { CheckerProgrammer } from "./CheckerProgrammer";
|
|
10
9
|
import { IsProgrammer } from "./IsProgrammer";
|
|
@@ -241,8 +240,8 @@ export namespace AssertProgrammer {
|
|
|
241
240
|
trace: true,
|
|
242
241
|
numeric: OptionPredicator.numeric(project.options),
|
|
243
242
|
equals,
|
|
244
|
-
combiner: combiner(
|
|
245
|
-
joiner: joiner(
|
|
243
|
+
combiner: combiner(equals)(importer),
|
|
244
|
+
joiner: joiner(equals)(importer),
|
|
246
245
|
success: ts.factory.createTrue(),
|
|
247
246
|
},
|
|
248
247
|
importer,
|
|
@@ -278,13 +277,12 @@ export namespace AssertProgrammer {
|
|
|
278
277
|
};
|
|
279
278
|
|
|
280
279
|
const combiner =
|
|
281
|
-
(options: ITransformOptions) =>
|
|
282
280
|
(equals: boolean) =>
|
|
283
281
|
(importer: FunctionImporter): CheckerProgrammer.IConfig.Combiner =>
|
|
284
282
|
(explore: CheckerProgrammer.IExplore) => {
|
|
285
283
|
if (explore.tracable === false)
|
|
286
284
|
return IsProgrammer.CONFIG({
|
|
287
|
-
object: assert_object(
|
|
285
|
+
object: assert_object(equals)(importer),
|
|
288
286
|
numeric: true,
|
|
289
287
|
})(importer).combiner(explore);
|
|
290
288
|
|
|
@@ -352,44 +350,40 @@ export namespace AssertProgrammer {
|
|
|
352
350
|
// );
|
|
353
351
|
};
|
|
354
352
|
|
|
355
|
-
const assert_object =
|
|
356
|
-
(
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
ts.factory.
|
|
370
|
-
importer.use("join"),
|
|
371
|
-
undefined,
|
|
372
|
-
[ts.factory.createIdentifier("key")],
|
|
373
|
-
),
|
|
353
|
+
const assert_object = (equals: boolean) => (importer: FunctionImporter) =>
|
|
354
|
+
check_object({
|
|
355
|
+
equals,
|
|
356
|
+
assert: true,
|
|
357
|
+
undefined: true,
|
|
358
|
+
reduce: ts.factory.createLogicalAnd,
|
|
359
|
+
positive: ts.factory.createTrue(),
|
|
360
|
+
superfluous: (value) =>
|
|
361
|
+
create_guard_call(importer)()(
|
|
362
|
+
ts.factory.createAdd(
|
|
363
|
+
ts.factory.createIdentifier("path"),
|
|
364
|
+
ts.factory.createCallExpression(
|
|
365
|
+
importer.use("join"),
|
|
366
|
+
undefined,
|
|
367
|
+
[ts.factory.createIdentifier("key")],
|
|
374
368
|
),
|
|
375
|
-
"undefined",
|
|
376
|
-
value,
|
|
377
369
|
),
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
370
|
+
"undefined",
|
|
371
|
+
value,
|
|
372
|
+
),
|
|
373
|
+
halt: (expr) =>
|
|
374
|
+
ts.factory.createLogicalOr(
|
|
375
|
+
ts.factory.createStrictEquality(
|
|
376
|
+
ts.factory.createFalse(),
|
|
377
|
+
ts.factory.createIdentifier("exceptionable"),
|
|
385
378
|
),
|
|
386
|
-
|
|
379
|
+
expr,
|
|
380
|
+
),
|
|
381
|
+
})(importer);
|
|
387
382
|
|
|
388
383
|
const joiner =
|
|
389
|
-
(options: ITransformOptions) =>
|
|
390
384
|
(equals: boolean) =>
|
|
391
385
|
(importer: FunctionImporter): CheckerProgrammer.IConfig.IJoiner => ({
|
|
392
|
-
object: assert_object(
|
|
386
|
+
object: assert_object(equals)(importer),
|
|
393
387
|
array: (input, arrow) =>
|
|
394
388
|
ts.factory.createCallExpression(
|
|
395
389
|
IdentifierFactory.join(input, "every"),
|
|
@@ -13,6 +13,7 @@ import { MetadataObject } from "../metadata/MetadataObject";
|
|
|
13
13
|
import { IProject } from "../transformers/IProject";
|
|
14
14
|
|
|
15
15
|
import { FeatureProgrammer } from "./FeatureProgrammer";
|
|
16
|
+
import { AtomicPredicator } from "./helpers/AtomicPredicator";
|
|
16
17
|
import { FunctionImporter } from "./helpers/FunctionImporeter";
|
|
17
18
|
import { IExpressionEntry } from "./helpers/IExpressionEntry";
|
|
18
19
|
import { OptionPredicator } from "./helpers/OptionPredicator";
|
|
@@ -249,6 +250,7 @@ export namespace CheckerProgrammer {
|
|
|
249
250
|
//----
|
|
250
251
|
// CHECK OPTIONAL
|
|
251
252
|
//----
|
|
253
|
+
// @todo -> should be elaborated
|
|
252
254
|
const checkOptional: boolean = meta.empty() || meta.isUnionBucket();
|
|
253
255
|
|
|
254
256
|
// NULLABLE
|
|
@@ -291,12 +293,14 @@ export namespace CheckerProgrammer {
|
|
|
291
293
|
//----
|
|
292
294
|
// CONSTANT VALUES
|
|
293
295
|
for (const constant of meta.constants)
|
|
294
|
-
|
|
295
|
-
|
|
296
|
+
if (AtomicPredicator.constant(meta)(constant.type))
|
|
297
|
+
for (const val of constant.values)
|
|
298
|
+
add(true, getConstantValue(val));
|
|
296
299
|
|
|
297
300
|
// ATOMIC VALUES
|
|
298
301
|
for (const type of meta.atomics)
|
|
299
|
-
if (type ===
|
|
302
|
+
if (AtomicPredicator.atomic(meta)(type) === false) continue;
|
|
303
|
+
else if (type === "number")
|
|
300
304
|
binaries.push({
|
|
301
305
|
expression: check_number(project, config.numeric)(
|
|
302
306
|
input,
|
|
@@ -323,14 +327,15 @@ export namespace CheckerProgrammer {
|
|
|
323
327
|
|
|
324
328
|
// TEMPLATE LITERAL VALUES
|
|
325
329
|
if (meta.templates.length)
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
330
|
+
if (AtomicPredicator.template(meta))
|
|
331
|
+
binaries.push({
|
|
332
|
+
expression: check_template(importer)(
|
|
333
|
+
input,
|
|
334
|
+
meta.templates,
|
|
335
|
+
tags,
|
|
336
|
+
),
|
|
337
|
+
combined: false,
|
|
338
|
+
});
|
|
334
339
|
|
|
335
340
|
// NATIVE CLASSES
|
|
336
341
|
for (const native of meta.natives)
|