typia 3.9.0-dev.20230603 → 3.9.0-dev.20230604
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/MetadataCollection.d.ts +4 -4
- package/lib/factories/MetadataCollection.js +12 -12
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_definition.d.ts +2 -2
- package/lib/factories/internal/metadata/emplace_metadata_definition.js +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_definition.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_collection.js +4 -4
- package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_definition.js +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_definition.js.map +1 -1
- package/lib/metadata/IMetadata.d.ts +1 -1
- package/lib/metadata/{IMetadataDefinition.d.ts → IMetadataAlias.d.ts} +1 -1
- package/lib/metadata/{IMetadataDefinition.js → IMetadataAlias.js} +1 -1
- package/lib/metadata/IMetadataAlias.js.map +1 -0
- package/lib/metadata/IMetadataCollection.d.ts +2 -2
- package/lib/metadata/Metadata.d.ts +2 -2
- package/lib/metadata/Metadata.js +25 -25
- package/lib/metadata/Metadata.js.map +1 -1
- package/lib/metadata/{MetadataDefinition.d.ts → MetadataAlias.d.ts} +3 -3
- package/lib/metadata/{MetadataDefinition.js → MetadataAlias.js} +10 -10
- package/lib/metadata/MetadataAlias.js.map +1 -0
- package/lib/programmers/internal/application_boolean.js +1 -1
- package/lib/programmers/internal/application_boolean.js.map +1 -1
- package/lib/programmers/internal/application_constant.js +2 -2
- package/lib/programmers/internal/application_constant.js.map +1 -1
- package/lib/programmers/internal/application_default.js +3 -3
- package/lib/programmers/internal/application_default.js.map +1 -1
- package/lib/programmers/internal/application_definition.d.ts +2 -2
- package/lib/programmers/internal/application_definition.js +11 -11
- package/lib/programmers/internal/application_definition.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +3 -3
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/schemas/IJsonComponents.d.ts +2 -2
- package/package.json +1 -1
- package/src/factories/MetadataCollection.ts +14 -17
- package/src/factories/internal/metadata/emplace_metadata_definition.ts +3 -3
- package/src/factories/internal/metadata/iterate_metadata_collection.ts +4 -4
- package/src/factories/internal/metadata/iterate_metadata_definition.ts +5 -9
- package/src/metadata/IMetadata.ts +1 -1
- package/src/metadata/{IMetadataDefinition.ts → IMetadataAlias.ts} +1 -1
- package/src/metadata/IMetadataCollection.ts +2 -2
- package/src/metadata/IMetadataDictionary.ts +2 -2
- package/src/metadata/Metadata.ts +25 -318
- package/src/metadata/{MetadataDefinition.ts → MetadataAlias.ts} +7 -11
- package/src/programmers/internal/application_boolean.ts +1 -1
- package/src/programmers/internal/application_constant.ts +2 -2
- package/src/programmers/internal/application_default.ts +3 -3
- package/src/programmers/internal/application_definition.ts +13 -13
- package/src/programmers/internal/application_schema.ts +3 -3
- package/src/schemas/IJsonComponents.ts +2 -2
- package/lib/metadata/IMetadataDefinition.js.map +0 -1
- package/lib/metadata/MetadataDefinition.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var
|
|
5
|
-
function
|
|
3
|
+
exports.MetadataAlias = void 0;
|
|
4
|
+
var MetadataAlias = (function () {
|
|
5
|
+
function MetadataAlias(props) {
|
|
6
6
|
this.name = props.name;
|
|
7
7
|
this.value = props.value;
|
|
8
8
|
this.description = props.description;
|
|
@@ -10,10 +10,10 @@ var MetadataDefinition = (function () {
|
|
|
10
10
|
this.recursive = props.recursive;
|
|
11
11
|
this.nullables = props.nullables;
|
|
12
12
|
}
|
|
13
|
-
|
|
14
|
-
return new
|
|
13
|
+
MetadataAlias.create = function (props) {
|
|
14
|
+
return new MetadataAlias(props);
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
MetadataAlias._From_without_value = function (props) {
|
|
17
17
|
return this.create({
|
|
18
18
|
name: props.name,
|
|
19
19
|
value: null,
|
|
@@ -23,7 +23,7 @@ var MetadataDefinition = (function () {
|
|
|
23
23
|
nullables: props.nullables.slice(),
|
|
24
24
|
});
|
|
25
25
|
};
|
|
26
|
-
|
|
26
|
+
MetadataAlias.prototype.toJSON = function () {
|
|
27
27
|
return {
|
|
28
28
|
name: this.name,
|
|
29
29
|
value: this.value.toJSON(),
|
|
@@ -33,7 +33,7 @@ var MetadataDefinition = (function () {
|
|
|
33
33
|
nullables: this.nullables.slice(),
|
|
34
34
|
};
|
|
35
35
|
};
|
|
36
|
-
return
|
|
36
|
+
return MetadataAlias;
|
|
37
37
|
}());
|
|
38
|
-
exports.
|
|
39
|
-
//# sourceMappingURL=
|
|
38
|
+
exports.MetadataAlias = MetadataAlias;
|
|
39
|
+
//# sourceMappingURL=MetadataAlias.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataAlias.js","sourceRoot":"","sources":["../../src/metadata/MetadataAlias.ts"],"names":[],"mappings":";;;AAMA;IAcI,uBAAoB,KAAqC;QACrD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,CAAC;IAKa,oBAAM,GAApB,UAAqB,KAAqC;QACtD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAKa,iCAAmB,GAAjC,UAAkC,KAAoC;QAClE,OAAO,IAAI,CAAC,MAAM,CAAC;YACf,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,IAAK;YACZ,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE;SACrC,CAAC,CAAC;IACP,CAAC;IAEM,8BAAM,GAAb;QACI,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;SACpC,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AAtDD,IAsDC;AAtDY,sCAAa"}
|
|
@@ -13,6 +13,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.application_boolean = void 0;
|
|
15
15
|
var application_default_1 = require("./application_default");
|
|
16
|
-
var application_boolean = function (attribute) { return (__assign(__assign({}, attribute), { default: (0, application_default_1.application_default)(attribute)(function (
|
|
16
|
+
var application_boolean = function (attribute) { return (__assign(__assign({}, attribute), { default: (0, application_default_1.application_default)(attribute)(function (alias) { return alias === "true" || alias === "false"; })(function (str) { return Boolean(str); }), type: "boolean" })); };
|
|
17
17
|
exports.application_boolean = application_boolean;
|
|
18
18
|
//# sourceMappingURL=application_boolean.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_boolean.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_boolean.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6DAA4D;AAKrD,IAAM,mBAAmB,GAAG,UAC/B,SAAiC,IACV,OAAA,uBACpB,SAAS,KACZ,OAAO,EAAE,IAAA,yCAAmB,EAAC,SAAS,CAAC,CACnC,UAAC,
|
|
1
|
+
{"version":3,"file":"application_boolean.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_boolean.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6DAA4D;AAKrD,IAAM,mBAAmB,GAAG,UAC/B,SAAiC,IACV,OAAA,uBACpB,SAAS,KACZ,OAAO,EAAE,IAAA,yCAAmB,EAAC,SAAS,CAAC,CACnC,UAAC,KAAK,IAAK,OAAA,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAArC,CAAqC,CACnD,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,EAAZ,CAAY,CAAC,EACxB,IAAI,EAAE,SAAS,IACjB,EANyB,CAMzB,CAAC;AARU,QAAA,mBAAmB,uBAQ7B"}
|
|
@@ -14,8 +14,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
14
|
exports.application_constant = void 0;
|
|
15
15
|
var application_default_1 = require("./application_default");
|
|
16
16
|
var application_constant = function (constant) {
|
|
17
|
-
return function (attribute) { return (__assign(__assign({}, attribute), { type: constant.type, enum: constant.values, default: (0, application_default_1.application_default)(attribute)(function (
|
|
18
|
-
return constant.values.some(function (v) { return v.toString() ===
|
|
17
|
+
return function (attribute) { return (__assign(__assign({}, attribute), { type: constant.type, enum: constant.values, default: (0, application_default_1.application_default)(attribute)(function (alias) {
|
|
18
|
+
return constant.values.some(function (v) { return v.toString() === alias; });
|
|
19
19
|
})(constant.type === "string"
|
|
20
20
|
? function (str) { return str; }
|
|
21
21
|
: constant.type === "number"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_constant.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_constant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,6DAA4D;AAKrD,IAAM,oBAAoB,GAC7B,UAAC,QAA0B;IAC3B,OAAA,UAAC,SAAiC,IAAoC,OAAA,uBAC/D,SAAS,KACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,IAAI,EAAE,QAAQ,CAAC,MAAa,EAC5B,OAAO,EAAE,IAAA,yCAAmB,EAAC,SAAS,CAAC,CAAC,UAAC,
|
|
1
|
+
{"version":3,"file":"application_constant.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_constant.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,6DAA4D;AAKrD,IAAM,oBAAoB,GAC7B,UAAC,QAA0B;IAC3B,OAAA,UAAC,SAAiC,IAAoC,OAAA,uBAC/D,SAAS,KACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,EACnB,IAAI,EAAE,QAAQ,CAAC,MAAa,EAC5B,OAAO,EAAE,IAAA,yCAAmB,EAAC,SAAS,CAAC,CAAC,UAAC,KAAK;YAC1C,OAAA,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,EAAE,KAAK,KAAK,EAAtB,CAAsB,CAAC;QAAnD,CAAmD,CACtD,CACG,QAAQ,CAAC,IAAI,KAAK,QAAQ;YACtB,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,EAAH,CAAG;YACd,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;gBAC5B,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,MAAM,CAAC,GAAG,CAAC,EAAX,CAAW;gBACtB,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS;oBAC7B,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,OAAO,CAAC,GAAG,CAAC,EAAZ,CAAY;oBACvB,CAAC,CAAC,UAAC,GAAG,IAAK,OAAA,MAAM,CAAC,GAAG,CAAQ,EAAlB,CAAkB,CACpC,IACH,EAfoE,CAepE;AAfF,CAeE,CAAC;AAjBM,QAAA,oBAAoB,wBAiB1B"}
|
|
@@ -20,9 +20,9 @@ var application_default = function (attribute) {
|
|
|
20
20
|
var defaults = ((_b = attribute["x-typia-jsDocTags"]) !== null && _b !== void 0 ? _b : []).filter(function (tag) { return tag.name === "default"; });
|
|
21
21
|
try {
|
|
22
22
|
for (var defaults_1 = __values(defaults), defaults_1_1 = defaults_1.next(); !defaults_1_1.done; defaults_1_1 = defaults_1.next()) {
|
|
23
|
-
var
|
|
24
|
-
if (((_c =
|
|
25
|
-
return caster(
|
|
23
|
+
var alias = defaults_1_1.value;
|
|
24
|
+
if (((_c = alias.text) === null || _c === void 0 ? void 0 : _c.length) && pred(alias.text[0].text))
|
|
25
|
+
return caster(alias.text[0].text);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_default.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,mBAAmB,GAC5B,UAAC,SAAiC;IAClC,OAAA,UAAC,IAAgC;QACjC,OAAA,UAAI,MAA0B;;;YAC1B,IAAM,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,mBAAmB,CAAC,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,SAAS,EAAtB,CAAsB,CAClC,CAAC;;gBACF,
|
|
1
|
+
{"version":3,"file":"application_default.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,mBAAmB,GAC5B,UAAC,SAAiC;IAClC,OAAA,UAAC,IAAgC;QACjC,OAAA,UAAI,MAA0B;;;YAC1B,IAAM,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,mBAAmB,CAAC,mCAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,SAAS,EAAtB,CAAsB,CAClC,CAAC;;gBACF,KAAoB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA;oBAAvB,IAAM,KAAK,qBAAA;oBACZ,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,MAAM,KAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;wBAC/C,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;iBAAA;;;;;;;;;YAC3C,OAAO,SAAS,CAAC;QACrB,CAAC;IARD,CAQC;AATD,CASC,CAAC;AAXO,QAAA,mBAAmB,uBAW1B"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MetadataAlias } from "../../metadata/MetadataAlias";
|
|
2
2
|
import { IJsonComponents } from "../../schemas/IJsonComponents";
|
|
3
3
|
import { IJsonSchema } from "../../module";
|
|
4
4
|
import { ApplicationProgrammer } from "../ApplicationProgrammer";
|
|
5
|
-
export declare const application_definition: (options: ApplicationProgrammer.IOptions) => <BlockNever extends boolean>(blockNever: BlockNever) => (components: IJsonComponents) => (
|
|
5
|
+
export declare const application_definition: (options: ApplicationProgrammer.IOptions) => <BlockNever extends boolean>(blockNever: BlockNever) => (components: IJsonComponents) => (alias: MetadataAlias) => (nullable: boolean) => IJsonSchema.IReference | IJsonSchema.IRecursiveReference;
|
|
@@ -17,23 +17,23 @@ var application_schema_1 = require("./application_schema");
|
|
|
17
17
|
var application_definition = function (options) {
|
|
18
18
|
return function (blockNever) {
|
|
19
19
|
return function (components) {
|
|
20
|
-
return function (
|
|
20
|
+
return function (alias) {
|
|
21
21
|
return function (nullable) {
|
|
22
22
|
var _a, _b, _c;
|
|
23
23
|
var key = options.purpose === "ajv"
|
|
24
|
-
?
|
|
25
|
-
: "".concat(
|
|
26
|
-
var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/
|
|
27
|
-
if (((_a = components.
|
|
28
|
-
(_b = components.
|
|
29
|
-
components.
|
|
24
|
+
? alias.name
|
|
25
|
+
: "".concat(alias.name).concat(nullable ? ".Nullable" : "");
|
|
26
|
+
var $id = "".concat(JSON_SCHEMA_PREFIX_1.JSON_COMPONENTS_PREFIX, "/aliases/").concat(key);
|
|
27
|
+
if (((_a = components.aliases) === null || _a === void 0 ? void 0 : _a[key]) === undefined) {
|
|
28
|
+
(_b = components.aliases) !== null && _b !== void 0 ? _b : (components.aliases = {});
|
|
29
|
+
components.aliases[key] = {
|
|
30
30
|
$id: key,
|
|
31
31
|
};
|
|
32
|
-
var schema = (0, application_schema_1.application_schema)(options)(blockNever)(components)(
|
|
33
|
-
(_c = components.
|
|
34
|
-
components.
|
|
32
|
+
var schema = (0, application_schema_1.application_schema)(options)(blockNever)(components)(alias.value)({});
|
|
33
|
+
(_c = components.aliases) !== null && _c !== void 0 ? _c : (components.aliases = {});
|
|
34
|
+
components.aliases[key] = __assign({ $id: options.purpose === "ajv" ? $id : undefined, $recursiveAnchor: (options.purpose === "ajv" && alias.recursive) || undefined }, schema);
|
|
35
35
|
}
|
|
36
|
-
return options.purpose === "ajv" &&
|
|
36
|
+
return options.purpose === "ajv" && alias.recursive
|
|
37
37
|
? { $recursiveRef: $id }
|
|
38
38
|
: { $ref: $id };
|
|
39
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_definition.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_definition.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,2DAA8D;AAC9D,2DAA0D;AAEnD,IAAM,sBAAsB,GAC/B,UAAC,OAAuC;IACxC,OAAA,UAA6B,UAAsB;QACnD,OAAA,UAAC,UAA2B;YAC5B,OAAA,UAAC,
|
|
1
|
+
{"version":3,"file":"application_definition.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_definition.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,2DAA8D;AAC9D,2DAA0D;AAEnD,IAAM,sBAAsB,GAC/B,UAAC,OAAuC;IACxC,OAAA,UAA6B,UAAsB;QACnD,OAAA,UAAC,UAA2B;YAC5B,OAAA,UAAC,KAAoB;gBACrB,OAAA,UACI,QAAiB;;oBAEjB,IAAM,GAAG,GACL,OAAO,CAAC,OAAO,KAAK,KAAK;wBACrB,CAAC,CAAC,KAAK,CAAC,IAAI;wBACZ,CAAC,CAAC,UAAG,KAAK,CAAC,IAAI,SAAG,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,CAAC;oBACxD,IAAM,GAAG,GAAW,UAAG,2CAAsB,sBAAY,GAAG,CAAE,CAAC;oBAG/D,IAAI,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAG,GAAG,CAAC,MAAK,SAAS,EAAE;wBACzC,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;wBAC1B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;4BACtB,GAAG,EAAE,GAAG;yBACJ,CAAC;wBAGT,IAAM,MAAM,GAAgB,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAC/D,UAAU,CACb,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC;wBACpB,MAAA,UAAU,CAAC,OAAO,oCAAlB,UAAU,CAAC,OAAO,GAAK,EAAE,EAAC;wBAC1B,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cACnB,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAChD,gBAAgB,EACZ,CAAC,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAC5D,MAAM,CACZ,CAAC;qBACL;oBACD,OAAO,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,SAAS;wBAC/C,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,EAAE;wBACxB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBACxB,CAAC;YA/BD,CA+BC;QAhCD,CAgCC;IAjCD,CAiCC;AAlCD,CAkCC,CAAC;AApCO,QAAA,sBAAsB,0BAoC7B"}
|
|
@@ -175,9 +175,9 @@ var application_schema = function (options) {
|
|
|
175
175
|
finally { if (e_6) throw e_6.error; }
|
|
176
176
|
}
|
|
177
177
|
try {
|
|
178
|
-
for (var _v = __values(meta.
|
|
179
|
-
var
|
|
180
|
-
insert((0, application_definition_1.application_definition)(options)(blockNever)(components)(
|
|
178
|
+
for (var _v = __values(meta.aliases), _w = _v.next(); !_w.done; _w = _v.next()) {
|
|
179
|
+
var alias = _w.value;
|
|
180
|
+
insert((0, application_definition_1.application_definition)(options)(blockNever)(components)(alias)(meta.nullable));
|
|
181
181
|
}
|
|
182
182
|
}
|
|
183
183
|
catch (e_7_1) { e_7 = { error: e_7_1 }; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
|
|
|
2
2
|
import { IJsonSchema } from "./IJsonSchema";
|
|
3
3
|
export interface IJsonComponents {
|
|
4
4
|
objects?: Record<string, IJsonComponents.IObject>;
|
|
5
|
-
|
|
5
|
+
aliases?: Record<string, IJsonComponents.IAlias>;
|
|
6
6
|
arrays?: Record<string, IJsonComponents.IArray>;
|
|
7
7
|
tuples?: Record<string, IJsonComponents.ITuple | IJsonComponents.IArray>;
|
|
8
8
|
}
|
|
@@ -32,7 +32,7 @@ export declare namespace IJsonComponents {
|
|
|
32
32
|
"x-typia-patternProperties"?: Record<string, IJsonSchema>;
|
|
33
33
|
"x-typia-additionalProperties"?: IJsonSchema;
|
|
34
34
|
}
|
|
35
|
-
type
|
|
35
|
+
type IAlias = IJsonSchema & {
|
|
36
36
|
$id?: string;
|
|
37
37
|
$recursiveAnchor?: boolean;
|
|
38
38
|
};
|
package/package.json
CHANGED
|
@@ -2,8 +2,8 @@ import ts from "typescript";
|
|
|
2
2
|
|
|
3
3
|
import { IMetadataCollection } from "../metadata/IMetadataCollection";
|
|
4
4
|
import { Metadata } from "../metadata/Metadata";
|
|
5
|
+
import { MetadataAlias } from "../metadata/MetadataAlias";
|
|
5
6
|
import { MetadataArray } from "../metadata/MetadataArray";
|
|
6
|
-
import { MetadataDefinition } from "../metadata/MetadataDefinition";
|
|
7
7
|
import { MetadataObject } from "../metadata/MetadataObject";
|
|
8
8
|
import { MetadataTuple } from "../metadata/MetadataTuple";
|
|
9
9
|
|
|
@@ -17,7 +17,7 @@ import { TypeFactory } from "./TypeFactory";
|
|
|
17
17
|
export class MetadataCollection {
|
|
18
18
|
private readonly objects_: Map<ts.Type, MetadataObject>;
|
|
19
19
|
private readonly object_unions_: Map<string, MetadataObject[]>;
|
|
20
|
-
private readonly
|
|
20
|
+
private readonly aliases_: Map<ts.Type, MetadataAlias>;
|
|
21
21
|
private readonly arrays_: Map<ts.Type, MetadataArray>;
|
|
22
22
|
private readonly tuples_: Map<ts.Type, MetadataTuple>;
|
|
23
23
|
|
|
@@ -31,7 +31,7 @@ export class MetadataCollection {
|
|
|
31
31
|
) {
|
|
32
32
|
this.objects_ = new Map();
|
|
33
33
|
this.object_unions_ = new Map();
|
|
34
|
-
this.
|
|
34
|
+
this.aliases_ = new Map();
|
|
35
35
|
this.arrays_ = new Map();
|
|
36
36
|
this.tuples_ = new Map();
|
|
37
37
|
|
|
@@ -44,8 +44,8 @@ export class MetadataCollection {
|
|
|
44
44
|
/* -----------------------------------------------------------
|
|
45
45
|
ACCESSORS
|
|
46
46
|
----------------------------------------------------------- */
|
|
47
|
-
public
|
|
48
|
-
return [...this.
|
|
47
|
+
public aliases(): MetadataAlias[] {
|
|
48
|
+
return [...this.aliases_.values()];
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
public objects(): MetadataObject[] {
|
|
@@ -120,16 +120,16 @@ export class MetadataCollection {
|
|
|
120
120
|
return [obj, true];
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
public
|
|
123
|
+
public emplaceAlias(
|
|
124
124
|
checker: ts.TypeChecker,
|
|
125
125
|
type: ts.Type,
|
|
126
126
|
symbol: ts.Symbol,
|
|
127
|
-
): [
|
|
128
|
-
const oldbie = this.
|
|
127
|
+
): [MetadataAlias, boolean, (meta: Metadata) => void] {
|
|
128
|
+
const oldbie = this.aliases_.get(type);
|
|
129
129
|
if (oldbie !== undefined) return [oldbie, false, () => {}];
|
|
130
130
|
|
|
131
131
|
const $id: string = this.getName(checker, type);
|
|
132
|
-
const
|
|
132
|
+
const alias: MetadataAlias = MetadataAlias.create({
|
|
133
133
|
name: $id,
|
|
134
134
|
value: null!,
|
|
135
135
|
description: CommentFactory.description(symbol) ?? null,
|
|
@@ -137,8 +137,8 @@ export class MetadataCollection {
|
|
|
137
137
|
nullables: [],
|
|
138
138
|
jsDocTags: symbol.getJsDocTags() ?? [],
|
|
139
139
|
});
|
|
140
|
-
this.
|
|
141
|
-
return [
|
|
140
|
+
this.aliases_.set(type, alias);
|
|
141
|
+
return [alias, true, (meta) => (Writable(alias).value = meta)];
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
public emplaceArray(
|
|
@@ -193,11 +193,8 @@ export class MetadataCollection {
|
|
|
193
193
|
/**
|
|
194
194
|
* @internal
|
|
195
195
|
*/
|
|
196
|
-
public
|
|
197
|
-
|
|
198
|
-
recursive: boolean,
|
|
199
|
-
): void {
|
|
200
|
-
Writable(def).recursive = recursive;
|
|
196
|
+
public setAliasRecursive(alias: MetadataAlias, recursive: boolean): void {
|
|
197
|
+
Writable(alias).recursive = recursive;
|
|
201
198
|
}
|
|
202
199
|
|
|
203
200
|
/**
|
|
@@ -216,7 +213,7 @@ export class MetadataCollection {
|
|
|
216
213
|
public toJSON(): IMetadataCollection {
|
|
217
214
|
return {
|
|
218
215
|
objects: this.objects().map((o) => o.toJSON()),
|
|
219
|
-
|
|
216
|
+
aliases: this.aliases().map((d) => d.toJSON()),
|
|
220
217
|
arrays: [...this.arrays_.values()].map((a) => a.toJSON()),
|
|
221
218
|
tuples: [...this.tuples_.values()].map((t) => t.toJSON()),
|
|
222
219
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
3
|
import { Metadata } from "../../../metadata/Metadata";
|
|
4
|
-
import {
|
|
4
|
+
import { MetadataAlias } from "../../../metadata/MetadataAlias";
|
|
5
5
|
|
|
6
6
|
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
7
7
|
|
|
@@ -13,9 +13,9 @@ export const emplace_metadata_definition =
|
|
|
13
13
|
(checker: ts.TypeChecker) =>
|
|
14
14
|
(options: MetadataFactory.IOptions) =>
|
|
15
15
|
(collection: MetadataCollection) =>
|
|
16
|
-
(type: ts.Type, nullable: boolean):
|
|
16
|
+
(type: ts.Type, nullable: boolean): MetadataAlias => {
|
|
17
17
|
// CHECK EXISTENCE
|
|
18
|
-
const [alias, newbie, closure] = collection.
|
|
18
|
+
const [alias, newbie, closure] = collection.emplaceAlias(
|
|
19
19
|
checker,
|
|
20
20
|
type,
|
|
21
21
|
type.aliasSymbol!,
|
|
@@ -45,7 +45,7 @@ const isArrayRecursive =
|
|
|
45
45
|
meta.arrays.some(
|
|
46
46
|
(a) => a === array || isArrayRecursive(visited)(array)(a.value),
|
|
47
47
|
) ||
|
|
48
|
-
meta.
|
|
48
|
+
meta.aliases.some((d) =>
|
|
49
49
|
isArrayRecursive(visited)(array)(d.value),
|
|
50
50
|
) ||
|
|
51
51
|
meta.tuples.some(
|
|
@@ -80,7 +80,7 @@ const isTupleRecursive =
|
|
|
80
80
|
) ||
|
|
81
81
|
meta.maps.some((m) => isTupleRecursive(visited)(tuple)(m.value)) ||
|
|
82
82
|
meta.sets.some((s) => isTupleRecursive(visited)(tuple)(s)) ||
|
|
83
|
-
meta.
|
|
83
|
+
meta.aliases.some((d) =>
|
|
84
84
|
isTupleRecursive(visited)(tuple)(d.value),
|
|
85
85
|
) ||
|
|
86
86
|
(meta.resolved !== null &&
|
|
@@ -104,8 +104,8 @@ const isObjectRecursive =
|
|
|
104
104
|
isObjectRecursive(visited)(obj)(prop.value),
|
|
105
105
|
),
|
|
106
106
|
) ||
|
|
107
|
-
meta.
|
|
108
|
-
isObjectRecursive(visited)(obj)(
|
|
107
|
+
meta.aliases.some((alias) =>
|
|
108
|
+
isObjectRecursive(visited)(obj)(alias.value),
|
|
109
109
|
) ||
|
|
110
110
|
meta.arrays.some(
|
|
111
111
|
(array) =>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
3
|
import { Metadata } from "../../../metadata/Metadata";
|
|
4
|
-
import {
|
|
4
|
+
import { MetadataAlias } from "../../../metadata/MetadataAlias";
|
|
5
5
|
|
|
6
6
|
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
7
7
|
|
|
@@ -22,13 +22,9 @@ export const iterate_metadata_definition =
|
|
|
22
22
|
if (node === undefined) return false;
|
|
23
23
|
|
|
24
24
|
// CONSTRUCT DEFINITION
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
)(
|
|
28
|
-
ArrayUtil.add(
|
|
29
|
-
meta.definitions,
|
|
30
|
-
definition,
|
|
31
|
-
(elem) => elem.name === definition.name,
|
|
32
|
-
);
|
|
25
|
+
const alias: MetadataAlias = emplace_metadata_definition(checker)(
|
|
26
|
+
options,
|
|
27
|
+
)(collection)(type, meta.nullable);
|
|
28
|
+
ArrayUtil.add(meta.aliases, alias, (elem) => elem.name === alias.name);
|
|
33
29
|
return true;
|
|
34
30
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
+
import { IMetadataAlias } from "./IMetadataAlias";
|
|
1
2
|
import { IMetadataArray } from "./IMetadataArray";
|
|
2
|
-
import { IMetadataDefinition } from "./IMetadataDefinition";
|
|
3
3
|
import { IMetadataObject } from "./IMetadataObject";
|
|
4
4
|
import { IMetadataTuple } from "./IMetadataTuple";
|
|
5
5
|
|
|
6
6
|
export interface IMetadataCollection {
|
|
7
7
|
objects: IMetadataObject[];
|
|
8
|
-
|
|
8
|
+
aliases: IMetadataAlias[];
|
|
9
9
|
arrays: IMetadataArray[];
|
|
10
10
|
tuples: IMetadataTuple[];
|
|
11
11
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { MetadataAlias } from "./MetadataAlias";
|
|
1
2
|
import { MetadataArray } from "./MetadataArray";
|
|
2
|
-
import { MetadataDefinition } from "./MetadataDefinition";
|
|
3
3
|
import { MetadataObject } from "./MetadataObject";
|
|
4
4
|
import { MetadataTuple } from "./MetadataTuple";
|
|
5
5
|
|
|
@@ -8,7 +8,7 @@ import { MetadataTuple } from "./MetadataTuple";
|
|
|
8
8
|
*/
|
|
9
9
|
export interface IMetadataDictionary {
|
|
10
10
|
objects: Map<string, MetadataObject>;
|
|
11
|
-
|
|
11
|
+
aliases: Map<string, MetadataAlias>;
|
|
12
12
|
arrays: Map<string, MetadataArray>;
|
|
13
13
|
tuples: Map<string, MetadataTuple>;
|
|
14
14
|
}
|