typia 3.7.7 → 3.7.9-dev.20230426
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/executable/TypiaSetupWizard.d.ts +0 -1
- package/lib/executable/TypiaSetupWizard.js +26 -50
- package/lib/executable/TypiaSetupWizard.js.map +1 -1
- package/lib/executable/typia.d.ts +1 -1
- package/lib/executable/typia.js +1 -1
- package/lib/executable/typia.js.map +1 -1
- package/lib/programmers/helpers/PruneJoiner.d.ts +1 -1
- package/lib/programmers/helpers/PruneJoiner.js +29 -2
- package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +4 -2
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/schemas/IJsonSchema.d.ts +9 -4
- package/package.json +10 -8
- package/src/executable/TypiaSetupWizard.ts +14 -36
- package/src/executable/typia.ts +0 -1
- package/src/programmers/helpers/PruneJoiner.ts +94 -2
- package/src/programmers/internal/application_schema.ts +12 -2
- package/src/schemas/IJsonSchema.ts +11 -3
|
@@ -72,10 +72,9 @@ var TypiaSetupWizard;
|
|
|
72
72
|
pack.install({ dev: true, modulo: "ts-node", version: "latest" });
|
|
73
73
|
pack.install({
|
|
74
74
|
dev: true,
|
|
75
|
-
modulo:
|
|
76
|
-
version:
|
|
75
|
+
modulo: "ts-patch",
|
|
76
|
+
version: "2.1.0",
|
|
77
77
|
});
|
|
78
|
-
if (!(args.compiler === "ts-patch")) return [3, 4];
|
|
79
78
|
return [4, pack.save(function (data) {
|
|
80
79
|
var _a;
|
|
81
80
|
(_a = data.scripts) !== null && _a !== void 0 ? _a : (data.scripts = {});
|
|
@@ -91,9 +90,8 @@ var TypiaSetupWizard;
|
|
|
91
90
|
case 3:
|
|
92
91
|
_b.sent();
|
|
93
92
|
CommandExecutor_1.CommandExecutor.run("npm run prepare");
|
|
94
|
-
|
|
95
|
-
case 4:
|
|
96
|
-
case 5:
|
|
93
|
+
return [4, PluginConfigurator_1.PluginConfigurator.configure(args)];
|
|
94
|
+
case 4:
|
|
97
95
|
_b.sent();
|
|
98
96
|
return [2];
|
|
99
97
|
}
|
|
@@ -105,7 +103,6 @@ var TypiaSetupWizard;
|
|
|
105
103
|
var questioned, select, configure;
|
|
106
104
|
var _this = this;
|
|
107
105
|
return __generator(this, function (_a) {
|
|
108
|
-
command.option("--compiler [compiler]", "compiler type");
|
|
109
106
|
command.option("--manager [manager", "package manager");
|
|
110
107
|
command.option("--project [project]", "tsconfig.json file location");
|
|
111
108
|
questioned = { value: false };
|
|
@@ -161,49 +158,38 @@ var TypiaSetupWizard;
|
|
|
161
158
|
});
|
|
162
159
|
}); };
|
|
163
160
|
return [2, action(function (options) { return __awaiter(_this, void 0, void 0, function () {
|
|
164
|
-
var _a, _b, _c, _d
|
|
165
|
-
var
|
|
166
|
-
return __generator(this, function (
|
|
167
|
-
switch (
|
|
161
|
+
var _a, _b, _c, _d;
|
|
162
|
+
var _e, _f;
|
|
163
|
+
return __generator(this, function (_g) {
|
|
164
|
+
switch (_g.label) {
|
|
168
165
|
case 0:
|
|
169
|
-
if (!(options.
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
return [4, select("compiler")("Compiler")([
|
|
173
|
-
"ts-patch",
|
|
174
|
-
"ttypescript",
|
|
175
|
-
])];
|
|
166
|
+
if (!((_e = options.manager) !== null && _e !== void 0)) return [3, 1];
|
|
167
|
+
_a = _e;
|
|
168
|
+
return [3, 3];
|
|
176
169
|
case 1:
|
|
177
|
-
|
|
178
|
-
_h.label = 2;
|
|
179
|
-
case 2:
|
|
180
|
-
if (!((_f = options.manager) !== null && _f !== void 0)) return [3, 3];
|
|
181
|
-
_b = _f;
|
|
182
|
-
return [3, 5];
|
|
183
|
-
case 3:
|
|
184
|
-
_c = options;
|
|
170
|
+
_b = options;
|
|
185
171
|
return [4, select("manager")("Package Manager")([
|
|
186
172
|
"npm",
|
|
187
173
|
"pnpm",
|
|
188
174
|
"yarn",
|
|
189
175
|
])];
|
|
176
|
+
case 2:
|
|
177
|
+
_a = (_b.manager = _g.sent());
|
|
178
|
+
_g.label = 3;
|
|
179
|
+
case 3:
|
|
180
|
+
_a;
|
|
181
|
+
pack.manager = options.manager;
|
|
182
|
+
if (!((_f = options.project) !== null && _f !== void 0)) return [3, 4];
|
|
183
|
+
_c = _f;
|
|
184
|
+
return [3, 6];
|
|
190
185
|
case 4:
|
|
191
|
-
|
|
192
|
-
|
|
186
|
+
_d = options;
|
|
187
|
+
return [4, configure()];
|
|
193
188
|
case 5:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
if (!((_g = options.project) !== null && _g !== void 0)) return [3, 6];
|
|
197
|
-
_d = _g;
|
|
198
|
-
return [3, 8];
|
|
189
|
+
_c = (_d.project = _g.sent());
|
|
190
|
+
_g.label = 6;
|
|
199
191
|
case 6:
|
|
200
|
-
|
|
201
|
-
return [4, configure()];
|
|
202
|
-
case 7:
|
|
203
|
-
_d = (_e.project = _h.sent());
|
|
204
|
-
_h.label = 8;
|
|
205
|
-
case 8:
|
|
206
|
-
_d;
|
|
192
|
+
_c;
|
|
207
193
|
if (questioned.value)
|
|
208
194
|
console.log("");
|
|
209
195
|
return [2, options];
|
|
@@ -213,14 +199,4 @@ var TypiaSetupWizard;
|
|
|
213
199
|
});
|
|
214
200
|
}); };
|
|
215
201
|
})(TypiaSetupWizard = exports.TypiaSetupWizard || (exports.TypiaSetupWizard = {}));
|
|
216
|
-
var COMPILER_DESCRIPTION = [
|
|
217
|
-
"About compiler, if you adapt \"ttypescript\", you should use \"ttsc\" instead.",
|
|
218
|
-
"",
|
|
219
|
-
"Otherwise, you choose \"ts-patch\", you can use the original \"tsc\" command.",
|
|
220
|
-
"However, the \"ts-patch\" hacks \"node_modules/typescript\" source code.",
|
|
221
|
-
"Also, whenever update \"typescript\", you've to run \"npm run prepare\" command.",
|
|
222
|
-
"",
|
|
223
|
-
"By the way, when using \"@nest/cli\", you must just choose \"ts-patch\".",
|
|
224
|
-
"",
|
|
225
|
-
].join("\n");
|
|
226
202
|
//# sourceMappingURL=TypiaSetupWizard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaSetupWizard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAoB;AAEpB,yDAAwD;AACxD,2DAA0D;AAC1D,yDAAwD;AACxD,iEAAgE;AAEhE,IAAiB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaSetupWizard.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
declare const USAGE = "Wrong command has been detected. Use like below:\n\n npx typia setup \\\n --
|
|
2
|
+
declare const USAGE = "Wrong command has been detected. Use like below:\n\n npx typia setup \\\n --manager (npm|pnpm|yarn) \\\n --project {tsconfig.json file path}\n\n - npx typia setup\n - npx typia setup --compiler ts-patch\n - npx typia setup --manager pnpm\n - npx typia setup --project tsconfig.test.json\n\n npx typia generate \n --input {directory} \\\n --output {directory}\n\n --npx typia generate --input src/templates --output src/functinoal\n";
|
|
3
3
|
declare function halt(desc: string): never;
|
|
4
4
|
declare function main(): Promise<void>;
|
package/lib/executable/typia.js
CHANGED
|
@@ -59,7 +59,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
59
59
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
|
-
var USAGE = "Wrong command has been detected. Use like below:\n\n npx typia setup \\\n --
|
|
62
|
+
var USAGE = "Wrong command has been detected. Use like below:\n\n npx typia setup \\\n --manager (npm|pnpm|yarn) \\\n --project {tsconfig.json file path}\n\n - npx typia setup\n - npx typia setup --compiler ts-patch\n - npx typia setup --manager pnpm\n - npx typia setup --project tsconfig.test.json\n\n npx typia generate \n --input {directory} \\\n --output {directory}\n\n --npx typia generate --input src/templates --output src/functinoal\n";
|
|
63
63
|
function halt(desc) {
|
|
64
64
|
console.error(desc);
|
|
65
65
|
process.exit(-1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typia.js","sourceRoot":"","sources":["../../src/executable/typia.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAM,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"typia.js","sourceRoot":"","sources":["../../src/executable/typia.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAM,KAAK,GAAG,8cAgBb,CAAC;AAEF,SAAS,IAAI,CAAC,IAAY;IACtB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,SAAe,IAAI;;;;;;;oBAEX,4EAAa,cAAc,QAAC;;oBAA5B,SAA4B,CAAC;oBAC7B,4EAAa,UAAU,QAAC;;oBAAxB,SAAwB,CAAC;oBACzB,4EAAa,WAAW,QAAC;;oBAAzB,SAAyB,CAAC;;;;oBAE1B,IAAI,CAAC,2DAAyD,CAAC,CAAC;;;oBAG9D,IAAI,GAAuB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;yBAC7C,CAAA,IAAI,KAAK,OAAO,CAAA,EAAhB,cAAgB;oBACa,4EAAa,oBAAoB,QAAC;;oBAAvD,gBAAgB,GAAK,CAAA,SAAkC,CAAA,iBAAvC;oBACxB,WAAM,gBAAgB,CAAC,KAAK,EAAE,EAAA;;oBAA9B,SAA8B,CAAC;;;yBACxB,CAAA,IAAI,KAAK,UAAU,CAAA,EAAnB,eAAmB;;;;oBAEtB,4EAAa,YAAY,QAAC;;oBAA1B,SAA0B,CAAC;;;;oBAE3B,IAAI,CACA,wEAAsE,CACzE,CAAC;;yBAE0B,4EAAa,uBAAuB,QAAC;;oBAA7D,mBAAmB,GAAK,CAAA,SAAqC,CAAA,oBAA1C;oBAC3B,WAAM,mBAAmB,CAAC,QAAQ,EAAE,EAAA;;oBAApC,SAAoC,CAAC;;;oBAClC,IAAI,CAAC,KAAK,CAAC,CAAC;;;;;;CACtB;AACD,IAAI,EAAE,CAAC,KAAK,CAAC,UAAC,GAAG;IACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import ts from "typescript";
|
|
|
2
2
|
import { MetadataObject } from "../../metadata/MetadataObject";
|
|
3
3
|
import { IExpressionEntry } from "./IExpressionEntry";
|
|
4
4
|
export declare namespace PruneJoiner {
|
|
5
|
-
const object: (
|
|
5
|
+
const object: (input: ts.Expression, entries: IExpressionEntry[], obj: MetadataObject) => ts.ConciseBody;
|
|
6
6
|
const array: (input: ts.Expression, arrow: ts.ArrowFunction) => ts.CallExpression;
|
|
7
7
|
const tuple: (children: ts.ConciseBody[], rest: ts.ConciseBody | null) => ts.Block;
|
|
8
8
|
}
|
|
@@ -32,14 +32,19 @@ exports.PruneJoiner = void 0;
|
|
|
32
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
33
|
var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
34
34
|
var ArrayUtil_1 = require("../../utils/ArrayUtil");
|
|
35
|
+
var metadata_to_pattern_1 = require("../internal/metadata_to_pattern");
|
|
35
36
|
var prune_object_properties_1 = require("../internal/prune_object_properties");
|
|
36
37
|
var PruneJoiner;
|
|
37
38
|
(function (PruneJoiner) {
|
|
38
|
-
PruneJoiner.object = function (
|
|
39
|
-
var
|
|
39
|
+
PruneJoiner.object = function (input, entries, obj) {
|
|
40
|
+
var regular = entries.filter(function (entry) { return entry.key.isSoleLiteral(); });
|
|
41
|
+
var dynamic = entries.filter(function (entry) { return !entry.key.isSoleLiteral(); });
|
|
42
|
+
var statements = ArrayUtil_1.ArrayUtil.flat(regular.map(function (entry) {
|
|
40
43
|
return typescript_1.default.isBlock(entry.expression)
|
|
41
44
|
? __spreadArray([], __read(entry.expression.statements), false) : [typescript_1.default.factory.createExpressionStatement(entry.expression)];
|
|
42
45
|
}));
|
|
46
|
+
if (dynamic.length)
|
|
47
|
+
statements.push(typescript_1.default.factory.createExpressionStatement(iterate_dynamic_properties({ regular: regular, dynamic: dynamic })(input)));
|
|
43
48
|
statements.push((0, prune_object_properties_1.prune_object_properties)(obj));
|
|
44
49
|
return typescript_1.default.factory.createBlock(statements, true);
|
|
45
50
|
};
|
|
@@ -57,4 +62,26 @@ var PruneJoiner;
|
|
|
57
62
|
return typescript_1.default.factory.createBlock(statements, true);
|
|
58
63
|
};
|
|
59
64
|
})(PruneJoiner = exports.PruneJoiner || (exports.PruneJoiner = {}));
|
|
65
|
+
var iterate_dynamic_properties = function (props) {
|
|
66
|
+
return function (input) {
|
|
67
|
+
return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.entries"), undefined, [input]), "forEach"), undefined, [
|
|
68
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
69
|
+
IdentifierFactory_1.IdentifierFactory.parameter(typescript_1.default.factory.createArrayBindingPattern(["key", "value"].map(function (l) {
|
|
70
|
+
return typescript_1.default.factory.createBindingElement(undefined, undefined, typescript_1.default.factory.createIdentifier(l), undefined);
|
|
71
|
+
}))),
|
|
72
|
+
], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
|
|
73
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("undefined"), typescript_1.default.factory.createIdentifier("value")), typescript_1.default.factory.createReturnStatement())
|
|
74
|
+
], __read(props.regular.map(function (_a) {
|
|
75
|
+
var key = _a.key;
|
|
76
|
+
return typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral(key.getSoleLiteral()), typescript_1.default.factory.createIdentifier("key")), typescript_1.default.factory.createReturnStatement());
|
|
77
|
+
})), false), __read(props.dynamic.map(function (dynamic) {
|
|
78
|
+
return typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat((0, metadata_to_pattern_1.metadata_to_pattern)(true)(dynamic.key), "/).test")), undefined, [typescript_1.default.factory.createIdentifier("key")]), typescript_1.default.isBlock(dynamic.expression)
|
|
79
|
+
? dynamic.expression
|
|
80
|
+
: typescript_1.default.factory.createBlock([
|
|
81
|
+
typescript_1.default.factory.createExpressionStatement(dynamic.expression),
|
|
82
|
+
]));
|
|
83
|
+
})), false), true)),
|
|
84
|
+
]);
|
|
85
|
+
};
|
|
86
|
+
};
|
|
60
87
|
//# sourceMappingURL=PruneJoiner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PruneJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/PruneJoiner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,mDAAkD;AAElD,+EAA8E;AAG9E,IAAiB,WAAW,
|
|
1
|
+
{"version":3,"file":"PruneJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/PruneJoiner.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,7 @@ var application_schema = function (options) {
|
|
|
41
41
|
var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f;
|
|
42
42
|
var _g;
|
|
43
43
|
if (meta.any === true)
|
|
44
|
-
return {};
|
|
44
|
+
return __assign(__assign({}, attribute), { type: undefined });
|
|
45
45
|
else if (meta.nullable && meta.empty())
|
|
46
46
|
return __assign({ type: "null" }, attribute);
|
|
47
47
|
var union = [];
|
|
@@ -172,7 +172,9 @@ var application_schema = function (options) {
|
|
|
172
172
|
finally { if (e_6) throw e_6.error; }
|
|
173
173
|
}
|
|
174
174
|
if (union.length === 0)
|
|
175
|
-
return blockNever === true
|
|
175
|
+
return blockNever === true
|
|
176
|
+
? null
|
|
177
|
+
: __assign(__assign({}, attribute), { type: undefined });
|
|
176
178
|
else if (union.length === 1)
|
|
177
179
|
return union[0];
|
|
178
180
|
return __assign({ oneOf: union }, attribute);
|
|
@@ -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;
|
|
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;oBACjB,6BACO,SAAS,KACZ,IAAI,EAAE,SAAS,IACjB;qBACD,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;wBAAhC,IAAM,QAAQ,WAAA;wBACf,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ;4BAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;6BACtD,IACD,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;4BACrD,mCAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,KAAK;4BAExD,SAAS;;4BAET,KAAK,CAAC,IAAI,CACN,IAAA,2CAAoB,EAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAC3D,CAAC;qBAAA;;;;;;;;;;oBACV,KAAmB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;wBAA1B,IAAM,IAAI,WAAA;wBACX,IAAI,IAAI,KAAK,QAAQ;4BAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;6BAC7C,IAAI,mCAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK;4BAAE,SAAS;;4BAE7D,KAAK,CAAC,IAAI,CACN,IAAI,KAAK,QAAQ;gCACb,CAAC,CAAC,IAAA,uCAAkB,EAAC,IAAI,EAAE,SAAS,CAAC;gCACrC,CAAC,CAAC,IAAI,KAAK,SAAS;oCACpB,CAAC,CAAC,IAAA,yCAAmB,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;oCAC/C,CAAC,CAAC,IAAA,uCAAkB,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CACrD,CAAC;qBAAA;;;;;;;;;;oBAGV,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA,gBAAA;wBAApC,IAAM,MAAM,WAAA;wBACb,KAAK,CAAC,IAAI,CACN,IAAA,qCAAiB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,EAAE,CACpC,MAAM,EACN,IAAI,CAAC,QAAQ,EACb,SAAS,CACZ,CACJ,CAAC;qBAAA;;;;;;;;;;oBAGN,KAAoB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA,4BAAE;wBAA5B,IAAM,KAAK,WAAA;wBACZ,IAAM,KAAK,GAAuB,IAAA,qCAAiB,EAAC,OAAO,CAAC,CACxD,UAAU,CACb,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;wBACnC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;4BACnD,MAAM,IAAI,KAAK,CACX,gFAAgF,CACnF,CAAC;6BACD,IACD,OAAO,CAAC,OAAO,KAAK,KAAK;4BACzB,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,0CAAE,IAAI,CAAA;4BAE9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;6BACjB;4BAED,IAAM,MAAM,GAAa,KAAK,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC;gCACvC,OAAA,mBAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;4BAApB,CAAoB,CACvB,CAAC;4BACF,KAAK,CAAC,IAAI,CACN,IAAA,qCAAiB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CACzC,MAAM,EACN,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,KAAI,KAAK,EACzB,SAAS,CACZ,CACJ,CAAC;yBACL;qBACJ;;;;;;;;;;oBAGD,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;wBAA5B,IAAM,MAAM,WAAA;wBACb,IAAI,mCAAgB,CAAC,MAAM,CAAC,MAAM,CAAC;4BAC/B,KAAK,CAAC,IAAI,CACN,MAAM,KAAK,QAAQ;gCACf,CAAC,CAAC,IAAA,uCAAkB,EAAC,IAAI,EAAE,SAAS,CAAC;gCACrC,CAAC,CAAC,MAAM,KAAK,SAAS;oCACtB,CAAC,CAAC,IAAA,yCAAmB,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;oCAC/C,CAAC,CAAC,IAAA,uCAAkB,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CACrD,CAAC;;4BAEF,KAAK,CAAC,IAAI,CACN,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAC3C,IAAI,CAAC,QAAQ,EACb,SAAS,CACZ,CACJ,CAAC;qBAAA;;;;;;;;;gBACV,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;oBAChB,KAAK,CAAC,IAAI,CACN,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAC1C,IAAI,CAAC,QAAQ,EACb,SAAS,CACZ,CACJ,CAAC;gBACN,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;oBAChB,KAAK,CAAC,IAAI,CACN,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAC1C,IAAI,CAAC,QAAQ,EACb,SAAS,CACZ,CACJ,CAAC;;oBAGN,KAAkB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA,4BAAE;wBAA3B,IAAM,GAAG,WAAA;wBACV,IAAM,GAAG,GAAW,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBAClE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACjE,KAAK,CAAC,IAAI,CACN,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,GAAG,CAAC,SAAS;4BACvC,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,SAAS,CAAC,CAAC,UAAG,OAAO,CAAC,MAAM,cAAI,GAAG,CAAE,EAAE,SAAS,CAAC,CAC1D,CAAC;qBACL;;;;;;;;;gBAKD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAClB,OAAO,UAAU,KAAK,IAAI;wBACtB,CAAC,CAAC,IAAK;wBACP,CAAC,uBACQ,SAAS,KACZ,IAAI,EAAE,SAAS,GAClB,CAAC;qBACP,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC;gBAC9C,kBAAS,KAAK,EAAE,KAAK,IAAK,SAAS,EAAG;YAC1C,CAAC;QAlJD,CAkJC;IAnJD,CAmJC;AApJD,CAoJC,CAAC;AAtJO,QAAA,kBAAkB,sBAsJzB;AAKN,IAAM,SAAS,GAAG,UACd,IAAY,EACZ,SAAiC,IACR,OAAA,YACzB,IAAI,MAAA,IACD,SAAS,EACd,EAH2B,CAG3B,CAAC;AAKH,IAAM,SAAS,GAAG,UACd,aAAqB,EACrB,SAAiC,IACC,OAAA,YAClC,aAAa,eAAA,IACV,SAAS,EACd,EAHoC,CAGpC,CAAC;AAEH,IAAM,SAAS,GAAG,2DAA2D,CAAC"}
|
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
|
|
2
2
|
import { IMetadataTag } from "../metadata/IMetadataTag";
|
|
3
3
|
import { Atomic } from "../typings/Atomic";
|
|
4
|
-
export type IJsonSchema = IJsonSchema.
|
|
4
|
+
export type IJsonSchema = IJsonSchema.Known | IJsonSchema.IUnknown;
|
|
5
5
|
export declare namespace IJsonSchema {
|
|
6
|
-
type
|
|
6
|
+
type Known = IEnumeration<"boolean"> | IEnumeration<"number"> | IEnumeration<"string"> | IBoolean | IInteger | INumber | IString | IArray | ITuple | IOneOf | IReference | IRecursiveReference | INullOnly;
|
|
7
|
+
interface IUnknown extends IAttribute {
|
|
8
|
+
type: undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Use {@link Known} type instead.
|
|
12
|
+
*/
|
|
13
|
+
type NotUnknown = Known;
|
|
7
14
|
interface IEnumeration<Literal extends Exclude<Atomic.Literal, "bigint">> extends IAtomic<Literal> {
|
|
8
15
|
enum: Array<Atomic.Mapper[Literal]>;
|
|
9
16
|
}
|
|
@@ -74,8 +81,6 @@ export declare namespace IJsonSchema {
|
|
|
74
81
|
interface IOneOf extends IAttribute {
|
|
75
82
|
oneOf: IJsonSchema[];
|
|
76
83
|
}
|
|
77
|
-
interface IUnknown {
|
|
78
|
-
}
|
|
79
84
|
interface ISignificant<Literal extends string> extends IAttribute {
|
|
80
85
|
type: Literal;
|
|
81
86
|
nullable: boolean;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.9-dev.20230426",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -10,16 +10,17 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"benchmark": "npm run build:benchmark && node measure/benchmark",
|
|
12
12
|
"benchmark:generate": "ts-node benchmark/generate && npm run build:benchmark",
|
|
13
|
-
"test:generate": "ts-node -P build/tsconfig.json
|
|
13
|
+
"test:generate": "ts-node -P build/tsconfig.json build/test.ts",
|
|
14
14
|
"----------------------------------------------": "",
|
|
15
|
-
"build": "rimraf lib &&
|
|
16
|
-
"build:test": "rimraf bin &&
|
|
17
|
-
"build:benchmark": "rimraf measure &&
|
|
15
|
+
"build": "rimraf lib && tsc --removeComments --declaration false && tsc --emitDeclarationOnly",
|
|
16
|
+
"build:test": "rimraf bin && tsc -p test/tsconfig.json",
|
|
17
|
+
"build:benchmark": "rimraf measure && tsc -p benchmark/tsconfig.json",
|
|
18
18
|
"build:test:prettier": "npm run build:test && prettier --write ./bin/**/*.js",
|
|
19
|
-
"dev": "rimraf lib &&
|
|
20
|
-
"dev:test": "rimraf bin &&
|
|
19
|
+
"dev": "rimraf lib && tsc --watch",
|
|
20
|
+
"dev:test": "rimraf bin && tsc -p test/tsconfig.json --watch",
|
|
21
21
|
"eslint": "eslint ./**/*.ts",
|
|
22
22
|
"eslint:fix": "eslint ./**/*.ts --fix",
|
|
23
|
+
"prepare": "ts-patch install",
|
|
23
24
|
"prettier": "prettier --write ./**/*.ts",
|
|
24
25
|
"-----------------------------------------------": "",
|
|
25
26
|
"issue": "node test/issue",
|
|
@@ -74,6 +75,7 @@
|
|
|
74
75
|
"randexp": "^0.5.3"
|
|
75
76
|
},
|
|
76
77
|
"peerDependencies": {
|
|
78
|
+
"ts-patch": "^2.1.0",
|
|
77
79
|
"typescript": ">= 4.5.2 && < 5.0.0"
|
|
78
80
|
},
|
|
79
81
|
"devDependencies": {
|
|
@@ -116,7 +118,7 @@
|
|
|
116
118
|
"suppress-warnings": "^1.0.2",
|
|
117
119
|
"tgrid": "^0.8.7",
|
|
118
120
|
"ts-node": "^10.9.1",
|
|
119
|
-
"
|
|
121
|
+
"ts-patch": "^2.1.0",
|
|
120
122
|
"typescript": "^4.9.5",
|
|
121
123
|
"typescript-transform-paths": "^3.4.6",
|
|
122
124
|
"uuid": "^8.3.2",
|
|
@@ -7,7 +7,6 @@ import { PluginConfigurator } from "./setup/PluginConfigurator";
|
|
|
7
7
|
|
|
8
8
|
export namespace TypiaSetupWizard {
|
|
9
9
|
export interface IArguments {
|
|
10
|
-
compiler: "ts-patch" | "ttypescript";
|
|
11
10
|
manager: "npm" | "pnpm" | "yarn";
|
|
12
11
|
project: string | null;
|
|
13
12
|
}
|
|
@@ -32,23 +31,21 @@ export namespace TypiaSetupWizard {
|
|
|
32
31
|
// INSTALL COMPILER
|
|
33
32
|
pack.install({
|
|
34
33
|
dev: true,
|
|
35
|
-
modulo:
|
|
36
|
-
version:
|
|
34
|
+
modulo: "ts-patch",
|
|
35
|
+
version: "2.1.0",
|
|
37
36
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
data.scripts.prepare
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
CommandExecutor.run("npm run prepare");
|
|
51
|
-
}
|
|
37
|
+
await pack.save((data) => {
|
|
38
|
+
data.scripts ??= {};
|
|
39
|
+
if (
|
|
40
|
+
typeof data.scripts.prepare === "string" &&
|
|
41
|
+
data.scripts.prepare.length
|
|
42
|
+
) {
|
|
43
|
+
if (data.scripts.prepare.indexOf("ts-patch install") === -1)
|
|
44
|
+
data.scripts.prepare =
|
|
45
|
+
"ts-patch install && " + data.scripts.prepare;
|
|
46
|
+
} else data.scripts.prepare = "ts-patch install";
|
|
47
|
+
});
|
|
48
|
+
CommandExecutor.run("npm run prepare");
|
|
52
49
|
|
|
53
50
|
// CONFIGURE TYPIA
|
|
54
51
|
await PluginConfigurator.configure(args);
|
|
@@ -61,7 +58,6 @@ export namespace TypiaSetupWizard {
|
|
|
61
58
|
action,
|
|
62
59
|
) => {
|
|
63
60
|
// PREPARE ASSETS
|
|
64
|
-
command.option("--compiler [compiler]", "compiler type");
|
|
65
61
|
command.option("--manager [manager", "package manager");
|
|
66
62
|
command.option("--project [project]", "tsconfig.json file location");
|
|
67
63
|
|
|
@@ -111,13 +107,6 @@ export namespace TypiaSetupWizard {
|
|
|
111
107
|
|
|
112
108
|
// DO CONSTRUCT
|
|
113
109
|
return action(async (options) => {
|
|
114
|
-
if (options.compiler === undefined) {
|
|
115
|
-
console.log(COMPILER_DESCRIPTION);
|
|
116
|
-
options.compiler = await select("compiler")(`Compiler`)([
|
|
117
|
-
"ts-patch" as const,
|
|
118
|
-
"ttypescript" as const,
|
|
119
|
-
]);
|
|
120
|
-
}
|
|
121
110
|
options.manager ??= await select("manager")("Package Manager")([
|
|
122
111
|
"npm" as const,
|
|
123
112
|
"pnpm" as const,
|
|
@@ -131,14 +120,3 @@ export namespace TypiaSetupWizard {
|
|
|
131
120
|
});
|
|
132
121
|
};
|
|
133
122
|
}
|
|
134
|
-
|
|
135
|
-
const COMPILER_DESCRIPTION = [
|
|
136
|
-
`About compiler, if you adapt "ttypescript", you should use "ttsc" instead.`,
|
|
137
|
-
``,
|
|
138
|
-
`Otherwise, you choose "ts-patch", you can use the original "tsc" command.`,
|
|
139
|
-
`However, the "ts-patch" hacks "node_modules/typescript" source code.`,
|
|
140
|
-
`Also, whenever update "typescript", you've to run "npm run prepare" command.`,
|
|
141
|
-
``,
|
|
142
|
-
`By the way, when using "@nest/cli", you must just choose "ts-patch".`,
|
|
143
|
-
``,
|
|
144
|
-
].join("\n");
|
package/src/executable/typia.ts
CHANGED
|
@@ -6,22 +6,34 @@ import { MetadataObject } from "../../metadata/MetadataObject";
|
|
|
6
6
|
|
|
7
7
|
import { ArrayUtil } from "../../utils/ArrayUtil";
|
|
8
8
|
|
|
9
|
+
import { metadata_to_pattern } from "../internal/metadata_to_pattern";
|
|
9
10
|
import { prune_object_properties } from "../internal/prune_object_properties";
|
|
10
11
|
import { IExpressionEntry } from "./IExpressionEntry";
|
|
11
12
|
|
|
12
13
|
export namespace PruneJoiner {
|
|
13
14
|
export const object = (
|
|
14
|
-
|
|
15
|
+
input: ts.Expression,
|
|
15
16
|
entries: IExpressionEntry[],
|
|
16
17
|
obj: MetadataObject,
|
|
17
18
|
): ts.ConciseBody => {
|
|
19
|
+
// PREPARE ASSETS
|
|
20
|
+
const regular = entries.filter((entry) => entry.key.isSoleLiteral());
|
|
21
|
+
const dynamic = entries.filter((entry) => !entry.key.isSoleLiteral());
|
|
22
|
+
|
|
18
23
|
const statements: ts.Statement[] = ArrayUtil.flat(
|
|
19
|
-
|
|
24
|
+
regular.map((entry) =>
|
|
20
25
|
ts.isBlock(entry.expression)
|
|
21
26
|
? [...entry.expression.statements]
|
|
22
27
|
: [ts.factory.createExpressionStatement(entry.expression)],
|
|
23
28
|
),
|
|
24
29
|
);
|
|
30
|
+
if (dynamic.length)
|
|
31
|
+
statements.push(
|
|
32
|
+
ts.factory.createExpressionStatement(
|
|
33
|
+
iterate_dynamic_properties({ regular, dynamic })(input),
|
|
34
|
+
),
|
|
35
|
+
);
|
|
36
|
+
|
|
25
37
|
statements.push(prune_object_properties(obj));
|
|
26
38
|
return ts.factory.createBlock(statements, true);
|
|
27
39
|
};
|
|
@@ -50,3 +62,83 @@ export namespace PruneJoiner {
|
|
|
50
62
|
return ts.factory.createBlock(statements, true);
|
|
51
63
|
};
|
|
52
64
|
}
|
|
65
|
+
|
|
66
|
+
const iterate_dynamic_properties =
|
|
67
|
+
(props: { regular: IExpressionEntry[]; dynamic: IExpressionEntry[] }) =>
|
|
68
|
+
(input: ts.Expression) =>
|
|
69
|
+
ts.factory.createCallExpression(
|
|
70
|
+
IdentifierFactory.join(
|
|
71
|
+
ts.factory.createCallExpression(
|
|
72
|
+
ts.factory.createIdentifier("Object.entries"),
|
|
73
|
+
undefined,
|
|
74
|
+
[input],
|
|
75
|
+
),
|
|
76
|
+
"forEach",
|
|
77
|
+
),
|
|
78
|
+
undefined,
|
|
79
|
+
[
|
|
80
|
+
ts.factory.createArrowFunction(
|
|
81
|
+
undefined,
|
|
82
|
+
undefined,
|
|
83
|
+
[
|
|
84
|
+
IdentifierFactory.parameter(
|
|
85
|
+
ts.factory.createArrayBindingPattern(
|
|
86
|
+
["key", "value"].map((l) =>
|
|
87
|
+
ts.factory.createBindingElement(
|
|
88
|
+
undefined,
|
|
89
|
+
undefined,
|
|
90
|
+
ts.factory.createIdentifier(l),
|
|
91
|
+
undefined,
|
|
92
|
+
),
|
|
93
|
+
),
|
|
94
|
+
),
|
|
95
|
+
),
|
|
96
|
+
],
|
|
97
|
+
undefined,
|
|
98
|
+
undefined,
|
|
99
|
+
ts.factory.createBlock(
|
|
100
|
+
[
|
|
101
|
+
ts.factory.createIfStatement(
|
|
102
|
+
ts.factory.createStrictEquality(
|
|
103
|
+
ts.factory.createIdentifier("undefined"),
|
|
104
|
+
ts.factory.createIdentifier("value"),
|
|
105
|
+
),
|
|
106
|
+
ts.factory.createReturnStatement(),
|
|
107
|
+
),
|
|
108
|
+
...props.regular.map(({ key }) =>
|
|
109
|
+
ts.factory.createIfStatement(
|
|
110
|
+
ts.factory.createStrictEquality(
|
|
111
|
+
ts.factory.createStringLiteral(
|
|
112
|
+
key.getSoleLiteral()!,
|
|
113
|
+
),
|
|
114
|
+
ts.factory.createIdentifier("key"),
|
|
115
|
+
),
|
|
116
|
+
ts.factory.createReturnStatement(),
|
|
117
|
+
),
|
|
118
|
+
),
|
|
119
|
+
...props.dynamic.map((dynamic) =>
|
|
120
|
+
ts.factory.createIfStatement(
|
|
121
|
+
ts.factory.createCallExpression(
|
|
122
|
+
ts.factory.createIdentifier(
|
|
123
|
+
`RegExp(/${metadata_to_pattern(
|
|
124
|
+
true,
|
|
125
|
+
)(dynamic.key)}/).test`,
|
|
126
|
+
),
|
|
127
|
+
undefined,
|
|
128
|
+
[ts.factory.createIdentifier("key")],
|
|
129
|
+
),
|
|
130
|
+
ts.isBlock(dynamic.expression)
|
|
131
|
+
? dynamic.expression
|
|
132
|
+
: ts.factory.createBlock([
|
|
133
|
+
ts.factory.createExpressionStatement(
|
|
134
|
+
dynamic.expression,
|
|
135
|
+
),
|
|
136
|
+
]),
|
|
137
|
+
),
|
|
138
|
+
),
|
|
139
|
+
],
|
|
140
|
+
true,
|
|
141
|
+
),
|
|
142
|
+
),
|
|
143
|
+
],
|
|
144
|
+
);
|
|
@@ -26,7 +26,11 @@ export const application_schema =
|
|
|
26
26
|
attribute: IJsonSchema.IAttribute,
|
|
27
27
|
): BlockNever extends true ? IJsonSchema | null : IJsonSchema => {
|
|
28
28
|
// VULNERABLE CASE
|
|
29
|
-
if (meta.any === true)
|
|
29
|
+
if (meta.any === true)
|
|
30
|
+
return {
|
|
31
|
+
...attribute,
|
|
32
|
+
type: undefined,
|
|
33
|
+
};
|
|
30
34
|
else if (meta.nullable && meta.empty())
|
|
31
35
|
return { type: "null", ...attribute };
|
|
32
36
|
|
|
@@ -154,7 +158,13 @@ export const application_schema =
|
|
|
154
158
|
//----
|
|
155
159
|
// RETURNS
|
|
156
160
|
//----
|
|
157
|
-
if (union.length === 0)
|
|
161
|
+
if (union.length === 0)
|
|
162
|
+
return blockNever === true
|
|
163
|
+
? null!
|
|
164
|
+
: {
|
|
165
|
+
...attribute,
|
|
166
|
+
type: undefined,
|
|
167
|
+
};
|
|
158
168
|
else if (union.length === 1) return union[0]!;
|
|
159
169
|
return { oneOf: union, ...attribute };
|
|
160
170
|
};
|
|
@@ -3,9 +3,9 @@ import { IMetadataTag } from "../metadata/IMetadataTag";
|
|
|
3
3
|
|
|
4
4
|
import { Atomic } from "../typings/Atomic";
|
|
5
5
|
|
|
6
|
-
export type IJsonSchema = IJsonSchema.
|
|
6
|
+
export type IJsonSchema = IJsonSchema.Known | IJsonSchema.IUnknown;
|
|
7
7
|
export namespace IJsonSchema {
|
|
8
|
-
export type
|
|
8
|
+
export type Known =
|
|
9
9
|
| IEnumeration<"boolean">
|
|
10
10
|
| IEnumeration<"number">
|
|
11
11
|
| IEnumeration<"string">
|
|
@@ -20,6 +20,15 @@ export namespace IJsonSchema {
|
|
|
20
20
|
| IRecursiveReference
|
|
21
21
|
| INullOnly;
|
|
22
22
|
|
|
23
|
+
export interface IUnknown extends IAttribute {
|
|
24
|
+
type: undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated Use {@link Known} type instead.
|
|
29
|
+
*/
|
|
30
|
+
export type NotUnknown = Known;
|
|
31
|
+
|
|
23
32
|
/* -----------------------------------------------------------
|
|
24
33
|
ATOMICS
|
|
25
34
|
----------------------------------------------------------- */
|
|
@@ -103,7 +112,6 @@ export namespace IJsonSchema {
|
|
|
103
112
|
export interface IOneOf extends IAttribute {
|
|
104
113
|
oneOf: IJsonSchema[];
|
|
105
114
|
}
|
|
106
|
-
export interface IUnknown {}
|
|
107
115
|
|
|
108
116
|
export interface ISignificant<Literal extends string> extends IAttribute {
|
|
109
117
|
type: Literal;
|