typia 3.8.8 → 3.9.0-dev.20230603

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 (233) hide show
  1. package/lib/IRandomGenerator.d.ts +1 -0
  2. package/lib/factories/CommentFactory.js +2 -1
  3. package/lib/factories/CommentFactory.js.map +1 -1
  4. package/lib/factories/IdentifierFactory.js +2 -1
  5. package/lib/factories/IdentifierFactory.js.map +1 -1
  6. package/lib/factories/MetadataCollection.d.ts +22 -4
  7. package/lib/factories/MetadataCollection.js +121 -28
  8. package/lib/factories/MetadataCollection.js.map +1 -1
  9. package/lib/factories/MetadataFactory.d.ts +1 -0
  10. package/lib/factories/MetadataFactory.js +6 -48
  11. package/lib/factories/MetadataFactory.js.map +1 -1
  12. package/lib/factories/MetadataTagFactory.js +5 -3
  13. package/lib/factories/MetadataTagFactory.js.map +1 -1
  14. package/lib/factories/internal/metadata/emplace_metadata_array.d.ts +5 -0
  15. package/lib/factories/internal/metadata/emplace_metadata_array.js +38 -0
  16. package/lib/factories/internal/metadata/emplace_metadata_array.js.map +1 -0
  17. package/lib/factories/internal/metadata/emplace_metadata_definition.d.ts +5 -0
  18. package/lib/factories/internal/metadata/emplace_metadata_definition.js +38 -0
  19. package/lib/factories/internal/metadata/emplace_metadata_definition.js.map +1 -0
  20. package/lib/factories/internal/metadata/emplace_metadata_object.js +4 -4
  21. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  22. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +5 -0
  23. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +58 -0
  24. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -0
  25. package/lib/factories/internal/metadata/explore_metadata.d.ts +1 -1
  26. package/lib/factories/internal/metadata/explore_metadata.js +11 -34
  27. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  28. package/lib/factories/internal/metadata/iterate_metadata.d.ts +1 -1
  29. package/lib/factories/internal/metadata/iterate_metadata.js +5 -2
  30. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  31. package/lib/factories/internal/metadata/iterate_metadata_array.js +4 -5
  32. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  33. package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +2 -0
  34. package/lib/factories/internal/metadata/iterate_metadata_collection.js +151 -0
  35. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -0
  36. package/lib/factories/internal/metadata/iterate_metadata_definition.d.ts +5 -0
  37. package/lib/factories/internal/metadata/iterate_metadata_definition.js +24 -0
  38. package/lib/factories/internal/metadata/iterate_metadata_definition.js.map +1 -0
  39. package/lib/factories/internal/metadata/iterate_metadata_object.js +1 -1
  40. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  41. package/lib/factories/internal/metadata/iterate_metadata_sort.d.ts +3 -0
  42. package/lib/factories/internal/metadata/iterate_metadata_sort.js +156 -0
  43. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -0
  44. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +3 -26
  45. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  46. package/lib/factories/internal/metadata/iterate_metadata_union.js +3 -3
  47. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  48. package/lib/metadata/IMetadata.d.ts +3 -2
  49. package/lib/metadata/IMetadataApplication.d.ts +2 -2
  50. package/lib/metadata/IMetadataArray.d.ts +8 -0
  51. package/lib/metadata/IMetadataArray.js +3 -0
  52. package/lib/metadata/IMetadataArray.js.map +1 -0
  53. package/lib/metadata/IMetadataCollection.d.ts +10 -0
  54. package/lib/metadata/IMetadataCollection.js +3 -0
  55. package/lib/metadata/IMetadataCollection.js.map +1 -0
  56. package/lib/metadata/IMetadataDefinition.d.ts +10 -0
  57. package/lib/metadata/IMetadataDefinition.js +3 -0
  58. package/lib/metadata/IMetadataDefinition.js.map +1 -0
  59. package/lib/metadata/IMetadataDictionary.js +3 -0
  60. package/lib/metadata/IMetadataDictionary.js.map +1 -0
  61. package/lib/metadata/IMetadataObject.d.ts +3 -0
  62. package/lib/metadata/IMetadataProperty.d.ts +1 -1
  63. package/lib/metadata/IMetadataTuple.d.ts +8 -0
  64. package/lib/metadata/IMetadataTuple.js +3 -0
  65. package/lib/metadata/IMetadataTuple.js.map +1 -0
  66. package/lib/metadata/Metadata.d.ts +24 -21
  67. package/lib/metadata/Metadata.js +323 -262
  68. package/lib/metadata/Metadata.js.map +1 -1
  69. package/lib/metadata/MetadataArray.d.ts +12 -0
  70. package/lib/metadata/MetadataArray.js +36 -0
  71. package/lib/metadata/MetadataArray.js.map +1 -0
  72. package/lib/metadata/MetadataDefinition.d.ts +16 -0
  73. package/lib/metadata/MetadataDefinition.js +39 -0
  74. package/lib/metadata/MetadataDefinition.js.map +1 -0
  75. package/lib/metadata/MetadataObject.d.ts +4 -0
  76. package/lib/metadata/MetadataObject.js +3 -5
  77. package/lib/metadata/MetadataObject.js.map +1 -1
  78. package/lib/metadata/MetadataProperty.d.ts +1 -1
  79. package/lib/metadata/MetadataProperty.js +3 -3
  80. package/lib/metadata/MetadataProperty.js.map +1 -1
  81. package/lib/metadata/MetadataTuple.d.ts +12 -0
  82. package/lib/metadata/MetadataTuple.js +36 -0
  83. package/lib/metadata/MetadataTuple.js.map +1 -0
  84. package/lib/programmers/ApplicationProgrammer.js +3 -3
  85. package/lib/programmers/ApplicationProgrammer.js.map +1 -1
  86. package/lib/programmers/AssertProgrammer.js +13 -21
  87. package/lib/programmers/AssertProgrammer.js.map +1 -1
  88. package/lib/programmers/CheckerProgrammer.d.ts +6 -7
  89. package/lib/programmers/CheckerProgrammer.js +276 -185
  90. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  91. package/lib/programmers/CloneProgrammer.js +312 -204
  92. package/lib/programmers/CloneProgrammer.js.map +1 -1
  93. package/lib/programmers/FeatureProgrammer.d.ts +21 -27
  94. package/lib/programmers/FeatureProgrammer.js +60 -63
  95. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  96. package/lib/programmers/IsProgrammer.d.ts +3 -3
  97. package/lib/programmers/IsProgrammer.js +43 -28
  98. package/lib/programmers/IsProgrammer.js.map +1 -1
  99. package/lib/programmers/LiteralsProgrammer.js +1 -0
  100. package/lib/programmers/LiteralsProgrammer.js.map +1 -1
  101. package/lib/programmers/PruneProgrammer.js +270 -176
  102. package/lib/programmers/PruneProgrammer.js.map +1 -1
  103. package/lib/programmers/RandomProgrammer.js +124 -32
  104. package/lib/programmers/RandomProgrammer.js.map +1 -1
  105. package/lib/programmers/StringifyProgrammer.js +462 -356
  106. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  107. package/lib/programmers/ValidateProgrammer.js +9 -9
  108. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  109. package/lib/programmers/helpers/FunctionImporeter.d.ts +2 -0
  110. package/lib/programmers/helpers/FunctionImporeter.js +17 -2
  111. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  112. package/lib/programmers/helpers/RandomJoiner.d.ts +6 -1
  113. package/lib/programmers/helpers/RandomJoiner.js +11 -14
  114. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  115. package/lib/programmers/helpers/UnionExplorer.d.ts +12 -10
  116. package/lib/programmers/helpers/UnionExplorer.js +47 -12
  117. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  118. package/lib/programmers/helpers/UnionPredicator.js +1 -1
  119. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  120. package/lib/programmers/helpers/disable_function_importer_declare.js +1 -0
  121. package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
  122. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.d.ts +1 -1
  123. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js +2 -2
  124. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js.map +1 -1
  125. package/lib/programmers/internal/application_array.js +41 -21
  126. package/lib/programmers/internal/application_array.js.map +1 -1
  127. package/lib/programmers/internal/application_definition.d.ts +5 -0
  128. package/lib/programmers/internal/application_definition.js +45 -0
  129. package/lib/programmers/internal/application_definition.js.map +1 -0
  130. package/lib/programmers/internal/application_native.js +14 -11
  131. package/lib/programmers/internal/application_native.js.map +1 -1
  132. package/lib/programmers/internal/application_object.js +19 -14
  133. package/lib/programmers/internal/application_object.js.map +1 -1
  134. package/lib/programmers/internal/application_schema.js +28 -31
  135. package/lib/programmers/internal/application_schema.js.map +1 -1
  136. package/lib/programmers/internal/application_tuple.js +34 -5
  137. package/lib/programmers/internal/application_tuple.js.map +1 -1
  138. package/lib/programmers/internal/check_union_array_like.js +54 -63
  139. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  140. package/lib/programmers/internal/feature_object_entries.js +2 -2
  141. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  142. package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +2 -0
  143. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +18 -0
  144. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -0
  145. package/lib/schemas/IJsonApplication.d.ts +0 -4
  146. package/lib/schemas/IJsonComponents.d.ts +16 -4
  147. package/lib/schemas/IJsonSchema.d.ts +1 -1
  148. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  149. package/lib/transformers/FileTransformer.js +3 -3
  150. package/lib/transformers/FileTransformer.js.map +1 -1
  151. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +1 -0
  152. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
  153. package/lib/transformers/features/miscellaneous/MetadataTransformer.js +2 -1
  154. package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -1
  155. package/lib/utils/ArrayUtil.d.ts +1 -1
  156. package/lib/utils/ArrayUtil.js +2 -1
  157. package/lib/utils/ArrayUtil.js.map +1 -1
  158. package/lib/utils/RandomGenerator.js +2 -3
  159. package/lib/utils/RandomGenerator.js.map +1 -1
  160. package/package.json +6 -1
  161. package/src/IRandomGenerator.ts +1 -0
  162. package/src/factories/CommentFactory.ts +2 -1
  163. package/src/factories/IdentifierFactory.ts +3 -1
  164. package/src/factories/MetadataCollection.ts +173 -34
  165. package/src/factories/MetadataFactory.ts +7 -29
  166. package/src/factories/MetadataTagFactory.ts +6 -3
  167. package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -0
  168. package/src/factories/internal/metadata/emplace_metadata_definition.ts +35 -0
  169. package/src/factories/internal/metadata/emplace_metadata_object.ts +4 -4
  170. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -0
  171. package/src/factories/internal/metadata/explore_metadata.ts +18 -44
  172. package/src/factories/internal/metadata/iterate_metadata.ts +13 -3
  173. package/src/factories/internal/metadata/iterate_metadata_array.ts +7 -11
  174. package/src/factories/internal/metadata/iterate_metadata_collection.ts +130 -0
  175. package/src/factories/internal/metadata/iterate_metadata_definition.ts +34 -0
  176. package/src/factories/internal/metadata/iterate_metadata_object.ts +1 -0
  177. package/src/factories/internal/metadata/iterate_metadata_sort.ts +68 -0
  178. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +7 -31
  179. package/src/factories/internal/metadata/iterate_metadata_union.ts +13 -2
  180. package/src/metadata/IMetadata.ts +3 -2
  181. package/src/metadata/IMetadataApplication.ts +2 -2
  182. package/src/metadata/IMetadataArray.ts +10 -0
  183. package/src/metadata/IMetadataCollection.ts +11 -0
  184. package/src/metadata/IMetadataDefinition.ts +12 -0
  185. package/src/metadata/IMetadataDictionary.ts +14 -0
  186. package/src/metadata/IMetadataObject.ts +2 -13
  187. package/src/metadata/IMetadataProperty.ts +1 -1
  188. package/src/metadata/IMetadataTuple.ts +10 -0
  189. package/src/metadata/Metadata.ts +473 -134
  190. package/src/metadata/MetadataArray.ts +52 -0
  191. package/src/metadata/MetadataDefinition.ts +65 -0
  192. package/src/metadata/MetadataObject.ts +7 -20
  193. package/src/metadata/MetadataProperty.ts +5 -5
  194. package/src/metadata/MetadataTuple.ts +53 -0
  195. package/src/programmers/ApplicationProgrammer.ts +1 -2
  196. package/src/programmers/AssertProgrammer.ts +45 -39
  197. package/src/programmers/CheckerProgrammer.ts +612 -331
  198. package/src/programmers/CloneProgrammer.ts +344 -138
  199. package/src/programmers/FeatureProgrammer.ts +110 -115
  200. package/src/programmers/IsProgrammer.ts +86 -52
  201. package/src/programmers/LiteralsProgrammer.ts +1 -0
  202. package/src/programmers/PruneProgrammer.ts +304 -101
  203. package/src/programmers/RandomProgrammer.ts +227 -61
  204. package/src/programmers/StringifyProgrammer.ts +374 -182
  205. package/src/programmers/ValidateProgrammer.ts +41 -44
  206. package/src/programmers/helpers/FunctionImporeter.ts +35 -11
  207. package/src/programmers/helpers/RandomJoiner.ts +25 -13
  208. package/src/programmers/helpers/UnionExplorer.ts +76 -50
  209. package/src/programmers/helpers/UnionPredicator.ts +1 -1
  210. package/src/programmers/helpers/disable_function_importer_declare.ts +5 -0
  211. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  212. package/src/programmers/internal/application_array.ts +48 -16
  213. package/src/programmers/internal/application_definition.ts +45 -0
  214. package/src/programmers/internal/application_native.ts +15 -12
  215. package/src/programmers/internal/application_object.ts +17 -12
  216. package/src/programmers/internal/application_schema.ts +31 -65
  217. package/src/programmers/internal/application_tuple.ts +63 -13
  218. package/src/programmers/internal/check_union_array_like.ts +249 -191
  219. package/src/programmers/internal/feature_object_entries.ts +2 -2
  220. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -0
  221. package/src/schemas/IJsonApplication.ts +0 -5
  222. package/src/schemas/IJsonComponents.ts +17 -5
  223. package/src/schemas/IJsonSchema.ts +1 -1
  224. package/src/transformers/CallExpressionTransformer.ts +2 -0
  225. package/src/transformers/FileTransformer.ts +8 -8
  226. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +1 -0
  227. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +2 -1
  228. package/src/utils/ArrayUtil.ts +3 -2
  229. package/src/utils/RandomGenerator.ts +3 -3
  230. package/lib/programmers/internal/check_union_tuple.js +0 -15
  231. package/lib/programmers/internal/check_union_tuple.js.map +0 -1
  232. package/src/programmers/internal/check_union_tuple.ts +0 -33
  233. /package/lib/{programmers/internal/check_union_tuple.d.ts → metadata/IMetadataDictionary.d.ts} +0 -0
@@ -1,43 +1,20 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.iterate_metadata_tuple = void 0;
7
- var typescript_1 = __importDefault(require("typescript"));
8
- var Metadata_1 = require("../../../metadata/Metadata");
9
- var Writable_1 = require("../../../typings/Writable");
10
4
  var ArrayUtil_1 = require("../../../utils/ArrayUtil");
11
- var explore_metadata_1 = require("./explore_metadata");
5
+ var emplace_metadata_tuple_1 = require("./emplace_metadata_tuple");
12
6
  var iterate_metadata_tuple = function (checker) {
13
7
  return function (options) {
14
8
  return function (collection) {
15
9
  return function (meta, type) {
16
- var _a, _b, _c;
17
10
  if (!checker.isTupleType(type))
18
11
  return false;
19
- var elementFlags = (_c = (_a = type.elementFlags) !== null && _a !== void 0 ? _a : (_b = type.target) === null || _b === void 0 ? void 0 : _b.elementFlags) !== null && _c !== void 0 ? _c : [];
20
- var children = checker
21
- .getTypeArguments(type)
22
- .map(function (elem, i) {
23
- var child = (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(elem, false);
24
- var flag = elementFlags[i];
25
- if (flag === typescript_1.default.ElementFlags.Optional)
26
- (0, Writable_1.Writable)(child).optional = true;
27
- if (flag !== typescript_1.default.ElementFlags.Rest)
28
- return child;
29
- var wrapper = Metadata_1.Metadata.initialize();
30
- (0, Writable_1.Writable)(wrapper).rest = child;
31
- return wrapper;
32
- });
33
- ArrayUtil_1.ArrayUtil.set(meta.tuples, children, join_tuple_names);
12
+ var tuple = (0, emplace_metadata_tuple_1.emplace_metadata_tuple)(checker)(options)(collection)(type, meta.nullable);
13
+ ArrayUtil_1.ArrayUtil.add(meta.tuples, tuple, function (elem) { return elem.name === tuple.name; });
34
14
  return true;
35
15
  };
36
16
  };
37
17
  };
38
18
  };
39
19
  exports.iterate_metadata_tuple = iterate_metadata_tuple;
40
- var join_tuple_names = function (metas) {
41
- return "[".concat(metas.map(function (m) { return m.getName; }).join(", "), "]");
42
- };
43
20
  //# sourceMappingURL=iterate_metadata_tuple.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_tuple.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_tuple.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uDAAsD;AAEtD,sDAAqD;AAErD,sDAAqD;AAIrD,uDAAsD;AAE/C,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAkB;;gBAC/B,IAAI,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAEtD,IAAM,YAAY,GACd,MAAA,MAAA,IAAI,CAAC,YAAY,mCACjB,MAAC,IAAI,CAAC,MAAuB,0CAAE,YAAY,mCAC3C,EAAE,CAAC;gBAEP,IAAM,QAAQ,GAAe,OAAO;qBAC/B,gBAAgB,CAAC,IAAwB,CAAC;qBAC1C,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;oBACT,IAAM,KAAK,GAAa,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACtD,UAAU,CACb,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;oBAGf,IAAM,IAAI,GAAgC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAC1D,IAAI,IAAI,KAAK,oBAAE,CAAC,YAAY,CAAC,QAAQ;wBACjC,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;oBAGpC,IAAI,IAAI,KAAK,oBAAE,CAAC,YAAY,CAAC,IAAI;wBAAE,OAAO,KAAK,CAAC;oBAChD,IAAM,OAAO,GAAa,mBAAQ,CAAC,UAAU,EAAE,CAAC;oBAChD,IAAA,mBAAQ,EAAC,OAAO,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;oBAC/B,OAAO,OAAO,CAAC;gBACnB,CAAC,CAAC,CAAC;gBACP,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC;YAChB,CAAC;QA5BD,CA4BC;IA7BD,CA6BC;AA9BD,CA8BC,CAAC;AAhCO,QAAA,sBAAsB,0BAgC7B;AAEN,IAAM,gBAAgB,GAAG,UAAC,KAAiB;IACvC,OAAA,WAAI,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,EAAT,CAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAG;AAA7C,CAA6C,CAAC"}
1
+ {"version":3,"file":"iterate_metadata_tuple.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_tuple.ts"],"names":[],"mappings":";;;AAKA,sDAAqD;AAIrD,mEAAkE;AAE3D,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAkB;gBAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;oBAAE,OAAO,KAAK,CAAC;gBAE7C,IAAM,KAAK,GAAkB,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjE,UAAU,CACb,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAxB,CAAwB,CAAC,CAAC;gBACtE,OAAO,IAAI,CAAC;YAChB,CAAC;QARD,CAQC;IATD,CASC;AAVD,CAUC,CAAC;AAZO,QAAA,sBAAsB,0BAY7B"}
@@ -29,7 +29,7 @@ var iterate_metadata_union = function (checker) {
29
29
  return false;
30
30
  else if (options.resolve === false || parentResolved === true) {
31
31
  type.types.forEach(function (t) {
32
- return (0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(meta, t, false);
32
+ return (0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(meta, t, false, false);
33
33
  });
34
34
  return true;
35
35
  }
@@ -63,7 +63,7 @@ var iterate_metadata_union = function (checker) {
63
63
  (0, Writable_1.Writable)(meta).resolved = (function () {
64
64
  var union = Metadata_1.Metadata.initialize();
65
65
  toJsons.forEach(function (t) {
66
- return (0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(meta, t, true);
66
+ return (0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(meta, t, true, false);
67
67
  });
68
68
  if (union.objects.length > 1)
69
69
  union.union_index = collection.getUnionIndex(union);
@@ -71,7 +71,7 @@ var iterate_metadata_union = function (checker) {
71
71
  })();
72
72
  }
73
73
  normals.forEach(function (t) {
74
- return (0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(meta, t, false);
74
+ return (0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(meta, t, false, false);
75
75
  });
76
76
  return true;
77
77
  };
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_union.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_union.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uDAAsD;AAEtD,sDAAqD;AAIrD,iDAAgD;AAChD,uDAAsD;AAE/C,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;;gBACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAE,OAAO,KAAK,CAAC;qBAC7B,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,cAAc,KAAK,IAAI,EAAE;oBAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;wBACjB,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC;oBAA9D,CAA8D,CACjE,CAAC;oBACF,OAAO,IAAI,CAAC;iBACf;gBAED,IAAM,MAAM,GAAG,UAAC,IAAkB,EAAE,CAAU;oBAC1C,OAAA,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;gBAA3B,CAA2B,CAAC;gBAChC,IAAM,OAAO,GAAc,EAAE,CAAC;gBAC9B,IAAM,OAAO,GAAc,EAAE,CAAC;;oBAE9B,KAAyB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE;wBAAhC,IAAM,UAAU,WAAA;wBACjB,IAAI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;4BACzC,IAAM,QAAQ,GACV,yBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;4BAC7C,IAAI,QAAQ,KAAK,IAAI;gCAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;gCACzC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;yBACjC;;4BAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACnC;;;;;;;;;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC;wBACvB,IAAM,KAAK,GAAa,mBAAQ,CAAC,UAAU,EAAE,CAAC;wBAC9C,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC;4BACd,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAC1C,IAAI,EACJ,CAAC,EACD,IAAI,CACP;wBAJD,CAIC,CACJ,CAAC;wBACF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;4BACxB,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACxD,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,EAAE,CAAC;iBACR;gBACD,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC;oBACd,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC;gBAA9D,CAA8D,CACjE,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;QAzCD,CAyCC;IA1CD,CA0CC;AA3CD,CA2CC,CAAC;AA7CO,QAAA,sBAAsB,0BA6C7B"}
1
+ {"version":3,"file":"iterate_metadata_union.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_union.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uDAAsD;AAEtD,sDAAqD;AAIrD,iDAAgD;AAChD,uDAAsD;AAE/C,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;;gBACnD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;oBAAE,OAAO,KAAK,CAAC;qBAC7B,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,cAAc,KAAK,IAAI,EAAE;oBAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;wBACjB,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAC1C,IAAI,EACJ,CAAC,EACD,KAAK,EACL,KAAK,CACR;oBALD,CAKC,CACJ,CAAC;oBACF,OAAO,IAAI,CAAC;iBACf;gBAED,IAAM,MAAM,GAAG,UAAC,IAAkB,EAAE,CAAU;oBAC1C,OAAA,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;gBAA3B,CAA2B,CAAC;gBAChC,IAAM,OAAO,GAAc,EAAE,CAAC;gBAC9B,IAAM,OAAO,GAAc,EAAE,CAAC;;oBAE9B,KAAyB,IAAA,KAAA,SAAA,IAAI,CAAC,KAAK,CAAA,gBAAA,4BAAE;wBAAhC,IAAM,UAAU,WAAA;wBACjB,IAAI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;4BACzC,IAAM,QAAQ,GACV,yBAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;4BAC7C,IAAI,QAAQ,KAAK,IAAI;gCAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;gCACzC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;yBACjC;;4BAAM,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBACnC;;;;;;;;;gBACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtB,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC;wBACvB,IAAM,KAAK,GAAa,mBAAQ,CAAC,UAAU,EAAE,CAAC;wBAC9C,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC;4BACd,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAC1C,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,KAAK,CACR;wBALD,CAKC,CACJ,CAAC;wBACF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;4BACxB,KAAK,CAAC,WAAW,GAAG,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBACxD,OAAO,KAAK,CAAC;oBACjB,CAAC,CAAC,EAAE,CAAC;iBACR;gBACD,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC;oBACd,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAC1C,IAAI,EACJ,CAAC,EACD,KAAK,EACL,KAAK,CACR;gBALD,CAKC,CACJ,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;QApDD,CAoDC;IArDD,CAqDC;AAtDD,CAsDC,CAAC;AAxDO,QAAA,sBAAsB,0BAwD7B"}
@@ -12,9 +12,10 @@ export interface IMetadata {
12
12
  templates: IMetadata[][];
13
13
  resolved: IMetadata | null;
14
14
  rest: IMetadata | null;
15
- arrays: IMetadata[];
16
- tuples: IMetadata[][];
15
+ arrays: string[];
16
+ tuples: string[];
17
17
  objects: string[];
18
+ definitions: string[];
18
19
  natives: string[];
19
20
  sets: IMetadata[];
20
21
  maps: IMetadataEntry[];
@@ -1,6 +1,6 @@
1
1
  import { IMetadata } from "./IMetadata";
2
- import { IMetadataObject } from "./IMetadataObject";
2
+ import { IMetadataCollection } from "./IMetadataCollection";
3
3
  export interface IMetadataApplication {
4
4
  metadatas: IMetadata[];
5
- collection: IMetadataObject[];
5
+ collection: IMetadataCollection;
6
6
  }
@@ -0,0 +1,8 @@
1
+ import { IMetadata } from "./IMetadata";
2
+ export interface IMetadataArray {
3
+ name: string;
4
+ value: IMetadata;
5
+ nullables: boolean[];
6
+ recursive: boolean;
7
+ index: number | null;
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMetadataArray.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetadataArray.js","sourceRoot":"","sources":["../../src/metadata/IMetadataArray.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IMetadataArray } from "./IMetadataArray";
2
+ import { IMetadataDefinition } from "./IMetadataDefinition";
3
+ import { IMetadataObject } from "./IMetadataObject";
4
+ import { IMetadataTuple } from "./IMetadataTuple";
5
+ export interface IMetadataCollection {
6
+ objects: IMetadataObject[];
7
+ definitions: IMetadataDefinition[];
8
+ arrays: IMetadataArray[];
9
+ tuples: IMetadataTuple[];
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMetadataCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetadataCollection.js","sourceRoot":"","sources":["../../src/metadata/IMetadataCollection.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
+ import { IMetadata } from "./IMetadata";
3
+ export interface IMetadataDefinition {
4
+ name: string;
5
+ value: IMetadata;
6
+ description: string | null;
7
+ jsDocTags: IJsDocTagInfo[];
8
+ recursive: boolean;
9
+ nullables: boolean[];
10
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMetadataDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetadataDefinition.js","sourceRoot":"","sources":["../../src/metadata/IMetadataDefinition.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMetadataDictionary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetadataDictionary.js","sourceRoot":"","sources":["../../src/metadata/IMetadataDictionary.ts"],"names":[],"mappings":""}
@@ -5,4 +5,7 @@ export interface IMetadataObject {
5
5
  properties: IMetadataProperty[];
6
6
  description?: string;
7
7
  jsDocTags: IJsDocTagInfo[];
8
+ index: number;
9
+ recursive: boolean;
10
+ nullables: boolean[];
8
11
  }
@@ -4,7 +4,7 @@ import { IMetadataTag } from "./IMetadataTag";
4
4
  export interface IMetadataProperty {
5
5
  key: IMetadata;
6
6
  value: IMetadata;
7
- description?: string;
7
+ description: string | null;
8
8
  tags: IMetadataTag[];
9
9
  jsDocTags: IJsDocTagInfo[];
10
10
  }
@@ -0,0 +1,8 @@
1
+ import { IMetadata } from "./IMetadata";
2
+ export interface IMetadataTuple {
3
+ name: string;
4
+ elements: IMetadata[];
5
+ index: number | null;
6
+ recursive: boolean;
7
+ nullables: boolean[];
8
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IMetadataTuple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IMetadataTuple.js","sourceRoot":"","sources":["../../src/metadata/IMetadataTuple.ts"],"names":[],"mappings":""}
@@ -1,31 +1,35 @@
1
1
  import { Atomic } from "../typings/Atomic";
2
2
  import { IMetadata } from "./IMetadata";
3
- import { IMetadataObject } from "./IMetadataObject";
3
+ import { IMetadataCollection } from "./IMetadataCollection";
4
+ import { MetadataArray } from "./MetadataArray";
4
5
  import { MetadataConstant } from "./MetadataConstant";
6
+ import { MetadataDefinition } from "./MetadataDefinition";
5
7
  import { MetadataObject } from "./MetadataObject";
8
+ import { MetadataTuple } from "./MetadataTuple";
6
9
  export declare class Metadata {
7
- readonly any: boolean;
8
- readonly required: boolean;
9
- readonly optional: boolean;
10
- readonly nullable: boolean;
11
- readonly functional: boolean;
12
- readonly resolved: Metadata | null;
13
- readonly atomics: Atomic.Literal[];
14
- readonly constants: MetadataConstant[];
15
- readonly templates: Metadata[][];
16
- readonly rest: Metadata | null;
17
- readonly arrays: Metadata[];
18
- readonly tuples: Metadata[][];
19
- readonly objects: MetadataObject[];
20
- readonly natives: string[];
21
- readonly sets: Metadata[];
22
- readonly maps: Metadata.Entry[];
10
+ any: boolean;
11
+ required: boolean;
12
+ optional: boolean;
13
+ nullable: boolean;
14
+ functional: boolean;
15
+ resolved: Metadata | null;
16
+ atomics: Atomic.Literal[];
17
+ constants: MetadataConstant[];
18
+ templates: Metadata[][];
19
+ rest: Metadata | null;
20
+ arrays: MetadataArray[];
21
+ tuples: MetadataTuple[];
22
+ objects: MetadataObject[];
23
+ definitions: MetadataDefinition[];
24
+ natives: string[];
25
+ sets: Metadata[];
26
+ maps: Metadata.Entry[];
23
27
  /**
24
28
  * @hidden
25
29
  */
26
30
  private constructor();
27
31
  toJSON(): IMetadata;
28
- static from(meta: IMetadata, objects: IMetadataObject[]): Metadata;
32
+ static from(meta: IMetadata, collection: IMetadataCollection): Metadata;
29
33
  getName(): string;
30
34
  empty(): boolean;
31
35
  size(): number;
@@ -33,9 +37,8 @@ export declare class Metadata {
33
37
  isConstant(): boolean;
34
38
  }
35
39
  export declare namespace Metadata {
36
- const intersects: (x: Metadata, y: Metadata, deep: boolean) => boolean;
37
- const covers: (x: Metadata, y: Metadata) => boolean;
38
- const merge: (x: Metadata, y: Metadata) => Metadata;
40
+ const intersects: (x: Metadata, y: Metadata) => boolean;
41
+ const covers: (x: Metadata, y: Metadata, level?: number) => boolean;
39
42
  }
40
43
  export declare namespace Metadata {
41
44
  interface Entry {