typia 7.0.0-dev.20241011-2 → 7.0.0-dev.20241012

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.
Files changed (164) hide show
  1. package/lib/factories/MetadataCollection.d.ts +4 -4
  2. package/lib/factories/MetadataCollection.js +6 -4
  3. package/lib/factories/MetadataCollection.js.map +1 -1
  4. package/lib/factories/MetadataFactory.d.ts +2 -2
  5. package/lib/factories/MetadataFactory.js +8 -2
  6. package/lib/factories/MetadataFactory.js.map +1 -1
  7. package/lib/factories/MetadataTypeTagFactory.d.ts +2 -2
  8. package/lib/factories/MetadataTypeTagFactory.js +6 -6
  9. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  10. package/lib/factories/MetadataTypeTagSchemaFactory.d.ts +2 -2
  11. package/lib/factories/MetadataTypeTagSchemaFactory.js +1 -1
  12. package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -1
  13. package/lib/factories/ProtobufFactory.js +12 -12
  14. package/lib/factories/ProtobufFactory.js.map +1 -1
  15. package/lib/factories/internal/metadata/emplace_metadata_object.d.ts +2 -2
  16. package/lib/factories/internal/metadata/iterate_metadata_collection.js +2 -1
  17. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  18. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +2 -2
  19. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +5 -2
  20. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  21. package/lib/factories/internal/metadata/iterate_metadata_object.js +5 -1
  22. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  23. package/lib/factories/internal/metadata/iterate_metadata_sort.js +6 -2
  24. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  25. package/lib/programmers/CheckerProgrammer.d.ts +2 -2
  26. package/lib/programmers/CheckerProgrammer.js +5 -3
  27. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  28. package/lib/programmers/FeatureProgrammer.d.ts +5 -5
  29. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  30. package/lib/programmers/IsProgrammer.d.ts +2 -2
  31. package/lib/programmers/RandomProgrammer.js +1 -1
  32. package/lib/programmers/RandomProgrammer.js.map +1 -1
  33. package/lib/programmers/helpers/ProtobufUtil.d.ts +2 -2
  34. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  35. package/lib/programmers/helpers/PruneJoiner.d.ts +2 -2
  36. package/lib/programmers/helpers/RandomJoiner.d.ts +2 -2
  37. package/lib/programmers/helpers/UnionExplorer.d.ts +3 -3
  38. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  39. package/lib/programmers/helpers/UnionPredicator.d.ts +3 -3
  40. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  41. package/lib/programmers/http/HttpFormDataProgrammer.js +1 -1
  42. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  43. package/lib/programmers/http/HttpHeadersProgrammer.js +1 -1
  44. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  45. package/lib/programmers/http/HttpQueryProgrammer.js +2 -2
  46. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  47. package/lib/programmers/internal/application_union_discriminator.js +2 -2
  48. package/lib/programmers/internal/application_union_discriminator.js.map +1 -1
  49. package/lib/programmers/internal/application_v30_alias.js +1 -1
  50. package/lib/programmers/internal/application_v30_alias.js.map +1 -1
  51. package/lib/programmers/internal/application_v30_schema.js +1 -1
  52. package/lib/programmers/internal/application_v30_schema.js.map +1 -1
  53. package/lib/programmers/internal/application_v31_alias.js +1 -1
  54. package/lib/programmers/internal/application_v31_alias.js.map +1 -1
  55. package/lib/programmers/internal/application_v31_schema.js +1 -1
  56. package/lib/programmers/internal/application_v31_schema.js.map +1 -1
  57. package/lib/programmers/internal/llm_schema_station.js +2 -2
  58. package/lib/programmers/internal/llm_schema_station.js.map +1 -1
  59. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  60. package/lib/programmers/json/JsonApplicationProgrammer.js +6 -5
  61. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  62. package/lib/programmers/json/JsonStringifyProgrammer.js +3 -3
  63. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  64. package/lib/programmers/llm/LlmApplicationProgrammer.js +7 -6
  65. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  66. package/lib/programmers/llm/LlmSchemaProgrammer.js +1 -1
  67. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  68. package/lib/programmers/misc/MiscCloneProgrammer.js +1 -1
  69. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  70. package/lib/programmers/misc/MiscPruneProgrammer.js +1 -1
  71. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  72. package/lib/programmers/notations/NotationGeneralProgrammer.js +1 -1
  73. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  74. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +6 -6
  75. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  76. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +1 -1
  77. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  78. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +3 -3
  79. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  80. package/lib/schemas/metadata/IMetadata.d.ts +4 -1
  81. package/lib/schemas/metadata/IMetadataArray.d.ts +1 -2
  82. package/lib/schemas/metadata/IMetadataComponents.d.ts +2 -2
  83. package/lib/schemas/metadata/IMetadataDictionary.d.ts +2 -2
  84. package/lib/schemas/metadata/IMetadataObject.d.ts +2 -8
  85. package/lib/schemas/metadata/IMetadataObjectType.d.ts +11 -0
  86. package/lib/schemas/metadata/IMetadataObjectType.js +3 -0
  87. package/lib/schemas/metadata/IMetadataObjectType.js.map +1 -0
  88. package/lib/schemas/metadata/IMetadataTuple.d.ts +1 -2
  89. package/lib/schemas/metadata/Metadata.js +14 -15
  90. package/lib/schemas/metadata/Metadata.js.map +1 -1
  91. package/lib/schemas/metadata/MetadataArray.js +1 -1
  92. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  93. package/lib/schemas/metadata/MetadataComponents.d.ts +2 -2
  94. package/lib/schemas/metadata/MetadataComponents.js +2 -2
  95. package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
  96. package/lib/schemas/metadata/MetadataObject.d.ts +8 -12
  97. package/lib/schemas/metadata/MetadataObject.js +44 -82
  98. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  99. package/lib/schemas/metadata/MetadataObjectType.d.ts +20 -0
  100. package/lib/schemas/metadata/MetadataObjectType.js +106 -0
  101. package/lib/schemas/metadata/MetadataObjectType.js.map +1 -0
  102. package/lib/schemas/metadata/MetadataTuple.js +1 -1
  103. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  104. package/lib/transformers/TransformerError.js.map +1 -1
  105. package/package.json +1 -1
  106. package/src/factories/MetadataCollection.ts +12 -10
  107. package/src/factories/MetadataFactory.ts +11 -5
  108. package/src/factories/MetadataTypeTagFactory.ts +13 -12
  109. package/src/factories/MetadataTypeTagSchemaFactory.ts +4 -4
  110. package/src/factories/ProtobufFactory.ts +14 -14
  111. package/src/factories/internal/metadata/emplace_metadata_object.ts +2 -2
  112. package/src/factories/internal/metadata/iterate_metadata_collection.ts +4 -3
  113. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +2 -2
  114. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +5 -2
  115. package/src/factories/internal/metadata/iterate_metadata_object.ts +10 -2
  116. package/src/factories/internal/metadata/iterate_metadata_sort.ts +6 -2
  117. package/src/programmers/CheckerProgrammer.ts +7 -5
  118. package/src/programmers/FeatureProgrammer.ts +9 -6
  119. package/src/programmers/IsProgrammer.ts +2 -2
  120. package/src/programmers/RandomProgrammer.ts +3 -3
  121. package/src/programmers/helpers/ProtobufUtil.ts +2 -2
  122. package/src/programmers/helpers/PruneJoiner.ts +2 -2
  123. package/src/programmers/helpers/RandomJoiner.ts +2 -2
  124. package/src/programmers/helpers/UnionExplorer.ts +4 -4
  125. package/src/programmers/helpers/UnionPredicator.ts +5 -3
  126. package/src/programmers/http/HttpFormDataProgrammer.ts +3 -3
  127. package/src/programmers/http/HttpHeadersProgrammer.ts +3 -3
  128. package/src/programmers/http/HttpQueryProgrammer.ts +4 -4
  129. package/src/programmers/internal/application_union_discriminator.ts +2 -2
  130. package/src/programmers/internal/application_v30_alias.ts +1 -1
  131. package/src/programmers/internal/application_v30_object.ts +3 -3
  132. package/src/programmers/internal/application_v30_schema.ts +1 -1
  133. package/src/programmers/internal/application_v31_alias.ts +1 -1
  134. package/src/programmers/internal/application_v31_object.ts +3 -3
  135. package/src/programmers/internal/application_v31_schema.ts +1 -1
  136. package/src/programmers/internal/decode_union_object.ts +4 -4
  137. package/src/programmers/internal/feature_object_entries.ts +2 -2
  138. package/src/programmers/internal/llm_schema_object.ts +2 -2
  139. package/src/programmers/internal/llm_schema_station.ts +2 -2
  140. package/src/programmers/internal/prune_object_properties.ts +2 -2
  141. package/src/programmers/json/JsonApplicationProgrammer.ts +3 -3
  142. package/src/programmers/json/JsonStringifyProgrammer.ts +5 -5
  143. package/src/programmers/llm/LlmApplicationProgrammer.ts +4 -4
  144. package/src/programmers/llm/LlmSchemaProgrammer.ts +1 -1
  145. package/src/programmers/misc/MiscCloneProgrammer.ts +3 -3
  146. package/src/programmers/misc/MiscPruneProgrammer.ts +3 -3
  147. package/src/programmers/notations/NotationGeneralProgrammer.ts +3 -3
  148. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +11 -11
  149. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +8 -8
  150. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +8 -8
  151. package/src/schemas/metadata/IMetadata.ts +4 -1
  152. package/src/schemas/metadata/IMetadataArray.ts +1 -2
  153. package/src/schemas/metadata/IMetadataComponents.ts +2 -2
  154. package/src/schemas/metadata/IMetadataDictionary.ts +2 -2
  155. package/src/schemas/metadata/IMetadataObject.ts +6 -13
  156. package/src/schemas/metadata/IMetadataObjectType.ts +13 -0
  157. package/src/schemas/metadata/IMetadataTuple.ts +1 -2
  158. package/src/schemas/metadata/Metadata.ts +16 -16
  159. package/src/schemas/metadata/MetadataArray.ts +1 -1
  160. package/src/schemas/metadata/MetadataComponents.ts +3 -3
  161. package/src/schemas/metadata/MetadataObject.ts +26 -117
  162. package/src/schemas/metadata/MetadataObjectType.ts +149 -0
  163. package/src/schemas/metadata/MetadataTuple.ts +1 -1
  164. package/src/transformers/TransformerError.ts +8 -7
@@ -2,11 +2,11 @@ import { IMetadataComponents } from "./IMetadataComponents";
2
2
  import { IMetadataDictionary } from "./IMetadataDictionary";
3
3
  import { MetadataAlias } from "./MetadataAlias";
4
4
  import { MetadataArrayType } from "./MetadataArrayType";
5
- import { MetadataObject } from "./MetadataObject";
5
+ import { MetadataObjectType } from "./MetadataObjectType";
6
6
  import { MetadataTupleType } from "./MetadataTupleType";
7
7
  export declare class MetadataComponents {
8
8
  readonly aliases: MetadataAlias[];
9
- readonly objects: MetadataObject[];
9
+ readonly objects: MetadataObjectType[];
10
10
  readonly arrays: MetadataArrayType[];
11
11
  readonly tuples: MetadataTupleType[];
12
12
  readonly dictionary: IMetadataDictionary;
@@ -41,7 +41,7 @@ var Writable_1 = require("../../typings/Writable");
41
41
  var Metadata_1 = require("./Metadata");
42
42
  var MetadataAlias_1 = require("./MetadataAlias");
43
43
  var MetadataArrayType_1 = require("./MetadataArrayType");
44
- var MetadataObject_1 = require("./MetadataObject");
44
+ var MetadataObjectType_1 = require("./MetadataObjectType");
45
45
  var MetadataProperty_1 = require("./MetadataProperty");
46
46
  var MetadataTupleType_1 = require("./MetadataTupleType");
47
47
  var MetadataComponents = /** @class */ (function () {
@@ -58,7 +58,7 @@ var MetadataComponents = /** @class */ (function () {
58
58
  var dictionary = {
59
59
  objects: new Map(json.objects.map(function (obj) { return [
60
60
  obj.name,
61
- MetadataObject_1.MetadataObject._From_without_properties(obj),
61
+ MetadataObjectType_1.MetadataObjectType._From_without_properties(obj),
62
62
  ]; })),
63
63
  aliases: new Map(json.aliases.map(function (alias) { return [
64
64
  alias.name,
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataComponents.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataComponents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetadataComponents.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataComponents.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,16 @@
1
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
2
  import { IMetadataObject } from "./IMetadataObject";
3
- import { MetadataProperty } from "./MetadataProperty";
3
+ import { IMetadataTypeTag } from "./IMetadataTypeTag";
4
+ import { MetadataObjectType } from "./MetadataObjectType";
4
5
  export declare class MetadataObject {
5
- readonly name: string;
6
- readonly properties: Array<MetadataProperty>;
7
- readonly description: string | undefined;
8
- readonly jsDocTags: IJsDocTagInfo[];
9
- readonly index: number;
10
- validated: boolean;
11
- recursive: boolean;
12
- nullables: boolean[];
6
+ readonly type: MetadataObjectType;
7
+ readonly tags: IMetadataTypeTag[][];
8
+ private name_?;
13
9
  /**
14
10
  * @hidden
15
11
  */
16
12
  private constructor();
17
- isPlain(level?: number): boolean;
18
- isLiteral(): boolean;
13
+ static create(props: ClassProperties<MetadataObject>): MetadataObject;
14
+ getName(): string;
19
15
  toJSON(): IMetadataObject;
20
16
  }
@@ -1,106 +1,68 @@
1
1
  "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
2
27
  Object.defineProperty(exports, "__esModule", { value: true });
3
28
  exports.MetadataObject = void 0;
4
29
  var MetadataObject = /** @class */ (function () {
5
- /* -----------------------------------------------------------
6
- CONSTRUCTORS
7
- ----------------------------------------------------------- */
8
30
  /**
9
31
  * @hidden
10
32
  */
11
33
  function MetadataObject(props) {
12
- this.nullables = [];
13
- /**
14
- * @internal
15
- */
16
- this.tagged_ = false;
17
- this.name = props.name;
18
- this.properties = props.properties;
19
- this.description = props.description;
20
- this.jsDocTags = props.jsDocTags;
21
- this.index = props.index;
22
- this.validated = props.validated;
23
- this.recursive = props.recursive;
24
- this.nullables = props.nullables.slice();
25
- this.tagged_ = false;
34
+ this.type = props.type;
35
+ this.tags = props.tags;
26
36
  }
27
- /**
28
- * @internal
29
- */
30
37
  MetadataObject.create = function (props) {
31
38
  return new MetadataObject(props);
32
39
  };
33
- /**
34
- * @internal
35
- */
36
- MetadataObject._From_without_properties = function (obj) {
37
- return MetadataObject.create({
38
- name: obj.name,
39
- properties: [],
40
- description: obj.description,
41
- jsDocTags: obj.jsDocTags,
42
- index: obj.index,
43
- validated: false,
44
- recursive: obj.recursive,
45
- nullables: obj.nullables.slice(),
46
- });
47
- };
48
- MetadataObject.prototype.isPlain = function (level) {
49
- if (level === void 0) { level = 0; }
50
- return (this.recursive === false &&
51
- this.properties.length < 10 &&
52
- this.properties.every(function (property) {
53
- return property.key.isSoleLiteral() &&
54
- property.value.size() === 1 &&
55
- property.value.isRequired() === true &&
56
- property.value.nullable === false &&
57
- (property.value.atomics.length === 1 ||
58
- (level < 1 &&
59
- property.value.objects.length === 1 &&
60
- property.value.objects[0].isPlain(level + 1)));
61
- }));
62
- };
63
- MetadataObject.prototype.isLiteral = function () {
40
+ MetadataObject.prototype.getName = function () {
64
41
  var _this = this;
65
42
  var _a;
66
- return ((_a = this.literal_) !== null && _a !== void 0 ? _a : (this.literal_ = (function () {
67
- if (_this.recursive === true)
68
- return false;
69
- return (_this.name === "__type" ||
70
- _this.name === "__object" ||
71
- _this.name.startsWith("__type.") ||
72
- _this.name.startsWith("__object.") ||
73
- _this.name.includes("readonly ["));
43
+ return ((_a = this.name_) !== null && _a !== void 0 ? _a : (this.name_ = (function () {
44
+ if (_this.tags.length === 0)
45
+ return _this.type.name;
46
+ else if (_this.tags.length === 1) {
47
+ var str = __spreadArray([
48
+ _this.type.name
49
+ ], __read(_this.tags[0].map(function (t) { return t.name; })), false).join(" & ");
50
+ return "(".concat(str, ")");
51
+ }
52
+ var rows = _this.tags.map(function (row) {
53
+ var str = row.map(function (t) { return t.name; }).join(" & ");
54
+ return row.length === 1 ? str : "(".concat(str, ")");
55
+ });
56
+ return "(".concat(_this.type.name, " & (").concat(rows.join(" | "), "))");
74
57
  })()));
75
58
  };
76
59
  MetadataObject.prototype.toJSON = function () {
77
60
  return {
78
- name: this.name,
79
- properties: this.properties.map(function (property) { return property.toJSON(); }),
80
- description: this.description,
81
- jsDocTags: this.jsDocTags,
82
- index: this.index,
83
- recursive: this.recursive,
84
- nullables: this.nullables.slice(),
61
+ name: this.type.name,
62
+ tags: this.tags.map(function (row) { return row.slice(); }),
85
63
  };
86
64
  };
87
65
  return MetadataObject;
88
66
  }());
89
67
  exports.MetadataObject = MetadataObject;
90
- /**
91
- * @internal
92
- */
93
- (function (MetadataObject) {
94
- MetadataObject.intersects = function (x, y) {
95
- return x.properties.some(function (prop) {
96
- return y.properties.find(function (oppo) { return prop.key.getName() === oppo.key.getName(); }) !== undefined;
97
- });
98
- };
99
- MetadataObject.covers = function (x, y) {
100
- return x.properties.length >= y.properties.length &&
101
- x.properties.every(function (prop) {
102
- return y.properties.find(function (oppo) { return prop.key.getName() === oppo.key.getName(); }) !== undefined;
103
- });
104
- };
105
- })(MetadataObject || (exports.MetadataObject = MetadataObject = {}));
106
68
  //# sourceMappingURL=MetadataObject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataObject.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataObject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetadataObject.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataObject.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;IAKE;;OAEG;IACH,wBAAoB,KAAsC;QACxD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAEa,qBAAM,GAApB,UAAqB,KAAsC;QACzD,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAEM,gCAAO,GAAd;QAAA,iBAgBC;;QAfC,OAAO,OAAC,IAAI,CAAC,KAAK,oCAAV,IAAI,CAAC,KAAK,GAAK,CAAC;YACtB,IAAI,KAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC7C,IAAI,KAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAM,GAAG,GAAW;oBAClB,KAAI,CAAC,IAAI,CAAC,IAAI;0BACX,KAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,UACnC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO,WAAI,GAAG,MAAG,CAAC;YACpB,CAAC;YACD,IAAM,IAAI,GAAa,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG;gBACvC,IAAM,GAAG,GAAW,GAAG,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvD,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAI,GAAG,MAAG,CAAC;YAC7C,CAAC,CAAC,CAAC;YACH,OAAO,WAAI,KAAI,CAAC,IAAI,CAAC,IAAI,iBAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAI,CAAC;QACvD,CAAC,CAAC,EAAE,EAAC,CAAC;IACR,CAAC;IAEM,+BAAM,GAAb;QACE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAK,EAAE,EAAX,CAAW,CAAC;SAC1C,CAAC;IACJ,CAAC;IACH,qBAAC;AAAD,CAAC,AAzCD,IAyCC;AAzCY,wCAAc"}
@@ -0,0 +1,20 @@
1
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
+ import { IMetadataObjectType } from "./IMetadataObjectType";
3
+ import { MetadataProperty } from "./MetadataProperty";
4
+ export declare class MetadataObjectType {
5
+ readonly name: string;
6
+ readonly properties: Array<MetadataProperty>;
7
+ readonly description: string | undefined;
8
+ readonly jsDocTags: IJsDocTagInfo[];
9
+ readonly index: number;
10
+ validated: boolean;
11
+ recursive: boolean;
12
+ nullables: boolean[];
13
+ /**
14
+ * @hidden
15
+ */
16
+ private constructor();
17
+ isPlain(level?: number): boolean;
18
+ isLiteral(): boolean;
19
+ toJSON(): IMetadataObjectType;
20
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MetadataObjectType = void 0;
4
+ var MetadataObjectType = /** @class */ (function () {
5
+ /* -----------------------------------------------------------
6
+ CONSTRUCTORS
7
+ ----------------------------------------------------------- */
8
+ /**
9
+ * @hidden
10
+ */
11
+ function MetadataObjectType(props) {
12
+ this.nullables = [];
13
+ /**
14
+ * @internal
15
+ */
16
+ this.tagged_ = false;
17
+ this.name = props.name;
18
+ this.properties = props.properties;
19
+ this.description = props.description;
20
+ this.jsDocTags = props.jsDocTags;
21
+ this.index = props.index;
22
+ this.validated = props.validated;
23
+ this.recursive = props.recursive;
24
+ this.nullables = props.nullables.slice();
25
+ this.tagged_ = false;
26
+ }
27
+ /**
28
+ * @internal
29
+ */
30
+ MetadataObjectType.create = function (props) {
31
+ return new MetadataObjectType(props);
32
+ };
33
+ /**
34
+ * @internal
35
+ */
36
+ MetadataObjectType._From_without_properties = function (obj) {
37
+ return MetadataObjectType.create({
38
+ name: obj.name,
39
+ properties: [],
40
+ description: obj.description,
41
+ jsDocTags: obj.jsDocTags,
42
+ index: obj.index,
43
+ validated: false,
44
+ recursive: obj.recursive,
45
+ nullables: obj.nullables.slice(),
46
+ });
47
+ };
48
+ MetadataObjectType.prototype.isPlain = function (level) {
49
+ if (level === void 0) { level = 0; }
50
+ return (this.recursive === false &&
51
+ this.properties.length < 10 &&
52
+ this.properties.every(function (property) {
53
+ return property.key.isSoleLiteral() &&
54
+ property.value.size() === 1 &&
55
+ property.value.isRequired() === true &&
56
+ property.value.nullable === false &&
57
+ (property.value.atomics.length === 1 ||
58
+ (level < 1 &&
59
+ property.value.objects.length === 1 &&
60
+ property.value.objects[0].type.isPlain(level + 1)));
61
+ }));
62
+ };
63
+ MetadataObjectType.prototype.isLiteral = function () {
64
+ var _this = this;
65
+ var _a;
66
+ return ((_a = this.literal_) !== null && _a !== void 0 ? _a : (this.literal_ = (function () {
67
+ if (_this.recursive === true)
68
+ return false;
69
+ return (_this.name === "__type" ||
70
+ _this.name === "__object" ||
71
+ _this.name.startsWith("__type.") ||
72
+ _this.name.startsWith("__object.") ||
73
+ _this.name.includes("readonly ["));
74
+ })()));
75
+ };
76
+ MetadataObjectType.prototype.toJSON = function () {
77
+ return {
78
+ name: this.name,
79
+ properties: this.properties.map(function (property) { return property.toJSON(); }),
80
+ description: this.description,
81
+ jsDocTags: this.jsDocTags,
82
+ index: this.index,
83
+ recursive: this.recursive,
84
+ nullables: this.nullables.slice(),
85
+ };
86
+ };
87
+ return MetadataObjectType;
88
+ }());
89
+ exports.MetadataObjectType = MetadataObjectType;
90
+ /**
91
+ * @internal
92
+ */
93
+ (function (MetadataObjectType) {
94
+ MetadataObjectType.intersects = function (x, y) {
95
+ return x.properties.some(function (prop) {
96
+ return y.properties.find(function (oppo) { return prop.key.getName() === oppo.key.getName(); }) !== undefined;
97
+ });
98
+ };
99
+ MetadataObjectType.covers = function (x, y) {
100
+ return x.properties.length >= y.properties.length &&
101
+ x.properties.every(function (prop) {
102
+ return y.properties.find(function (oppo) { return prop.key.getName() === oppo.key.getName(); }) !== undefined;
103
+ });
104
+ };
105
+ })(MetadataObjectType || (exports.MetadataObjectType = MetadataObjectType = {}));
106
+ //# sourceMappingURL=MetadataObjectType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataObjectType.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataObjectType.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ var MetadataTuple = /** @class */ (function () {
17
17
  };
18
18
  MetadataTuple.prototype.toJSON = function () {
19
19
  return {
20
- type: this.type.toJSON(),
20
+ name: this.type.name,
21
21
  tags: this.tags.map(function (row) { return row.slice(); }),
22
22
  };
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataTuple.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataTuple.ts"],"names":[],"mappings":";;;AAMA;IAIE;;OAEG;IACH,uBAAoB,KAAqC;QACvD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACW,oBAAM,GAApB,UAAqB,KAAqC;QACxD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,8BAAM,GAAb;QACE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAK,EAAE,EAAX,CAAW,CAAC;SAC1C,CAAC;IACJ,CAAC;IACH,oBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,sCAAa"}
1
+ {"version":3,"file":"MetadataTuple.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataTuple.ts"],"names":[],"mappings":";;;AAMA;IAIE;;OAEG;IACH,uBAAoB,KAAqC;QACvD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;OAEG;IACW,oBAAM,GAApB,UAAqB,KAAqC;QACxD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAEM,8BAAM,GAAb;QACE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAK,EAAE,EAAX,CAAW,CAAC;SAC1C,CAAC;IACJ,CAAC;IACH,oBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,sCAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"TransformerError.js","sourceRoot":"","sources":["../../src/transformers/TransformerError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAIA,4CAA2C;AAE3C;IAAsC,oCAAK;IAGzC,0BAAmB,KAA8B;;QAC/C,YAAA,MAAK,YAAC,KAAK,CAAC,OAAO,CAAC,SAAC;QACrB,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAEvB,uBAAuB;QACvB,IAAM,KAAK,GAAG,WAAW,SAAS,CAAC;QACnC,IAAI,MAAM,CAAC,cAAc;YAAE,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,KAAK,CAAC,CAAC;;YACxD,KAAY,CAAC,SAAS,GAAG,KAAK,CAAC;;IACvC,CAAC;IACH,uBAAC;AAAD,CAAC,AAZD,CAAsC,KAAK,GAY1C;AAZY,4CAAgB;AAa7B,WAAiB,gBAAgB;IAMlB,qBAAI,GAAG,UAAC,KAGpB;QACC,IAAM,IAAI,GAAW,KAAK,CAAC,MAAM;aAC9B,GAAG,CAAC,UAAC,CAAC;YACL,IAAM,OAAO,GACX,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAM,MAAM,GAAW,CAAC,CAAC,OAAO,CAAC,SAAS;gBACxC,CAAC,CAAC,sBAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAG;gBACvD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;oBAChB,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,EAAE,CAAC;YACT,IAAM,IAAI,GAAW,UAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAG,OAAO,OAAI,CAAC,CAAC,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAE,CAAC;YACxE,OAAO,YAAK,IAAI,SAAG,MAAM,eAAK,CAAC,CAAC,QAAQ;iBACrC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,cAAO,GAAG,CAAE,EAAZ,CAAY,CAAC;iBAC1B,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;QAClB,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,IAAI,gBAAgB,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,uCAAgC,IAAI,CAAE;SAChD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAM,IAAI,GAAG,UAAC,MAAsB,IAAK,OAAA,UAAC,GAA2B;QACnE,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC;aAChC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,UAAG,MAAM,CAAC,IAAI,UAAO,CAAC;aAC1D,IAAI,iBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,UAAG,MAAM,CAAC,IAAI,cAAI,GAAG,CAAE,CAAC;QAC/D,OAAO,UAAG,MAAM,CAAC,IAAI,cAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAG,CAAC;IAClD,CAAC,EALwC,CAKxC,CAAC;AACJ,CAAC,EAvCgB,gBAAgB,gCAAhB,gBAAgB,QAuChC"}
1
+ {"version":3,"file":"TransformerError.js","sourceRoot":"","sources":["../../src/transformers/TransformerError.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAIA,4CAA2C;AAE3C;IAAsC,oCAAK;IAGzC,0BAAmB,KAA8B;;QAC/C,YAAA,MAAK,YAAC,KAAK,CAAC,OAAO,CAAC,SAAC;QACrB,KAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAEvB,uBAAuB;QACvB,IAAM,KAAK,GAAG,WAAW,SAAS,CAAC;QACnC,IAAI,MAAM,CAAC,cAAc;YAAE,MAAM,CAAC,cAAc,CAAC,KAAI,EAAE,KAAK,CAAC,CAAC;;YACxD,KAAY,CAAC,SAAS,GAAG,KAAK,CAAC;;IACvC,CAAC;IACH,uBAAC;AAAD,CAAC,AAZD,CAAsC,KAAK,GAY1C;AAZY,4CAAgB;AAa7B,WAAiB,gBAAgB;IAMlB,qBAAI,GAAG,UAAC,KAGpB;QACC,IAAM,IAAI,GAAW,KAAK,CAAC,MAAM;aAC9B,GAAG,CAAC,UAAC,CAAC;YACL,IAAM,OAAO,GACX,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI;gBACvB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjD,IAAM,MAAM,GAAW,CAAC,CAAC,OAAO,CAAC,SAAS;gBACxC,CAAC,CAAC,sBAAe,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,MAAG;gBACvD,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;oBAChB,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,EAAE,CAAC;YACT,IAAM,IAAI,GAAW,UAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,UAAG,OAAO,OAAI,CAAC,CAAC,CAAC,EAAE,SAAG,CAAC,CAAC,IAAI,CAAE,CAAC;YACxE,OAAO,YAAK,IAAI,SAAG,MAAM,eAAK,CAAC,CAAC,QAAQ;iBACrC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,cAAO,GAAG,CAAE,EAAZ,CAAY,CAAC;iBAC1B,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC;QAClB,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAChB,OAAO,IAAI,gBAAgB,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,uCAAgC,IAAI,CAAE;SAChD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAM,IAAI,GACR,UAAC,MAA0B,IAAK,OAAA,UAAC,GAA2B;QAC1D,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC;aAChC,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,UAAG,MAAM,CAAC,IAAI,UAAO,CAAC;aAC1D,IAAI,iBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,UAAG,MAAM,CAAC,IAAI,cAAI,GAAG,CAAE,CAAC;QAC/D,OAAO,UAAG,MAAM,CAAC,IAAI,cAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAG,CAAC;IAClD,CAAC,EAL+B,CAK/B,CAAC;AACN,CAAC,EAxCgB,gBAAgB,gCAAhB,gBAAgB,QAwChC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "7.0.0-dev.20241011-2",
3
+ "version": "7.0.0-dev.20241012",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -4,7 +4,7 @@ import { IMetadataComponents } from "../schemas/metadata/IMetadataComponents";
4
4
  import { Metadata } from "../schemas/metadata/Metadata";
5
5
  import { MetadataAlias } from "../schemas/metadata/MetadataAlias";
6
6
  import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
7
- import { MetadataObject } from "../schemas/metadata/MetadataObject";
7
+ import { MetadataObjectType } from "../schemas/metadata/MetadataObjectType";
8
8
  import { MetadataTupleType } from "../schemas/metadata/MetadataTupleType";
9
9
 
10
10
  import { Writable } from "../typings/Writable";
@@ -15,8 +15,8 @@ import { CommentFactory } from "./CommentFactory";
15
15
  import { TypeFactory } from "./TypeFactory";
16
16
 
17
17
  export class MetadataCollection {
18
- private objects_: Map<ts.Type, MetadataObject>;
19
- private object_unions_: Map<string, MetadataObject[]>;
18
+ private objects_: Map<ts.Type, MetadataObjectType>;
19
+ private object_unions_: Map<string, MetadataObjectType[]>;
20
20
  private aliases_: Map<ts.Type, MetadataAlias>;
21
21
  private arrays_: Map<ts.Type, MetadataArrayType>;
22
22
  private tuples_: Map<ts.Type, MetadataTupleType>;
@@ -62,11 +62,11 @@ export class MetadataCollection {
62
62
  return [...this.aliases_.values()];
63
63
  }
64
64
 
65
- public objects(): MetadataObject[] {
65
+ public objects(): MetadataObjectType[] {
66
66
  return [...this.objects_.values()];
67
67
  }
68
68
 
69
- public unions(): MetadataObject[][] {
69
+ public unions(): MetadataObjectType[][] {
70
70
  return [...this.object_unions_.values()];
71
71
  }
72
72
 
@@ -106,8 +106,10 @@ export class MetadataCollection {
106
106
  * @internal
107
107
  */
108
108
  public getUnionIndex(meta: Metadata): number {
109
- const key: string = meta.objects.map((obj) => obj.name).join(" | ");
110
- MapUtil.take(this.object_unions_, key, () => meta.objects);
109
+ const key: string = meta.objects.map((obj) => obj.type.name).join(" | ");
110
+ MapUtil.take(this.object_unions_, key, () =>
111
+ meta.objects.map((o) => o.type),
112
+ );
111
113
  return [...this.object_unions_.keys()].indexOf(key);
112
114
  }
113
115
 
@@ -117,12 +119,12 @@ export class MetadataCollection {
117
119
  public emplace(
118
120
  checker: ts.TypeChecker,
119
121
  type: ts.Type,
120
- ): [MetadataObject, boolean] {
122
+ ): [MetadataObjectType, boolean] {
121
123
  const oldbie = this.objects_.get(type);
122
124
  if (oldbie !== undefined) return [oldbie, false];
123
125
 
124
126
  const $id: string = this.getName(checker, type);
125
- const obj: MetadataObject = MetadataObject.create({
127
+ const obj: MetadataObjectType = MetadataObjectType.create({
126
128
  name: $id,
127
129
  properties: [],
128
130
  description:
@@ -202,7 +204,7 @@ export class MetadataCollection {
202
204
  /**
203
205
  * @internal
204
206
  */
205
- public setObjectRecursive(obj: MetadataObject, recursive: boolean): void {
207
+ public setObjectRecursive(obj: MetadataObjectType, recursive: boolean): void {
206
208
  Writable(obj).recursive = recursive;
207
209
  }
208
210
 
@@ -6,6 +6,7 @@ import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
6
6
  import { MetadataConstant } from "../schemas/metadata/MetadataConstant";
7
7
  import { MetadataFunction } from "../schemas/metadata/MetadataFunction";
8
8
  import { MetadataObject } from "../schemas/metadata/MetadataObject";
9
+ import { MetadataObjectType } from "../schemas/metadata/MetadataObjectType";
9
10
  import { MetadataTupleType } from "../schemas/metadata/MetadataTupleType";
10
11
  import { explore_metadata } from "./internal/metadata/explore_metadata";
11
12
  import { iterate_metadata_collection } from "./internal/metadata/iterate_metadata_collection";
@@ -36,7 +37,7 @@ export namespace MetadataFactory {
36
37
  }
37
38
  export interface IExplore {
38
39
  top: boolean;
39
- object: MetadataObject | null;
40
+ object: MetadataObjectType | null;
40
41
  property: string | object | null;
41
42
  nested: null | MetadataAlias | MetadataArrayType | MetadataTupleType;
42
43
  parameter: string | null;
@@ -200,7 +201,7 @@ export namespace MetadataFactory {
200
201
  for (const object of props.metadata.objects)
201
202
  validateObject({
202
203
  ...props,
203
- object,
204
+ object: object.type,
204
205
  });
205
206
  for (const func of props.metadata.functions)
206
207
  validateFunction({
@@ -302,7 +303,7 @@ export namespace MetadataFactory {
302
303
  transformer?: ts.TransformationContext;
303
304
  options: IOptions;
304
305
  visitor: IValidationVisitor;
305
- object: MetadataObject;
306
+ object: MetadataObjectType;
306
307
  }) => {
307
308
  if (props.visitor.objects.has(props.object)) return;
308
309
  props.visitor.objects.add(props.object);
@@ -321,7 +322,12 @@ export namespace MetadataFactory {
321
322
  const errors: string[] = props.options.validate(
322
323
  Metadata.create({
323
324
  ...Metadata.initialize(),
324
- objects: [props.object],
325
+ objects: [
326
+ MetadataObject.create({
327
+ type: props.object,
328
+ tags: [],
329
+ }),
330
+ ],
325
331
  }),
326
332
  explore,
327
333
  );
@@ -391,7 +397,7 @@ export namespace MetadataFactory {
391
397
  interface IValidationVisitor {
392
398
  functor: Validator;
393
399
  errors: IError[];
394
- objects: Set<MetadataObject>;
400
+ objects: Set<MetadataObjectType>;
395
401
  arrays: Set<MetadataArrayType>;
396
402
  tuples: Set<MetadataTupleType>;
397
403
  aliases: Set<MetadataAlias>;
@@ -1,6 +1,6 @@
1
1
  import { IMetadataTypeTag } from "../schemas/metadata/IMetadataTypeTag";
2
2
  import { Metadata } from "../schemas/metadata/Metadata";
3
- import { MetadataObject } from "../schemas/metadata/MetadataObject";
3
+ import { MetadataObjectType } from "../schemas/metadata/MetadataObjectType";
4
4
  import { MetadataProperty } from "../schemas/metadata/MetadataProperty";
5
5
 
6
6
  import { MetadataFactory } from "./MetadataFactory";
@@ -10,7 +10,7 @@ export namespace MetadataTypeTagFactory {
10
10
  export const analyze = (props: {
11
11
  errors: MetadataFactory.IError[];
12
12
  type: "boolean" | "bigint" | "number" | "string" | "array";
13
- objects: MetadataObject[];
13
+ objects: MetadataObjectType[];
14
14
  explore: MetadataFactory.IExplore;
15
15
  }): IMetadataTypeTag[] => {
16
16
  const messages: string[] = [];
@@ -31,7 +31,7 @@ export namespace MetadataTypeTagFactory {
31
31
  //----
32
32
  // VALIDATION PROCESS
33
33
  //----
34
- const filtered: MetadataObject[] = props.objects.filter((obj) => {
34
+ const filtered: MetadataObjectType[] = props.objects.filter((obj) => {
35
35
  // ONLY ONE PROPERTY
36
36
  if (obj.properties.length !== 1) return false;
37
37
 
@@ -50,7 +50,7 @@ export namespace MetadataTypeTagFactory {
50
50
  });
51
51
 
52
52
  // CHECK LIST OF PROPERTIES
53
- const tag: MetadataObject = top.value.objects[0]!;
53
+ const tag: MetadataObjectType = top.value.objects[0]!.type;
54
54
  const statics: string[] = tag.properties
55
55
  .map((p) => p.key.getSoleLiteral()!)
56
56
  .filter((str) => str !== null);
@@ -230,9 +230,10 @@ export namespace MetadataTypeTagFactory {
230
230
  return true;
231
231
 
232
232
  // RECORD<TARGET, STRING>
233
- const target: string[] | undefined = props.value.objects[0]?.properties
234
- .map((p) => p.key.getSoleLiteral()!)
235
- .filter((str) => str !== null) as string[] | undefined;
233
+ const target: string[] | undefined =
234
+ props.value.objects[0]?.type.properties
235
+ .map((p) => p.key.getSoleLiteral()!)
236
+ .filter((str) => str !== null) as string[] | undefined;
236
237
  if (target === undefined)
237
238
  return props.report({
238
239
  property: "target",
@@ -241,7 +242,7 @@ export namespace MetadataTypeTagFactory {
241
242
  const variadic: boolean =
242
243
  props.value.size() === 1 &&
243
244
  props.value.objects.length === 1 &&
244
- props.value.objects[0]!.properties.every(
245
+ props.value.objects[0]!.type.properties.every(
245
246
  (vp) =>
246
247
  vp.value.size() === 1 &&
247
248
  vp.value.isRequired() &&
@@ -262,10 +263,10 @@ export namespace MetadataTypeTagFactory {
262
263
 
263
264
  const create_metadata_type_tag = (props: {
264
265
  report: (next: { property: string | null; message: string }) => false;
265
- object: MetadataObject;
266
+ object: MetadataObjectType;
266
267
  }): ITypeTag | null => {
267
268
  const find = (key: string): MetadataProperty | undefined =>
268
- props.object.properties[0]?.value.objects[0]?.properties.find(
269
+ props.object.properties[0]?.value.objects[0]?.type.properties.find(
269
270
  (p) => p.key.getSoleLiteral() === key,
270
271
  );
271
272
 
@@ -294,7 +295,7 @@ export namespace MetadataTypeTagFactory {
294
295
  ]),
295
296
  );
296
297
  return Object.fromEntries(
297
- validate.objects[0]!.properties.map((p) => [
298
+ validate.objects[0]!.type.properties.map((p) => [
298
299
  p.key.getSoleLiteral()!,
299
300
  p.value.constants[0]!.values[0]!.value as string,
300
301
  ]),
@@ -316,7 +317,7 @@ export namespace MetadataTypeTagFactory {
316
317
  property: "schema",
317
318
  message,
318
319
  }),
319
- object: p.objects[0]!,
320
+ object: p.objects[0]!.type,
320
321
  });
321
322
  props.report({
322
323
  property: "schema",