typia 6.7.2 → 6.8.0-dev.20240811
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/programmers/internal/application_bigint.d.ts +1 -0
- package/lib/programmers/internal/application_bigint.js +14 -0
- package/lib/programmers/internal/application_bigint.js.map +1 -0
- package/lib/programmers/internal/application_v30_schema.js +10 -12
- package/lib/programmers/internal/application_v30_schema.js.map +1 -1
- package/lib/programmers/internal/application_v31_constant.js +3 -1
- package/lib/programmers/internal/application_v31_constant.js.map +1 -1
- package/lib/programmers/internal/application_v31_schema.js +10 -12
- package/lib/programmers/internal/application_v31_schema.js.map +1 -1
- package/lib/tags/Constant.d.ts +2 -2
- package/lib/tags/Default.d.ts +5 -1
- package/lib/tags/ExclusiveMaximum.d.ts +9 -5
- package/lib/tags/ExclusiveMinimum.d.ts +9 -5
- package/lib/tags/JsonSchemaPlugin.d.ts +1 -1
- package/lib/tags/Maximum.d.ts +8 -5
- package/lib/tags/Minimum.d.ts +8 -5
- package/lib/tags/MultipleOf.d.ts +7 -4
- package/package.json +2 -2
- package/src/factories/CommentFactory.ts +79 -79
- package/src/factories/MetadataCollection.ts +274 -274
- package/src/factories/MetadataFactory.ts +272 -272
- package/src/factories/StatementFactory.ts +74 -74
- package/src/factories/TypeFactory.ts +118 -118
- package/src/factories/internal/metadata/emplace_metadata_array_type.ts +42 -42
- package/src/factories/internal/metadata/emplace_metadata_object.ts +176 -176
- package/src/factories/internal/metadata/iterate_metadata.ts +94 -94
- package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
- package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
- package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
- package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +213 -213
- package/src/factories/internal/metadata/iterate_metadata_map.ts +50 -50
- package/src/factories/internal/metadata/iterate_metadata_native.ts +220 -220
- package/src/factories/internal/metadata/iterate_metadata_object.ts +33 -33
- package/src/factories/internal/metadata/iterate_metadata_set.ts +41 -41
- package/src/factories/internal/metadata/iterate_metadata_template.ts +44 -44
- package/src/factories/internal/metadata/iterate_metadata_union.ts +27 -27
- package/src/programmers/internal/application_bigint.ts +25 -0
- package/src/programmers/internal/application_v30_alias.ts +52 -52
- package/src/programmers/internal/application_v30_object.ts +149 -149
- package/src/programmers/internal/application_v30_schema.ts +162 -159
- package/src/programmers/internal/application_v30_tuple.ts +33 -33
- package/src/programmers/internal/application_v31_constant.ts +4 -1
- package/src/programmers/internal/application_v31_schema.ts +159 -157
- package/src/programmers/json/JsonApplicationProgrammer.ts +82 -82
- package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
- package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
- package/src/tags/Constant.ts +2 -2
- package/src/tags/Default.ts +7 -3
- package/src/tags/ExclusiveMaximum.ts +12 -6
- package/src/tags/ExclusiveMinimum.ts +12 -6
- package/src/tags/JsonSchemaPlugin.ts +1 -1
- package/src/tags/Maximum.ts +9 -8
- package/src/tags/Minimum.ts +9 -8
- package/src/tags/MultipleOf.ts +9 -8
- package/src/tags/Type.ts +32 -32
- package/src/transformers/FileTransformer.ts +91 -91
- package/src/transformers/features/CreateRandomTransformer.ts +40 -40
- package/src/transformers/features/RandomTransformer.ts +44 -44
- package/src/transformers/features/json/JsonApplicationTransformer.ts +124 -124
- package/src/transformers/features/misc/MiscLiteralsTransformer.ts +32 -32
- package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +33 -33
- package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +62 -62
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.application_bigint = void 0;
|
|
4
|
+
var application_plugin_1 = require("./application_plugin");
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
var application_bigint = function (atomic) {
|
|
9
|
+
return (0, application_plugin_1.application_plugin)({
|
|
10
|
+
type: "integer",
|
|
11
|
+
}, atomic.tags);
|
|
12
|
+
};
|
|
13
|
+
exports.application_bigint = application_bigint;
|
|
14
|
+
//# sourceMappingURL=application_bigint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"application_bigint.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_bigint.ts"],"names":[],"mappings":";;;AAIA,2DAA0D;AAE1D;;GAEG;AACI,IAAM,kBAAkB,GAAG,UAChC,MAAsB;IAEtB,OAAA,IAAA,uCAAkB,EAChB;QACE,IAAI,EAAE,SAAS;KACU,EAC3B,MAAM,CAAC,IAAI,CACZ;AALD,CAKC,CAAC;AARS,QAAA,kBAAkB,sBAQ3B"}
|
|
@@ -26,6 +26,7 @@ exports.application_v30_schema = void 0;
|
|
|
26
26
|
var MetadataAtomic_1 = require("../../schemas/metadata/MetadataAtomic");
|
|
27
27
|
var AtomicPredicator_1 = require("../helpers/AtomicPredicator");
|
|
28
28
|
var application_array_1 = require("./application_array");
|
|
29
|
+
var application_bigint_1 = require("./application_bigint");
|
|
29
30
|
var application_boolean_1 = require("./application_boolean");
|
|
30
31
|
var application_escaped_1 = require("./application_escaped");
|
|
31
32
|
var application_number_1 = require("./application_number");
|
|
@@ -71,9 +72,7 @@ var application_v30_schema = function (blockNever) {
|
|
|
71
72
|
try {
|
|
72
73
|
for (var _l = __values(meta.constants), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
73
74
|
var constant = _m.value;
|
|
74
|
-
if (constant.type ===
|
|
75
|
-
throw new TypeError(NO_BIGINT);
|
|
76
|
-
else if (AtomicPredicator_1.AtomicPredicator.constant(meta)(constant.type) === false)
|
|
75
|
+
if (AtomicPredicator_1.AtomicPredicator.constant(meta)(constant.type) === false)
|
|
77
76
|
continue;
|
|
78
77
|
else
|
|
79
78
|
insert((0, application_v30_constant_1.application_v30_constant)(constant));
|
|
@@ -89,10 +88,10 @@ var application_v30_schema = function (blockNever) {
|
|
|
89
88
|
try {
|
|
90
89
|
for (var _o = __values(meta.atomics), _p = _o.next(); !_p.done; _p = _o.next()) {
|
|
91
90
|
var a = _p.value;
|
|
92
|
-
if (a.type === "
|
|
93
|
-
throw new TypeError(NO_BIGINT);
|
|
94
|
-
else if (a.type === "boolean")
|
|
91
|
+
if (a.type === "boolean")
|
|
95
92
|
(0, application_boolean_1.application_boolean)(a).forEach(insert);
|
|
93
|
+
else if (a.type === "bigint")
|
|
94
|
+
(0, application_bigint_1.application_bigint)(a).forEach(insert);
|
|
96
95
|
else if (a.type === "number")
|
|
97
96
|
(0, application_number_1.application_number)(a).forEach(insert);
|
|
98
97
|
else if (a.type === "string")
|
|
@@ -139,13 +138,16 @@ var application_v30_schema = function (blockNever) {
|
|
|
139
138
|
var type_1 = native.toLowerCase();
|
|
140
139
|
if (meta.atomics.some(function (a) { return a.type === type_1; }))
|
|
141
140
|
return "continue";
|
|
142
|
-
else if (type_1 === "bigint")
|
|
143
|
-
throw new TypeError(NO_BIGINT);
|
|
144
141
|
else if (type_1 === "boolean")
|
|
145
142
|
insert((0, application_boolean_1.application_boolean)(MetadataAtomic_1.MetadataAtomic.create({
|
|
146
143
|
type: "boolean",
|
|
147
144
|
tags: [],
|
|
148
145
|
}))[0]);
|
|
146
|
+
else if (type_1 === "bigint")
|
|
147
|
+
insert((0, application_bigint_1.application_bigint)(MetadataAtomic_1.MetadataAtomic.create({
|
|
148
|
+
type: "bigint",
|
|
149
|
+
tags: [],
|
|
150
|
+
}))[0]);
|
|
149
151
|
else if (type_1 === "number")
|
|
150
152
|
insert((0, application_number_1.application_number)(MetadataAtomic_1.MetadataAtomic.create({
|
|
151
153
|
type: "number",
|
|
@@ -225,8 +227,4 @@ var application_v30_schema = function (blockNever) {
|
|
|
225
227
|
};
|
|
226
228
|
};
|
|
227
229
|
exports.application_v30_schema = application_v30_schema;
|
|
228
|
-
/**
|
|
229
|
-
* @internal
|
|
230
|
-
*/
|
|
231
|
-
var NO_BIGINT = "Error on typia.application(): does not allow bigint type.";
|
|
232
230
|
//# sourceMappingURL=application_v30_schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_v30_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v30_schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wEAAuE;AAEvE,gEAA+D;AAC/D,yDAAwD;AACxD,6DAA4D;AAC5D,6DAA4D;AAC5D,2DAA0D;AAC1D,2DAA0D;AAC1D,iEAAgE;AAChE,qFAAoF;AACpF,iEAAgE;AAChE,uEAAsE;AACtE,mEAAkE;AAClE,mEAAkE;AAClE,iEAAgE;AAEhE;;GAEG;AACI,IAAM,sBAAsB,GACjC,UAA6B,UAAsB;IACnD,OAAA,UAAC,UAAiC;QAClC,OAAA,UAAC,SAA6C;YAC9C,OAAA,UACE,IAAc;;;gBAId,kBAAkB;gBAClB,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;oBACnB,6BACK,SAAS,KACZ,IAAI,EAAE,SAAS,IACf;qBACC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;oBACpC,kBAAS,IAAI,EAAE,MAAM,IAAK,SAAS,EAAG;gBAExC,MAAM;gBACN,uBAAuB;gBACvB,MAAM;gBACN,IAAM,KAAK,GAA4B,EAAE,CAAC;gBAC1C,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;oBAC1B,CAAC,CAAC,UAAC,MAA6B;wBAC5B,OAAA,KAAK,CAAC,IAAI,CAAC,sBACN,MAAM,KACT,QAAQ,EAAG,MAAoD,CAAC,IAAI;gCAClE,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC,SAAS,GACW,CAAC;oBAL3B,CAK2B;oBAC/B,CAAC,CAAC,UAAC,MAA6B,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAlB,CAAkB,CAAC;gBAE1D,kBAAkB;gBAClB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;oBACvB,IAAA,yCAAmB,EAAQ,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CACvE,IAAI,CAAC,OAAO,CACb,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEpB,eAAe;gBACf,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,mCAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC1D,IAAA,6CAAqB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;oBAC1C,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA;wBAAhC,IAAM,QAAQ,WAAA;wBACjB,IAAI,
|
|
1
|
+
{"version":3,"file":"application_v30_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v30_schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,9 @@ var application_v31_constant = function (constant) {
|
|
|
12
12
|
.map(function (value) {
|
|
13
13
|
var _a;
|
|
14
14
|
return (0, application_plugin_1.application_plugin)({
|
|
15
|
-
const: value.value
|
|
15
|
+
const: typeof value.value === "bigint"
|
|
16
|
+
? Number(value.value)
|
|
17
|
+
: value.value,
|
|
16
18
|
title: (0, application_title_1.application_title)(value),
|
|
17
19
|
description: (0, application_description_1.application_description)(value),
|
|
18
20
|
}, (_a = value.tags) !== null && _a !== void 0 ? _a : []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_v31_constant.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v31_constant.ts"],"names":[],"mappings":";;;AAIA,qEAAoE;AACpE,2DAA0D;AAC1D,yDAAwD;AAExD;;GAEG;AACI,IAAM,wBAAwB,GAAG,UACtC,QAA0B;IAE1B,OAAA,QAAQ,CAAC,MAAM;SACZ,GAAG,CAAC,UAAC,KAAK;;QACT,OAAA,IAAA,uCAAkB,EAChB;YACE,KAAK,
|
|
1
|
+
{"version":3,"file":"application_v31_constant.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v31_constant.ts"],"names":[],"mappings":";;;AAIA,qEAAoE;AACpE,2DAA0D;AAC1D,yDAAwD;AAExD;;GAEG;AACI,IAAM,wBAAwB,GAAG,UACtC,QAA0B;IAE1B,OAAA,QAAQ,CAAC,MAAM;SACZ,GAAG,CAAC,UAAC,KAAK;;QACT,OAAA,IAAA,uCAAkB,EAChB;YACE,KAAK,EACH,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAC7B,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACrB,CAAC,CAAE,KAAK,CAAC,KAAmC;YAChD,KAAK,EAAE,IAAA,qCAAiB,EAAC,KAAK,CAAC;YAC/B,WAAW,EAAE,IAAA,iDAAuB,EAAC,KAAK,CAAC;SACJ,EACzC,MAAA,KAAK,CAAC,IAAI,mCAAI,EAAE,CACjB,CAAA;KAAA,CACF;SACA,IAAI,EAAE;AAdT,CAcS,CAAC;AAjBC,QAAA,wBAAwB,4BAiBzB"}
|
|
@@ -26,6 +26,7 @@ exports.application_v31_schema = void 0;
|
|
|
26
26
|
var MetadataAtomic_1 = require("../../schemas/metadata/MetadataAtomic");
|
|
27
27
|
var AtomicPredicator_1 = require("../helpers/AtomicPredicator");
|
|
28
28
|
var application_array_1 = require("./application_array");
|
|
29
|
+
var application_bigint_1 = require("./application_bigint");
|
|
29
30
|
var application_boolean_1 = require("./application_boolean");
|
|
30
31
|
var application_escaped_1 = require("./application_escaped");
|
|
31
32
|
var application_number_1 = require("./application_number");
|
|
@@ -67,9 +68,7 @@ var application_v31_schema = function (blockNever) {
|
|
|
67
68
|
try {
|
|
68
69
|
for (var _l = __values(meta.constants), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
69
70
|
var constant = _m.value;
|
|
70
|
-
if (constant.type ===
|
|
71
|
-
throw new TypeError(NO_BIGINT);
|
|
72
|
-
else if (AtomicPredicator_1.AtomicPredicator.constant(meta)(constant.type) === false)
|
|
71
|
+
if (AtomicPredicator_1.AtomicPredicator.constant(meta)(constant.type) === false)
|
|
73
72
|
continue;
|
|
74
73
|
else
|
|
75
74
|
(0, application_v31_constant_1.application_v31_constant)(constant).map(insert);
|
|
@@ -85,10 +84,10 @@ var application_v31_schema = function (blockNever) {
|
|
|
85
84
|
try {
|
|
86
85
|
for (var _o = __values(meta.atomics), _p = _o.next(); !_p.done; _p = _o.next()) {
|
|
87
86
|
var a = _p.value;
|
|
88
|
-
if (a.type === "
|
|
89
|
-
throw new TypeError(NO_BIGINT);
|
|
90
|
-
else if (a.type === "boolean")
|
|
87
|
+
if (a.type === "boolean")
|
|
91
88
|
(0, application_boolean_1.application_boolean)(a).forEach(insert);
|
|
89
|
+
else if (a.type === "bigint")
|
|
90
|
+
(0, application_bigint_1.application_bigint)(a).forEach(insert);
|
|
92
91
|
else if (a.type === "number")
|
|
93
92
|
(0, application_number_1.application_number)(a).forEach(insert);
|
|
94
93
|
else if (a.type === "string")
|
|
@@ -135,13 +134,16 @@ var application_v31_schema = function (blockNever) {
|
|
|
135
134
|
var type_1 = native.toLowerCase();
|
|
136
135
|
if (meta.atomics.some(function (a) { return a.type === type_1; }))
|
|
137
136
|
return "continue";
|
|
138
|
-
else if (type_1 === "bigint")
|
|
139
|
-
throw new TypeError(NO_BIGINT);
|
|
140
137
|
else if (type_1 === "boolean")
|
|
141
138
|
insert((0, application_boolean_1.application_boolean)(MetadataAtomic_1.MetadataAtomic.create({
|
|
142
139
|
type: "boolean",
|
|
143
140
|
tags: [],
|
|
144
141
|
}))[0]);
|
|
142
|
+
else if (type_1 === "bigint")
|
|
143
|
+
insert((0, application_bigint_1.application_bigint)(MetadataAtomic_1.MetadataAtomic.create({
|
|
144
|
+
type: "bigint",
|
|
145
|
+
tags: [],
|
|
146
|
+
}))[0]);
|
|
145
147
|
else if (type_1 === "number")
|
|
146
148
|
insert((0, application_number_1.application_number)(MetadataAtomic_1.MetadataAtomic.create({
|
|
147
149
|
type: "number",
|
|
@@ -221,8 +223,4 @@ var application_v31_schema = function (blockNever) {
|
|
|
221
223
|
};
|
|
222
224
|
};
|
|
223
225
|
exports.application_v31_schema = application_v31_schema;
|
|
224
|
-
/**
|
|
225
|
-
* @internal
|
|
226
|
-
*/
|
|
227
|
-
var NO_BIGINT = "Error on typia.application(): does not allow bigint type.";
|
|
228
226
|
//# sourceMappingURL=application_v31_schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_v31_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v31_schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wEAAuE;AAEvE,gEAA+D;AAC/D,yDAAwD;AACxD,6DAA4D;AAC5D,6DAA4D;AAC5D,2DAA0D;AAC1D,2DAA0D;AAC1D,iEAAgE;AAChE,qFAAoF;AACpF,iEAAgE;AAChE,uEAAsE;AACtE,mEAAkE;AAClE,mEAAkE;AAClE,iEAAgE;AAEhE;;GAEG;AACI,IAAM,sBAAsB,GACjC,UAA6B,UAAsB;IACnD,OAAA,UAAC,UAA+B;QAChC,OAAA,UAAC,SAA2C;YAC5C,OAAA,UACE,IAAc;;;gBAId,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;oBACnB,6BACK,SAAS,KACZ,IAAI,EAAE,SAAS,IACf;gBAEJ,MAAM;gBACN,uBAAuB;gBACvB,MAAM;gBACN,IAAM,KAAK,GAA0B,EAAE,CAAC;gBACxC,IAAM,MAAM,GAAG,UAAC,MAA2B,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAlB,CAAkB,CAAC;gBAEnE,WAAW;gBACX,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;oBACxB,MAAM,CAAC;wBACL,IAAI,EAAE,MAAM;qBACb,CAAC,CAAC;gBAEL,kBAAkB;gBAClB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;oBACvB,IAAA,yCAAmB,EAAC,IAAA,8BAAsB,EAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAChE,IAAI,CAAC,OAAO,CACb,CAAC,OAAO,CAAC,MAAa,CAAC,CAAC;gBAE3B,eAAe;gBACf,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,mCAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC1D,IAAA,6CAAqB,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAa,CAAC,CAAC;;oBACjD,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA;wBAAhC,IAAM,QAAQ,WAAA;wBACjB,IAAI,
|
|
1
|
+
{"version":3,"file":"application_v31_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_v31_schema.ts"],"names":[],"mappings":"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"}
|
package/lib/tags/Constant.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
|
-
export type Constant<Value extends boolean | number | string, Content extends {
|
|
2
|
+
export type Constant<Value extends boolean | number | string | bigint, Content extends {
|
|
3
3
|
title?: string | undefined;
|
|
4
4
|
description?: string | undefined;
|
|
5
5
|
}> = Value & TagBase<{
|
|
6
|
-
target: "string" | "boolean" | "number";
|
|
6
|
+
target: "string" | "boolean" | "number" | "bigint";
|
|
7
7
|
kind: "constant";
|
|
8
8
|
value: undefined;
|
|
9
9
|
schema: Content;
|
package/lib/tags/Default.d.ts
CHANGED
|
@@ -4,7 +4,11 @@ export type Default<Value extends boolean | bigint | number | string> = TagBase<
|
|
|
4
4
|
kind: "default";
|
|
5
5
|
value: Value;
|
|
6
6
|
exclusive: true;
|
|
7
|
-
schema: {
|
|
7
|
+
schema: Value extends bigint ? {
|
|
8
|
+
default: Numeric<Value>;
|
|
9
|
+
} : {
|
|
8
10
|
default: Value;
|
|
9
11
|
};
|
|
10
12
|
}>;
|
|
13
|
+
type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
|
|
14
|
+
export {};
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
2
|
export type ExclusiveMaximum<Value extends number | bigint> = TagBase<{
|
|
3
|
-
target: Value extends
|
|
3
|
+
target: Value extends bigint ? "bigint" : "number";
|
|
4
4
|
kind: "exclusiveMaximum";
|
|
5
5
|
value: Value;
|
|
6
|
-
validate: `$input < ${
|
|
6
|
+
validate: `$input < ${Cast<Value>}`;
|
|
7
7
|
exclusive: ["exclusiveMaximum", "maximum"];
|
|
8
|
-
schema: Value extends
|
|
8
|
+
schema: Value extends bigint ? {
|
|
9
|
+
exclusiveMaximum: true;
|
|
10
|
+
maximum: Numeric<Value>;
|
|
11
|
+
} : {
|
|
9
12
|
exclusiveMaximum: true;
|
|
10
13
|
maximum: Value;
|
|
11
|
-
}
|
|
14
|
+
};
|
|
12
15
|
}>;
|
|
13
|
-
type
|
|
16
|
+
type Cast<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
|
|
17
|
+
type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
|
|
14
18
|
export {};
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
2
|
export type ExclusiveMinimum<Value extends number | bigint> = TagBase<{
|
|
3
|
-
target: Value extends
|
|
3
|
+
target: Value extends bigint ? "bigint" : "number";
|
|
4
4
|
kind: "exclusiveMinimum";
|
|
5
5
|
value: Value;
|
|
6
|
-
validate: `${
|
|
6
|
+
validate: `${Cast<Value>} < $input`;
|
|
7
7
|
exclusive: ["exclusiveMinimum", "minimum"];
|
|
8
|
-
schema: Value extends
|
|
8
|
+
schema: Value extends bigint ? {
|
|
9
|
+
exclusiveMinimum: true;
|
|
10
|
+
minimum: Numeric<Value>;
|
|
11
|
+
} : {
|
|
9
12
|
exclusiveMinimum: true;
|
|
10
13
|
minimum: Value;
|
|
11
|
-
}
|
|
14
|
+
};
|
|
12
15
|
}>;
|
|
13
|
-
type
|
|
16
|
+
type Cast<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
|
|
17
|
+
type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
|
|
14
18
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
2
|
export type JsonSchemaPlugin<Schema extends object> = TagBase<{
|
|
3
|
-
target: "string" | "boolean" | "number" | "array";
|
|
3
|
+
target: "string" | "boolean" | "bigint" | "number" | "array";
|
|
4
4
|
kind: "jsonPlugin";
|
|
5
5
|
value: undefined;
|
|
6
6
|
schema: Schema;
|
package/lib/tags/Maximum.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
2
|
export type Maximum<Value extends number | bigint> = TagBase<{
|
|
3
|
-
target: Value extends
|
|
3
|
+
target: Value extends bigint ? "bigint" : "number";
|
|
4
4
|
kind: "maximum";
|
|
5
5
|
value: Value;
|
|
6
|
-
validate: `$input <= ${
|
|
6
|
+
validate: `$input <= ${Cast<Value>}`;
|
|
7
7
|
exclusive: ["maximum", "exclusiveMaximum"];
|
|
8
|
-
schema: Value extends
|
|
8
|
+
schema: Value extends bigint ? {
|
|
9
|
+
maximum: Numeric<Value>;
|
|
10
|
+
} : {
|
|
9
11
|
maximum: Value;
|
|
10
|
-
}
|
|
12
|
+
};
|
|
11
13
|
}>;
|
|
12
|
-
type
|
|
14
|
+
type Cast<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
|
|
15
|
+
type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
|
|
13
16
|
export {};
|
package/lib/tags/Minimum.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
2
|
export type Minimum<Value extends number | bigint> = TagBase<{
|
|
3
|
-
target: Value extends
|
|
3
|
+
target: Value extends bigint ? "bigint" : "number";
|
|
4
4
|
kind: "minimum";
|
|
5
5
|
value: Value;
|
|
6
|
-
validate: `${
|
|
6
|
+
validate: `${Cast<Value>} <= $input`;
|
|
7
7
|
exclusive: ["minimum", "exclusiveMinimum"];
|
|
8
|
-
schema: Value extends
|
|
8
|
+
schema: Value extends bigint ? {
|
|
9
|
+
minimum: Numeric<Value>;
|
|
10
|
+
} : {
|
|
9
11
|
minimum: Value;
|
|
10
|
-
}
|
|
12
|
+
};
|
|
11
13
|
}>;
|
|
12
|
-
type
|
|
14
|
+
type Cast<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
|
|
15
|
+
type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
|
|
13
16
|
export {};
|
package/lib/tags/MultipleOf.d.ts
CHANGED
|
@@ -3,11 +3,14 @@ export type MultipleOf<Value extends number | bigint> = TagBase<{
|
|
|
3
3
|
target: Value extends bigint ? "bigint" : "number";
|
|
4
4
|
kind: "multipleOf";
|
|
5
5
|
value: Value;
|
|
6
|
-
validate: `$input % ${
|
|
6
|
+
validate: `$input % ${Cast<Value>} === ${Value extends bigint ? Cast<0n> : 0}`;
|
|
7
7
|
exclusive: true;
|
|
8
|
-
schema: Value extends
|
|
8
|
+
schema: Value extends bigint ? {
|
|
9
|
+
multipleOf: Numeric<Value>;
|
|
10
|
+
} : {
|
|
9
11
|
multipleOf: Value;
|
|
10
|
-
}
|
|
12
|
+
};
|
|
11
13
|
}>;
|
|
12
|
-
type
|
|
14
|
+
type Cast<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
|
|
15
|
+
type Numeric<T extends bigint> = `${T}` extends `${infer N extends number}` ? N : never;
|
|
13
16
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.8.0-dev.20240811",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
},
|
|
68
68
|
"homepage": "https://typia.io",
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@samchon/openapi": "^0.4.
|
|
70
|
+
"@samchon/openapi": "^0.4.4",
|
|
71
71
|
"commander": "^10.0.0",
|
|
72
72
|
"comment-json": "^4.2.3",
|
|
73
73
|
"inquirer": "^8.2.5",
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
export namespace CommentFactory {
|
|
4
|
-
export const description = (
|
|
5
|
-
symbol: ts.Symbol,
|
|
6
|
-
includeTags: boolean = false,
|
|
7
|
-
): string | undefined => {
|
|
8
|
-
const node = symbol.declarations?.[0];
|
|
9
|
-
if (!node) return undefined;
|
|
10
|
-
|
|
11
|
-
// FOR LEGACY TS < 5.2
|
|
12
|
-
const [major, minor] = ts.versionMajorMinor.split(".").map(Number) as [
|
|
13
|
-
number,
|
|
14
|
-
number,
|
|
15
|
-
];
|
|
16
|
-
if (major < 5 || (major === 5 && minor < 1)) {
|
|
17
|
-
const content: string[] = [];
|
|
18
|
-
const main: string = ts.displayPartsToString(
|
|
19
|
-
symbol.getDocumentationComment(undefined),
|
|
20
|
-
);
|
|
21
|
-
if (main.length) {
|
|
22
|
-
content.push(main);
|
|
23
|
-
if (includeTags && symbol.getJsDocTags().length) content.push("");
|
|
24
|
-
}
|
|
25
|
-
if (includeTags)
|
|
26
|
-
for (const tag of symbol.getJsDocTags()) {
|
|
27
|
-
content.push(
|
|
28
|
-
tag.text
|
|
29
|
-
? `@${tag.name} ${ts.displayPartsToString(tag.text)}`
|
|
30
|
-
: `@${tag.name}`,
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
return content.length
|
|
34
|
-
? content.map((line) => line.split("\r\n").join("\n")).join("\n")
|
|
35
|
-
: undefined;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// NEW FEATURE OF TS 5.2
|
|
39
|
-
const elements: readonly (ts.JSDoc | ts.JSDocTag)[] =
|
|
40
|
-
ts.getJSDocCommentsAndTags(node);
|
|
41
|
-
if (elements.length === 0) return undefined;
|
|
42
|
-
|
|
43
|
-
const content: string[] = [];
|
|
44
|
-
for (const comment of elements) {
|
|
45
|
-
if (ts.isJSDoc(comment)) {
|
|
46
|
-
const parsed: string | undefined = ts.getTextOfJSDocComment(
|
|
47
|
-
comment.comment,
|
|
48
|
-
);
|
|
49
|
-
if (parsed?.length) {
|
|
50
|
-
content.push(parsed);
|
|
51
|
-
if (includeTags && comment.tags?.length) content.push("");
|
|
52
|
-
}
|
|
53
|
-
if (includeTags)
|
|
54
|
-
for (const tag of comment.tags ?? [])
|
|
55
|
-
content.push(parseJSDocTag(tag));
|
|
56
|
-
} else if (includeTags) content.push(parseJSDocTag(comment));
|
|
57
|
-
}
|
|
58
|
-
const output: string = content
|
|
59
|
-
.map((line) => line.split("\r\n").join("\n"))
|
|
60
|
-
.join("\n");
|
|
61
|
-
return output.length ? output : undefined;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export const merge = (comments: ts.SymbolDisplayPart[]): string =>
|
|
65
|
-
comments
|
|
66
|
-
.map((part) => part.text)
|
|
67
|
-
.map((str) => str.split("\r\n").join("\n"))
|
|
68
|
-
.join("");
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
const parseJSDocTag = (tag: ts.JSDocTag): string => {
|
|
72
|
-
const name: string | undefined = (
|
|
73
|
-
tag as ts.JSDocParameterTag
|
|
74
|
-
).name?.getText();
|
|
75
|
-
const parsed: string | undefined = ts.getTextOfJSDocComment(tag.comment);
|
|
76
|
-
return [`@${tag.tagName.text}`, name, parsed]
|
|
77
|
-
.filter((str) => !!str?.length)
|
|
78
|
-
.join(" ");
|
|
79
|
-
};
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
export namespace CommentFactory {
|
|
4
|
+
export const description = (
|
|
5
|
+
symbol: ts.Symbol,
|
|
6
|
+
includeTags: boolean = false,
|
|
7
|
+
): string | undefined => {
|
|
8
|
+
const node = symbol.declarations?.[0];
|
|
9
|
+
if (!node) return undefined;
|
|
10
|
+
|
|
11
|
+
// FOR LEGACY TS < 5.2
|
|
12
|
+
const [major, minor] = ts.versionMajorMinor.split(".").map(Number) as [
|
|
13
|
+
number,
|
|
14
|
+
number,
|
|
15
|
+
];
|
|
16
|
+
if (major < 5 || (major === 5 && minor < 1)) {
|
|
17
|
+
const content: string[] = [];
|
|
18
|
+
const main: string = ts.displayPartsToString(
|
|
19
|
+
symbol.getDocumentationComment(undefined),
|
|
20
|
+
);
|
|
21
|
+
if (main.length) {
|
|
22
|
+
content.push(main);
|
|
23
|
+
if (includeTags && symbol.getJsDocTags().length) content.push("");
|
|
24
|
+
}
|
|
25
|
+
if (includeTags)
|
|
26
|
+
for (const tag of symbol.getJsDocTags()) {
|
|
27
|
+
content.push(
|
|
28
|
+
tag.text
|
|
29
|
+
? `@${tag.name} ${ts.displayPartsToString(tag.text)}`
|
|
30
|
+
: `@${tag.name}`,
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
return content.length
|
|
34
|
+
? content.map((line) => line.split("\r\n").join("\n")).join("\n")
|
|
35
|
+
: undefined;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// NEW FEATURE OF TS 5.2
|
|
39
|
+
const elements: readonly (ts.JSDoc | ts.JSDocTag)[] =
|
|
40
|
+
ts.getJSDocCommentsAndTags(node);
|
|
41
|
+
if (elements.length === 0) return undefined;
|
|
42
|
+
|
|
43
|
+
const content: string[] = [];
|
|
44
|
+
for (const comment of elements) {
|
|
45
|
+
if (ts.isJSDoc(comment)) {
|
|
46
|
+
const parsed: string | undefined = ts.getTextOfJSDocComment(
|
|
47
|
+
comment.comment,
|
|
48
|
+
);
|
|
49
|
+
if (parsed?.length) {
|
|
50
|
+
content.push(parsed);
|
|
51
|
+
if (includeTags && comment.tags?.length) content.push("");
|
|
52
|
+
}
|
|
53
|
+
if (includeTags)
|
|
54
|
+
for (const tag of comment.tags ?? [])
|
|
55
|
+
content.push(parseJSDocTag(tag));
|
|
56
|
+
} else if (includeTags) content.push(parseJSDocTag(comment));
|
|
57
|
+
}
|
|
58
|
+
const output: string = content
|
|
59
|
+
.map((line) => line.split("\r\n").join("\n"))
|
|
60
|
+
.join("\n");
|
|
61
|
+
return output.length ? output : undefined;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export const merge = (comments: ts.SymbolDisplayPart[]): string =>
|
|
65
|
+
comments
|
|
66
|
+
.map((part) => part.text)
|
|
67
|
+
.map((str) => str.split("\r\n").join("\n"))
|
|
68
|
+
.join("");
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
const parseJSDocTag = (tag: ts.JSDocTag): string => {
|
|
72
|
+
const name: string | undefined = (
|
|
73
|
+
tag as ts.JSDocParameterTag
|
|
74
|
+
).name?.getText();
|
|
75
|
+
const parsed: string | undefined = ts.getTextOfJSDocComment(tag.comment);
|
|
76
|
+
return [`@${tag.tagName.text}`, name, parsed]
|
|
77
|
+
.filter((str) => !!str?.length)
|
|
78
|
+
.join(" ");
|
|
79
|
+
};
|