typia 7.0.0-dev.20241012 → 7.0.0-dev.20241018

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 (236) hide show
  1. package/lib/factories/JsonMetadataFactory.js +3 -2
  2. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  3. package/lib/factories/MetadataCollection.d.ts +3 -3
  4. package/lib/factories/MetadataCollection.js +2 -2
  5. package/lib/factories/MetadataCollection.js.map +1 -1
  6. package/lib/factories/MetadataFactory.d.ts +2 -2
  7. package/lib/factories/MetadataFactory.js +3 -3
  8. package/lib/factories/MetadataFactory.js.map +1 -1
  9. package/lib/factories/MetadataTypeTagFactory.d.ts +3 -2
  10. package/lib/factories/MetadataTypeTagFactory.js +26 -3
  11. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  12. package/lib/factories/ProtobufFactory.js +829 -156
  13. package/lib/factories/ProtobufFactory.js.map +1 -1
  14. package/lib/factories/internal/metadata/IMetadataIteratorProps.d.ts +1 -0
  15. package/lib/factories/internal/metadata/MetadataHelper.js +1 -1
  16. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  17. package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +2 -2
  18. package/lib/factories/internal/metadata/emplace_metadata_object.js +5 -5
  19. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  20. package/lib/factories/internal/metadata/explore_metadata.js +2 -0
  21. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  22. package/lib/factories/internal/metadata/iterate_metadata.js +1 -1
  23. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  24. package/lib/factories/internal/metadata/iterate_metadata_alias.js +8 -2
  25. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  26. package/lib/factories/internal/metadata/iterate_metadata_collection.js +6 -6
  27. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  28. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +262 -137
  29. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  30. package/lib/factories/internal/metadata/iterate_metadata_map.js +4 -2
  31. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  32. package/lib/factories/internal/metadata/iterate_metadata_native.js +27 -11
  33. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  34. package/lib/factories/internal/metadata/iterate_metadata_set.js +8 -1
  35. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  36. package/lib/factories/internal/metadata/iterate_metadata_sort.js +1 -1
  37. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  38. package/lib/factories/internal/metadata/iterate_metadata_template.js +1 -1
  39. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  40. package/lib/programmers/CheckerProgrammer.js +5 -5
  41. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  42. package/lib/programmers/RandomProgrammer.js +12 -12
  43. package/lib/programmers/RandomProgrammer.js.map +1 -1
  44. package/lib/programmers/helpers/AtomicPredicator.js +3 -3
  45. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  46. package/lib/programmers/helpers/ProtobufUtil.d.ts +5 -4
  47. package/lib/programmers/helpers/ProtobufUtil.js +215 -92
  48. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  49. package/lib/programmers/helpers/UnionExplorer.d.ts +4 -2
  50. package/lib/programmers/helpers/UnionExplorer.js +1 -1
  51. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  52. package/lib/programmers/http/HttpFormDataProgrammer.js +6 -6
  53. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  54. package/lib/programmers/internal/application_escaped.js +2 -2
  55. package/lib/programmers/internal/application_escaped.js.map +1 -1
  56. package/lib/programmers/internal/application_v30_alias.js +13 -8
  57. package/lib/programmers/internal/application_v30_alias.js.map +1 -1
  58. package/lib/programmers/internal/application_v30_native.js +17 -10
  59. package/lib/programmers/internal/application_v30_native.js.map +1 -1
  60. package/lib/programmers/internal/application_v30_object.js +16 -6
  61. package/lib/programmers/internal/application_v30_object.js.map +1 -1
  62. package/lib/programmers/internal/application_v30_schema.js +24 -17
  63. package/lib/programmers/internal/application_v30_schema.js.map +1 -1
  64. package/lib/programmers/internal/application_v31_alias.js +12 -11
  65. package/lib/programmers/internal/application_v31_alias.js.map +1 -1
  66. package/lib/programmers/internal/application_v31_native.js +17 -10
  67. package/lib/programmers/internal/application_v31_native.js.map +1 -1
  68. package/lib/programmers/internal/application_v31_object.js +13 -6
  69. package/lib/programmers/internal/application_v31_object.js.map +1 -1
  70. package/lib/programmers/internal/application_v31_schema.js +23 -16
  71. package/lib/programmers/internal/application_v31_schema.js.map +1 -1
  72. package/lib/programmers/internal/check_dynamic_key.js +4 -4
  73. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  74. package/lib/programmers/internal/check_native.js +3 -3
  75. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  76. package/lib/programmers/internal/llm_schema_escaped.js +2 -2
  77. package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
  78. package/lib/programmers/internal/llm_schema_object.js +18 -14
  79. package/lib/programmers/internal/llm_schema_object.js.map +1 -1
  80. package/lib/programmers/internal/llm_schema_station.js +8 -8
  81. package/lib/programmers/internal/llm_schema_station.js.map +1 -1
  82. package/lib/programmers/json/JsonSchemasProgrammer.js +5 -5
  83. package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
  84. package/lib/programmers/json/JsonStringifyProgrammer.js +18 -17
  85. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  86. package/lib/programmers/llm/LlmSchemaProgrammer.js +6 -6
  87. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  88. package/lib/programmers/misc/MiscCloneProgrammer.js +7 -5
  89. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  90. package/lib/programmers/misc/MiscPruneProgrammer.js +1 -1
  91. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  92. package/lib/programmers/notations/NotationGeneralProgrammer.js +6 -4
  93. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  94. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +15 -12
  95. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  96. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +6 -4
  97. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  98. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +51 -34
  99. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  100. package/lib/schemas/metadata/IMetadata.d.ts +14 -18
  101. package/lib/schemas/metadata/IMetadataAlias.d.ts +2 -7
  102. package/lib/schemas/metadata/IMetadataAliasType.d.ts +10 -0
  103. package/lib/schemas/metadata/IMetadataAliasType.js +3 -0
  104. package/lib/schemas/metadata/IMetadataAliasType.js.map +1 -0
  105. package/lib/schemas/metadata/IMetadataComponents.d.ts +2 -2
  106. package/lib/schemas/metadata/IMetadataConstantValue.d.ts +1 -1
  107. package/lib/schemas/metadata/IMetadataDictionary.d.ts +2 -2
  108. package/lib/schemas/metadata/IMetadataMap.d.ts +7 -0
  109. package/lib/schemas/metadata/{IMetadataEntry.js → IMetadataMap.js} +1 -1
  110. package/lib/schemas/metadata/IMetadataMap.js.map +1 -0
  111. package/lib/schemas/metadata/IMetadataNative.d.ts +5 -0
  112. package/lib/schemas/metadata/IMetadataNative.js +3 -0
  113. package/lib/schemas/metadata/IMetadataNative.js.map +1 -0
  114. package/lib/schemas/metadata/IMetadataSet.d.ts +6 -0
  115. package/lib/schemas/metadata/IMetadataSet.js +3 -0
  116. package/lib/schemas/metadata/IMetadataSet.js.map +1 -0
  117. package/lib/schemas/metadata/IMetadataTemplate.d.ts +1 -1
  118. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +1 -1
  119. package/lib/schemas/metadata/Metadata.d.ts +6 -9
  120. package/lib/schemas/metadata/Metadata.js +136 -98
  121. package/lib/schemas/metadata/Metadata.js.map +1 -1
  122. package/lib/schemas/metadata/MetadataAlias.d.ts +8 -11
  123. package/lib/schemas/metadata/MetadataAlias.js +48 -33
  124. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  125. package/lib/schemas/metadata/MetadataAliasType.d.ts +16 -0
  126. package/lib/schemas/metadata/MetadataAliasType.js +51 -0
  127. package/lib/schemas/metadata/MetadataAliasType.js.map +1 -0
  128. package/lib/schemas/metadata/MetadataComponents.d.ts +2 -2
  129. package/lib/schemas/metadata/MetadataComponents.js +2 -2
  130. package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
  131. package/lib/schemas/metadata/MetadataConstantValue.d.ts +1 -1
  132. package/lib/schemas/metadata/MetadataMap.d.ts +14 -0
  133. package/lib/schemas/metadata/MetadataMap.js +66 -0
  134. package/lib/schemas/metadata/MetadataMap.js.map +1 -0
  135. package/lib/schemas/metadata/MetadataNative.d.ts +12 -0
  136. package/lib/schemas/metadata/MetadataNative.js +65 -0
  137. package/lib/schemas/metadata/MetadataNative.js.map +1 -0
  138. package/lib/schemas/metadata/MetadataSet.d.ts +13 -0
  139. package/lib/schemas/metadata/MetadataSet.js +64 -0
  140. package/lib/schemas/metadata/MetadataSet.js.map +1 -0
  141. package/lib/schemas/metadata/MetadataTemplate.d.ts +1 -1
  142. package/lib/tags/Example.d.ts +2 -2
  143. package/lib/tags/Examples.d.ts +2 -2
  144. package/lib/tags/JsonSchemaPlugin.d.ts +1 -1
  145. package/lib/tags/Sequence.d.ts +9 -0
  146. package/lib/tags/Sequence.js +3 -0
  147. package/lib/tags/Sequence.js.map +1 -0
  148. package/lib/tags/TagBase.d.ts +1 -1
  149. package/lib/tags/index.d.ts +1 -0
  150. package/lib/tags/index.js +1 -0
  151. package/lib/tags/index.js.map +1 -1
  152. package/package.json +1 -1
  153. package/src/factories/JsonMetadataFactory.ts +5 -2
  154. package/src/factories/MetadataCollection.ts +6 -6
  155. package/src/factories/MetadataFactory.ts +7 -7
  156. package/src/factories/MetadataTypeTagFactory.ts +31 -6
  157. package/src/factories/ProtobufFactory.ts +494 -176
  158. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +1 -0
  159. package/src/factories/internal/metadata/MetadataHelper.ts +1 -1
  160. package/src/factories/internal/metadata/emplace_metadata_alias.ts +2 -2
  161. package/src/factories/internal/metadata/emplace_metadata_object.ts +5 -5
  162. package/src/factories/internal/metadata/explore_metadata.ts +1 -0
  163. package/src/factories/internal/metadata/iterate_metadata.ts +1 -1
  164. package/src/factories/internal/metadata/iterate_metadata_alias.ts +9 -4
  165. package/src/factories/internal/metadata/iterate_metadata_collection.ts +6 -6
  166. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +163 -181
  167. package/src/factories/internal/metadata/iterate_metadata_map.ts +5 -2
  168. package/src/factories/internal/metadata/iterate_metadata_native.ts +20 -2
  169. package/src/factories/internal/metadata/iterate_metadata_set.ts +27 -11
  170. package/src/factories/internal/metadata/iterate_metadata_sort.ts +1 -1
  171. package/src/factories/internal/metadata/iterate_metadata_template.ts +1 -3
  172. package/src/programmers/CheckerProgrammer.ts +9 -7
  173. package/src/programmers/RandomProgrammer.ts +16 -14
  174. package/src/programmers/helpers/AtomicPredicator.ts +3 -3
  175. package/src/programmers/helpers/ProtobufUtil.ts +146 -43
  176. package/src/programmers/helpers/UnionExplorer.ts +62 -62
  177. package/src/programmers/http/HttpFormDataProgrammer.ts +10 -6
  178. package/src/programmers/internal/application_escaped.ts +2 -2
  179. package/src/programmers/internal/application_v30_alias.ts +18 -12
  180. package/src/programmers/internal/application_v30_native.ts +22 -12
  181. package/src/programmers/internal/application_v30_object.ts +23 -8
  182. package/src/programmers/internal/application_v30_schema.ts +31 -34
  183. package/src/programmers/internal/application_v31_alias.ts +16 -13
  184. package/src/programmers/internal/application_v31_native.ts +22 -12
  185. package/src/programmers/internal/application_v31_object.ts +19 -8
  186. package/src/programmers/internal/application_v31_schema.ts +26 -29
  187. package/src/programmers/internal/check_dynamic_key.ts +4 -4
  188. package/src/programmers/internal/check_native.ts +4 -4
  189. package/src/programmers/internal/check_union_array_like.ts +2 -1
  190. package/src/programmers/internal/llm_schema_escaped.ts +2 -2
  191. package/src/programmers/internal/llm_schema_object.ts +21 -18
  192. package/src/programmers/internal/llm_schema_station.ts +9 -11
  193. package/src/programmers/json/JsonSchemasProgrammer.ts +5 -5
  194. package/src/programmers/json/JsonStringifyProgrammer.ts +5 -5
  195. package/src/programmers/llm/LlmSchemaProgrammer.ts +6 -6
  196. package/src/programmers/misc/MiscCloneProgrammer.ts +11 -7
  197. package/src/programmers/misc/MiscPruneProgrammer.ts +1 -1
  198. package/src/programmers/notations/NotationGeneralProgrammer.ts +10 -6
  199. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +14 -7
  200. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +11 -8
  201. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +45 -20
  202. package/src/schemas/metadata/IMetadata.ts +35 -39
  203. package/src/schemas/metadata/IMetadataAlias.ts +6 -12
  204. package/src/schemas/metadata/IMetadataAliasType.ts +12 -0
  205. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  206. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  207. package/src/schemas/metadata/IMetadataConstantValue.ts +1 -1
  208. package/src/schemas/metadata/IMetadataDictionary.ts +2 -2
  209. package/src/schemas/metadata/IMetadataMap.ts +8 -0
  210. package/src/schemas/metadata/IMetadataNative.ts +6 -0
  211. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  212. package/src/schemas/metadata/IMetadataSet.ts +7 -0
  213. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  214. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  215. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  216. package/src/schemas/metadata/Metadata.ts +100 -47
  217. package/src/schemas/metadata/MetadataAlias.ts +46 -61
  218. package/src/schemas/metadata/MetadataAliasType.ts +63 -0
  219. package/src/schemas/metadata/MetadataArray.ts +49 -49
  220. package/src/schemas/metadata/MetadataComponents.ts +3 -3
  221. package/src/schemas/metadata/MetadataConstantValue.ts +1 -1
  222. package/src/schemas/metadata/MetadataMap.ts +48 -0
  223. package/src/schemas/metadata/MetadataNative.ts +44 -0
  224. package/src/schemas/metadata/MetadataProperty.ts +5 -0
  225. package/src/schemas/metadata/MetadataSet.ts +45 -0
  226. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  227. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  228. package/src/tags/Example.ts +24 -17
  229. package/src/tags/Examples.ts +16 -16
  230. package/src/tags/JsonSchemaPlugin.ts +8 -8
  231. package/src/tags/Sequence.ts +10 -0
  232. package/src/tags/TagBase.ts +82 -76
  233. package/src/tags/index.ts +1 -0
  234. package/lib/schemas/metadata/IMetadataEntry.d.ts +0 -5
  235. package/lib/schemas/metadata/IMetadataEntry.js.map +0 -1
  236. package/src/schemas/metadata/IMetadataEntry.ts +0 -6
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IMetadataEntry.js.map
3
+ //# sourceMappingURL=IMetadataMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetadataMap.js","sourceRoot":"","sources":["../../../src/schemas/metadata/IMetadataMap.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import { IMetadataTypeTag } from "./IMetadataTypeTag";
2
+ export interface IMetadataNative {
3
+ name: string;
4
+ tags: IMetadataTypeTag[][];
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMetadataNative.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetadataNative.js","sourceRoot":"","sources":["../../../src/schemas/metadata/IMetadataNative.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { IMetadata } from "./IMetadata";
2
+ import { IMetadataTypeTag } from "./IMetadataTypeTag";
3
+ export interface IMetadataSet {
4
+ value: IMetadata;
5
+ tags: IMetadataTypeTag[][];
6
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMetadataSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetadataSet.js","sourceRoot":"","sources":["../../../src/schemas/metadata/IMetadataSet.ts"],"names":[],"mappings":""}
@@ -2,5 +2,5 @@ import { IMetadata } from "./IMetadata";
2
2
  import { IMetadataTypeTag } from "./IMetadataTypeTag";
3
3
  export interface IMetadataTemplate {
4
4
  row: IMetadata[];
5
- tags?: IMetadataTypeTag[][] | undefined;
5
+ tags: IMetadataTypeTag[][];
6
6
  }
@@ -1,5 +1,5 @@
1
1
  export interface IMetadataTypeTag {
2
- target: "boolean" | "bigint" | "number" | "string" | "array";
2
+ target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
3
3
  name: string;
4
4
  kind: string;
5
5
  exclusive: boolean | string[];
@@ -6,7 +6,10 @@ import { MetadataAtomic } from "./MetadataAtomic";
6
6
  import { MetadataConstant } from "./MetadataConstant";
7
7
  import { MetadataEscaped } from "./MetadataEscaped";
8
8
  import { MetadataFunction } from "./MetadataFunction";
9
+ import { MetadataMap } from "./MetadataMap";
10
+ import { MetadataNative } from "./MetadataNative";
9
11
  import { MetadataObject } from "./MetadataObject";
12
+ import { MetadataSet } from "./MetadataSet";
10
13
  import { MetadataTemplate } from "./MetadataTemplate";
11
14
  import { MetadataTuple } from "./MetadataTuple";
12
15
  export declare class Metadata {
@@ -24,9 +27,9 @@ export declare class Metadata {
24
27
  tuples: MetadataTuple[];
25
28
  objects: MetadataObject[];
26
29
  functions: MetadataFunction[];
27
- natives: string[];
28
- sets: Metadata[];
29
- maps: Metadata.Entry[];
30
+ natives: MetadataNative[];
31
+ sets: MetadataSet[];
32
+ maps: MetadataMap[];
30
33
  /**
31
34
  * @hidden
32
35
  */
@@ -45,9 +48,3 @@ export declare namespace Metadata {
45
48
  const intersects: (x: Metadata, y: Metadata) => boolean;
46
49
  const covers: (x: Metadata, y: Metadata, level?: number, escaped?: boolean) => boolean;
47
50
  }
48
- export declare namespace Metadata {
49
- interface Entry {
50
- key: Metadata;
51
- value: Metadata;
52
- }
53
- }
@@ -38,13 +38,17 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Metadata = void 0;
40
40
  var ArrayUtil_1 = require("../../utils/ArrayUtil");
41
+ var MetadataAlias_1 = require("./MetadataAlias");
41
42
  var MetadataArray_1 = require("./MetadataArray");
42
43
  var MetadataAtomic_1 = require("./MetadataAtomic");
43
44
  var MetadataConstant_1 = require("./MetadataConstant");
44
45
  var MetadataEscaped_1 = require("./MetadataEscaped");
45
46
  var MetadataFunction_1 = require("./MetadataFunction");
47
+ var MetadataMap_1 = require("./MetadataMap");
48
+ var MetadataNative_1 = require("./MetadataNative");
46
49
  var MetadataObject_1 = require("./MetadataObject");
47
50
  var MetadataObjectType_1 = require("./MetadataObjectType");
51
+ var MetadataSet_1 = require("./MetadataSet");
48
52
  var MetadataTemplate_1 = require("./MetadataTemplate");
49
53
  var MetadataTuple_1 = require("./MetadataTuple");
50
54
  var Metadata = /** @class */ (function () {
@@ -122,13 +126,10 @@ var Metadata = /** @class */ (function () {
122
126
  arrays: this.arrays.map(function (array) { return array.toJSON(); }),
123
127
  tuples: this.tuples.map(function (tuple) { return tuple.toJSON(); }),
124
128
  objects: this.objects.map(function (obj) { return obj.toJSON(); }),
125
- aliases: this.aliases.map(function (alias) { return alias.name; }),
126
- natives: this.natives.slice(),
127
- sets: this.sets.map(function (meta) { return meta.toJSON(); }),
128
- maps: this.maps.map(function (entry) { return ({
129
- key: entry.key.toJSON(),
130
- value: entry.value.toJSON(),
131
- }); }),
129
+ aliases: this.aliases.map(function (alias) { return alias.toJSON(); }),
130
+ natives: this.natives.map(function (native) { return native.toJSON(); }),
131
+ sets: this.sets.map(function (set) { return set.toJSON(); }),
132
+ maps: this.maps.map(function (map) { return map.toJSON(); }),
132
133
  };
133
134
  };
134
135
  Metadata.from = function (meta, dict) {
@@ -172,17 +173,28 @@ var Metadata = /** @class */ (function () {
172
173
  });
173
174
  }),
174
175
  aliases: meta.aliases.map(function (alias) {
175
- var found = dict.aliases.get(alias);
176
- if (found === undefined)
176
+ var type = dict.aliases.get(alias.name);
177
+ if (type === undefined)
177
178
  throw new RangeError("Error on Metadata.from(): failed to find alias \"".concat(alias, "\"."));
178
- return found;
179
+ return MetadataAlias_1.MetadataAlias.create({
180
+ type: type,
181
+ tags: alias.tags.map(function (r) { return r.slice(); }),
182
+ });
183
+ }),
184
+ natives: meta.natives.map(function (native) { return MetadataNative_1.MetadataNative.create(native); }),
185
+ sets: meta.sets.map(function (set) {
186
+ return MetadataSet_1.MetadataSet.create({
187
+ value: Metadata.from(set.value, dict),
188
+ tags: set.tags.map(function (r) { return r.slice(); }),
189
+ });
190
+ }),
191
+ maps: meta.maps.map(function (map) {
192
+ return MetadataMap_1.MetadataMap.create({
193
+ key: _this.from(map.key, dict),
194
+ value: _this.from(map.value, dict),
195
+ tags: map.tags.map(function (r) { return r.slice(); }),
196
+ });
179
197
  }),
180
- natives: meta.natives.slice(),
181
- sets: meta.sets.map(function (meta) { return _this.from(meta, dict); }),
182
- maps: meta.maps.map(function (entry) { return ({
183
- key: _this.from(entry.key, dict),
184
- value: _this.from(entry.value, dict),
185
- }); }),
186
198
  });
187
199
  };
188
200
  /* -----------------------------------------------------------
@@ -227,6 +239,36 @@ var Metadata = /** @class */ (function () {
227
239
  (this.functions.length ? 1 : 0) +
228
240
  (this.aliases.length ? 1 : 0));
229
241
  };
242
+ /**
243
+ * @internal
244
+ */
245
+ Metadata.prototype.isSequence = function () {
246
+ var _this = this;
247
+ var _a;
248
+ return ((_a = this.is_sequence_) !== null && _a !== void 0 ? _a : (this.is_sequence_ = (function () {
249
+ var exists = function (tags) {
250
+ return tags.some(function (row) {
251
+ var sequence = row.find(function (t) {
252
+ var _a;
253
+ return t.kind === "sequence" &&
254
+ typeof ((_a = t.schema) === null || _a === void 0 ? void 0 : _a["x-protobuf-sequence"]) === "number";
255
+ });
256
+ if (sequence === undefined)
257
+ return false;
258
+ var value = Number(sequence.schema["x-protobuf-sequence"]);
259
+ return !Number.isNaN(value);
260
+ });
261
+ };
262
+ return (_this.atomics.some(function (atomic) { return exists(atomic.tags); }) &&
263
+ _this.constants.some(function (c) {
264
+ return c.values.some(function (v) { var _a; return exists((_a = v.tags) !== null && _a !== void 0 ? _a : []); });
265
+ }) &&
266
+ _this.templates.some(function (tpl) { return exists(tpl.tags); }) &&
267
+ _this.arrays.some(function (array) { return exists(array.tags); }) &&
268
+ _this.objects.some(function (object) { return exists(object.tags); }) &&
269
+ _this.natives.some(function (native) { return native.name === "Uint8Array" && exists(native.tags); }));
270
+ })()));
271
+ };
230
272
  Metadata.prototype.isConstant = function () {
231
273
  return this.bucket() === (this.constants.length ? 1 : 0);
232
274
  };
@@ -453,7 +495,7 @@ exports.Metadata = Metadata;
453
495
  finally { if (e_5) throw e_5.error; }
454
496
  }
455
497
  var _loop_6 = function (yd) {
456
- if (x.aliases.some(function (xd) { return xd.name === yd.name; }) === false)
498
+ if (x.aliases.some(function (xd) { return xd.type.name === yd.type.name; }) === false)
457
499
  return { value: false };
458
500
  };
459
501
  try {
@@ -493,7 +535,7 @@ exports.Metadata = Metadata;
493
535
  finally { if (e_7) throw e_7.error; }
494
536
  }
495
537
  var _loop_8 = function (ys) {
496
- if (x.sets.some(function (xs) { return Metadata.covers(xs, ys); }) === false)
538
+ if (x.sets.some(function (xs) { return Metadata.covers(xs.value, ys.value); }) === false)
497
539
  return { value: false };
498
540
  };
499
541
  try {
@@ -553,8 +595,8 @@ exports.Metadata = Metadata;
553
595
  * @internal
554
596
  */
555
597
  Metadata.merge = function (x, y) {
556
- var e_10, _a, e_11, _b, e_12, _c;
557
- var _d, _e;
598
+ var e_10, _a;
599
+ var _b, _c;
558
600
  var output = Metadata.create({
559
601
  any: x.any || y.any,
560
602
  nullable: x.nullable || y.nullable,
@@ -566,7 +608,7 @@ exports.Metadata = Metadata;
566
608
  original: Metadata.merge(x.escaped.original, y.escaped.original),
567
609
  returns: Metadata.merge(x.escaped.returns, y.escaped.returns),
568
610
  })
569
- : ((_d = x.escaped) !== null && _d !== void 0 ? _d : y.escaped),
611
+ : ((_b = x.escaped) !== null && _b !== void 0 ? _b : y.escaped),
570
612
  atomics: mergeTaggedTypes({
571
613
  container: x.atomics,
572
614
  equals: function (x, y) { return x.type === y.type; },
@@ -576,8 +618,7 @@ exports.Metadata = Metadata;
576
618
  templates: x.templates.slice(),
577
619
  rest: x.rest !== null && y.rest !== null
578
620
  ? Metadata.merge(x.rest, y.rest)
579
- : ((_e = x.rest) !== null && _e !== void 0 ? _e : y.rest),
580
- // arrays: x.arrays.slice(),
621
+ : ((_c = x.rest) !== null && _c !== void 0 ? _c : y.rest),
581
622
  arrays: mergeTaggedTypes({
582
623
  container: x.arrays,
583
624
  equals: function (x, y) { return x.type.name === y.type.name; },
@@ -588,14 +629,37 @@ exports.Metadata = Metadata;
588
629
  equals: function (x, y) { return x.type.name === y.type.name; },
589
630
  getter: function (x) { return x.tags; },
590
631
  })(y.tuples),
591
- objects: x.objects.slice(),
592
- aliases: x.aliases.slice(),
593
- natives: __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(x.natives), false), __read(y.natives), false))), false),
594
- sets: x.sets.slice(),
595
- maps: x.maps.slice(),
632
+ objects: mergeTaggedTypes({
633
+ container: x.objects,
634
+ equals: function (x, y) { return x.type.name === y.type.name; },
635
+ getter: function (x) { return x.tags; },
636
+ })(y.objects),
637
+ aliases: mergeTaggedTypes({
638
+ container: x.aliases,
639
+ equals: function (x, y) { return x.type.name === y.type.name; },
640
+ getter: function (x) { return x.tags; },
641
+ })(y.aliases),
642
+ natives: mergeTaggedTypes({
643
+ container: x.natives,
644
+ equals: function (x, y) { return x.name === y.name; },
645
+ getter: function (x) { return x.tags; },
646
+ })(y.natives),
647
+ sets: mergeTaggedTypes({
648
+ container: x.sets,
649
+ equals: function (x, y) { return x.value.getName() === y.value.getName(); },
650
+ getter: function (x) { return x.tags; },
651
+ })(y.sets),
652
+ maps: mergeTaggedTypes({
653
+ container: x.maps,
654
+ equals: function (x, y) {
655
+ return x.key.getName() === y.key.getName() &&
656
+ x.value.getName() === y.value.getName();
657
+ },
658
+ getter: function (x) { return x.tags; },
659
+ })(y.maps),
596
660
  });
597
661
  var _loop_10 = function (constant) {
598
- var e_13, _m;
662
+ var e_11, _f;
599
663
  var target = ArrayUtil_1.ArrayUtil.take(output.constants, function (elem) { return elem.type === constant.type; }, function () {
600
664
  return MetadataConstant_1.MetadataConstant.create({
601
665
  type: constant.type,
@@ -603,63 +667,37 @@ exports.Metadata = Metadata;
603
667
  });
604
668
  });
605
669
  try {
606
- for (var _o = (e_13 = void 0, __values(constant.values)), _p = _o.next(); !_p.done; _p = _o.next()) {
607
- var value = _p.value;
670
+ for (var _g = (e_11 = void 0, __values(constant.values)), _h = _g.next(); !_h.done; _h = _g.next()) {
671
+ var value = _h.value;
608
672
  ArrayUtil_1.ArrayUtil.add(target.values, value, function (a, b) { return a.value === b.value; });
609
673
  }
610
674
  }
611
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
675
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
612
676
  finally {
613
677
  try {
614
- if (_p && !_p.done && (_m = _o.return)) _m.call(_o);
678
+ if (_h && !_h.done && (_f = _g.return)) _f.call(_g);
615
679
  }
616
- finally { if (e_13) throw e_13.error; }
680
+ finally { if (e_11) throw e_11.error; }
617
681
  }
618
682
  };
619
683
  try {
620
- for (var _f = __values(y.constants), _g = _f.next(); !_g.done; _g = _f.next()) {
621
- var constant = _g.value;
684
+ for (var _d = __values(y.constants), _e = _d.next(); !_e.done; _e = _d.next()) {
685
+ var constant = _e.value;
622
686
  _loop_10(constant);
623
687
  }
624
688
  }
625
689
  catch (e_10_1) { e_10 = { error: e_10_1 }; }
626
690
  finally {
627
691
  try {
628
- if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
692
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
629
693
  }
630
694
  finally { if (e_10) throw e_10.error; }
631
695
  }
632
- try {
633
- for (var _h = __values(y.objects), _j = _h.next(); !_j.done; _j = _h.next()) {
634
- var obj = _j.value;
635
- ArrayUtil_1.ArrayUtil.set(output.objects, obj, function (elem) { return elem.type.name; });
636
- }
637
- }
638
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
639
- finally {
640
- try {
641
- if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
642
- }
643
- finally { if (e_11) throw e_11.error; }
644
- }
645
- try {
646
- for (var _k = __values(y.aliases), _l = _k.next(); !_l.done; _l = _k.next()) {
647
- var alias = _l.value;
648
- ArrayUtil_1.ArrayUtil.set(output.aliases, alias, function (elem) { return elem.name; });
649
- }
650
- }
651
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
652
- finally {
653
- try {
654
- if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
655
- }
656
- finally { if (e_12) throw e_12.error; }
657
- }
658
696
  return output;
659
697
  };
660
698
  })(Metadata || (exports.Metadata = Metadata = {}));
661
699
  var getName = function (metadata) {
662
- var e_14, _a, e_15, _b, e_16, _c, e_17, _d, e_18, _e, e_19, _f, e_20, _g, e_21, _h, e_22, _j, e_23, _k, e_24, _l;
700
+ var e_12, _a, e_13, _b, e_14, _c, e_15, _d, e_16, _e, e_17, _f, e_18, _g, e_19, _h, e_20, _j, e_21, _k, e_22, _l;
663
701
  if (metadata.any === true)
664
702
  return "any";
665
703
  var elements = [];
@@ -675,37 +713,37 @@ var getName = function (metadata) {
675
713
  elements.push(atom.getName());
676
714
  }
677
715
  }
678
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
716
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
679
717
  finally {
680
718
  try {
681
719
  if (_o && !_o.done && (_a = _m.return)) _a.call(_m);
682
720
  }
683
- finally { if (e_14) throw e_14.error; }
721
+ finally { if (e_12) throw e_12.error; }
684
722
  }
685
723
  try {
686
724
  for (var _p = __values(metadata.constants), _q = _p.next(); !_q.done; _q = _p.next()) {
687
725
  var constant = _q.value;
688
726
  try {
689
- for (var _r = (e_16 = void 0, __values(constant.values)), _s = _r.next(); !_s.done; _s = _r.next()) {
727
+ for (var _r = (e_14 = void 0, __values(constant.values)), _s = _r.next(); !_s.done; _s = _r.next()) {
690
728
  var value = _s.value;
691
729
  elements.push(value.getName());
692
730
  }
693
731
  }
694
- catch (e_16_1) { e_16 = { error: e_16_1 }; }
732
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
695
733
  finally {
696
734
  try {
697
735
  if (_s && !_s.done && (_c = _r.return)) _c.call(_r);
698
736
  }
699
- finally { if (e_16) throw e_16.error; }
737
+ finally { if (e_14) throw e_14.error; }
700
738
  }
701
739
  }
702
740
  }
703
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
741
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
704
742
  finally {
705
743
  try {
706
744
  if (_q && !_q.done && (_b = _p.return)) _b.call(_p);
707
745
  }
708
- finally { if (e_15) throw e_15.error; }
746
+ finally { if (e_13) throw e_13.error; }
709
747
  }
710
748
  try {
711
749
  for (var _t = __values(metadata.templates), _u = _t.next(); !_u.done; _u = _t.next()) {
@@ -713,52 +751,52 @@ var getName = function (metadata) {
713
751
  elements.push(template.getName());
714
752
  }
715
753
  }
716
- catch (e_17_1) { e_17 = { error: e_17_1 }; }
754
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
717
755
  finally {
718
756
  try {
719
757
  if (_u && !_u.done && (_d = _t.return)) _d.call(_t);
720
758
  }
721
- finally { if (e_17) throw e_17.error; }
759
+ finally { if (e_15) throw e_15.error; }
722
760
  }
723
761
  try {
724
762
  // NATIVES
725
763
  for (var _v = __values(metadata.natives), _w = _v.next(); !_w.done; _w = _v.next()) {
726
764
  var native = _w.value;
727
- elements.push(native);
765
+ elements.push(native.getName());
728
766
  }
729
767
  }
730
- catch (e_18_1) { e_18 = { error: e_18_1 }; }
768
+ catch (e_16_1) { e_16 = { error: e_16_1 }; }
731
769
  finally {
732
770
  try {
733
771
  if (_w && !_w.done && (_e = _v.return)) _e.call(_v);
734
772
  }
735
- finally { if (e_18) throw e_18.error; }
773
+ finally { if (e_16) throw e_16.error; }
736
774
  }
737
775
  try {
738
776
  for (var _x = __values(metadata.sets), _y = _x.next(); !_y.done; _y = _x.next()) {
739
777
  var set = _y.value;
740
- elements.push("Set<".concat(set.getName(), ">"));
778
+ elements.push(set.getName());
741
779
  }
742
780
  }
743
- catch (e_19_1) { e_19 = { error: e_19_1 }; }
781
+ catch (e_17_1) { e_17 = { error: e_17_1 }; }
744
782
  finally {
745
783
  try {
746
784
  if (_y && !_y.done && (_f = _x.return)) _f.call(_x);
747
785
  }
748
- finally { if (e_19) throw e_19.error; }
786
+ finally { if (e_17) throw e_17.error; }
749
787
  }
750
788
  try {
751
789
  for (var _z = __values(metadata.maps), _0 = _z.next(); !_0.done; _0 = _z.next()) {
752
790
  var map = _0.value;
753
- elements.push("Map<".concat(map.key.getName(), ", ").concat(map.value.getName(), ">"));
791
+ elements.push(map.getName());
754
792
  }
755
793
  }
756
- catch (e_20_1) { e_20 = { error: e_20_1 }; }
794
+ catch (e_18_1) { e_18 = { error: e_18_1 }; }
757
795
  finally {
758
796
  try {
759
797
  if (_0 && !_0.done && (_g = _z.return)) _g.call(_z);
760
798
  }
761
- finally { if (e_20) throw e_20.error; }
799
+ finally { if (e_18) throw e_18.error; }
762
800
  }
763
801
  // INSTANCES
764
802
  if (metadata.rest !== null)
@@ -769,12 +807,12 @@ var getName = function (metadata) {
769
807
  elements.push(tuple.type.name);
770
808
  }
771
809
  }
772
- catch (e_21_1) { e_21 = { error: e_21_1 }; }
810
+ catch (e_19_1) { e_19 = { error: e_19_1 }; }
773
811
  finally {
774
812
  try {
775
813
  if (_2 && !_2.done && (_h = _1.return)) _h.call(_1);
776
814
  }
777
- finally { if (e_21) throw e_21.error; }
815
+ finally { if (e_19) throw e_19.error; }
778
816
  }
779
817
  try {
780
818
  for (var _3 = __values(metadata.arrays), _4 = _3.next(); !_4.done; _4 = _3.next()) {
@@ -782,12 +820,12 @@ var getName = function (metadata) {
782
820
  elements.push(array.getName());
783
821
  }
784
822
  }
785
- catch (e_22_1) { e_22 = { error: e_22_1 }; }
823
+ catch (e_20_1) { e_20 = { error: e_20_1 }; }
786
824
  finally {
787
825
  try {
788
826
  if (_4 && !_4.done && (_j = _3.return)) _j.call(_3);
789
827
  }
790
- finally { if (e_22) throw e_22.error; }
828
+ finally { if (e_20) throw e_20.error; }
791
829
  }
792
830
  try {
793
831
  for (var _5 = __values(metadata.objects), _6 = _5.next(); !_6.done; _6 = _5.next()) {
@@ -795,25 +833,25 @@ var getName = function (metadata) {
795
833
  elements.push(object.getName());
796
834
  }
797
835
  }
798
- catch (e_23_1) { e_23 = { error: e_23_1 }; }
836
+ catch (e_21_1) { e_21 = { error: e_21_1 }; }
799
837
  finally {
800
838
  try {
801
839
  if (_6 && !_6.done && (_k = _5.return)) _k.call(_5);
802
840
  }
803
- finally { if (e_23) throw e_23.error; }
841
+ finally { if (e_21) throw e_21.error; }
804
842
  }
805
843
  try {
806
844
  for (var _7 = __values(metadata.aliases), _8 = _7.next(); !_8.done; _8 = _7.next()) {
807
845
  var alias = _8.value;
808
- elements.push(alias.name);
846
+ elements.push(alias.getName());
809
847
  }
810
848
  }
811
- catch (e_24_1) { e_24 = { error: e_24_1 }; }
849
+ catch (e_22_1) { e_22 = { error: e_22_1 }; }
812
850
  finally {
813
851
  try {
814
852
  if (_8 && !_8.done && (_l = _7.return)) _l.call(_7);
815
853
  }
816
- finally { if (e_24) throw e_24.error; }
854
+ finally { if (e_22) throw e_22.error; }
817
855
  }
818
856
  if (metadata.escaped !== null)
819
857
  elements.push(metadata.escaped.getName());
@@ -827,10 +865,10 @@ var getName = function (metadata) {
827
865
  };
828
866
  var mergeTaggedTypes = function (props) {
829
867
  return function (opposite) {
830
- var e_25, _a;
868
+ var e_23, _a;
831
869
  var output = __spreadArray([], __read(props.container), false);
832
870
  var _loop_11 = function (elem) {
833
- var e_26, _b;
871
+ var e_24, _b;
834
872
  var equal = props.container.find(function (x) { return props.equals(x, elem); });
835
873
  if (equal === undefined) {
836
874
  output.push(elem);
@@ -849,17 +887,17 @@ var mergeTaggedTypes = function (props) {
849
887
  props.getter(equal).push(tags);
850
888
  };
851
889
  try {
852
- for (var _c = (e_26 = void 0, __values(props.getter(elem))), _d = _c.next(); !_d.done; _d = _c.next()) {
890
+ for (var _c = (e_24 = void 0, __values(props.getter(elem))), _d = _c.next(); !_d.done; _d = _c.next()) {
853
891
  var tags = _d.value;
854
892
  _loop_12(tags);
855
893
  }
856
894
  }
857
- catch (e_26_1) { e_26 = { error: e_26_1 }; }
895
+ catch (e_24_1) { e_24 = { error: e_24_1 }; }
858
896
  finally {
859
897
  try {
860
898
  if (_d && !_d.done && (_b = _c.return)) _b.call(_c);
861
899
  }
862
- finally { if (e_26) throw e_26.error; }
900
+ finally { if (e_24) throw e_24.error; }
863
901
  }
864
902
  };
865
903
  try {
@@ -868,12 +906,12 @@ var mergeTaggedTypes = function (props) {
868
906
  _loop_11(elem);
869
907
  }
870
908
  }
871
- catch (e_25_1) { e_25 = { error: e_25_1 }; }
909
+ catch (e_23_1) { e_23 = { error: e_23_1 }; }
872
910
  finally {
873
911
  try {
874
912
  if (opposite_1_1 && !opposite_1_1.done && (_a = opposite_1.return)) _a.call(opposite_1);
875
913
  }
876
- finally { if (e_25) throw e_25.error; }
914
+ finally { if (e_23) throw e_23.error; }
877
915
  }
878
916
  return output;
879
917
  };