typia 5.0.0-dev.20230823-2 → 5.0.0-dev.20230827

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 (424) hide show
  1. package/README.md +1 -2
  2. package/lib/IRandomGenerator.d.ts +4 -3
  3. package/lib/factories/ExpressionFactory.d.ts +3 -1
  4. package/lib/factories/ExpressionFactory.js +25 -1
  5. package/lib/factories/ExpressionFactory.js.map +1 -1
  6. package/lib/factories/IdentifierFactory.d.ts +2 -1
  7. package/lib/factories/IdentifierFactory.js +11 -0
  8. package/lib/factories/IdentifierFactory.js.map +1 -1
  9. package/lib/factories/LiteralFactory.js +6 -2
  10. package/lib/factories/LiteralFactory.js.map +1 -1
  11. package/lib/factories/MetadataCollection.d.ts +7 -7
  12. package/lib/factories/MetadataCollection.js +4 -5
  13. package/lib/factories/MetadataCollection.js.map +1 -1
  14. package/lib/factories/MetadataCommentTagFactory.js +532 -0
  15. package/lib/factories/MetadataCommentTagFactory.js.map +1 -0
  16. package/lib/factories/MetadataTypeTagFactory.d.ts +6 -0
  17. package/lib/factories/MetadataTypeTagFactory.js +207 -0
  18. package/lib/factories/MetadataTypeTagFactory.js.map +1 -0
  19. package/lib/factories/NumericRangeFactory.d.ts +6 -0
  20. package/lib/factories/NumericRangeFactory.js +34 -0
  21. package/lib/factories/NumericRangeFactory.js.map +1 -0
  22. package/lib/factories/ProtobufFactory.js +48 -16
  23. package/lib/factories/ProtobufFactory.js.map +1 -1
  24. package/lib/factories/internal/metadata/emend_metadata_atomics.js +12 -6
  25. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  26. package/lib/factories/internal/metadata/emplace_metadata_alias.js +1 -13
  27. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  28. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.ts +5 -0
  29. package/lib/factories/internal/metadata/{emplace_metadata_array.js → emplace_metadata_array_type.js} +4 -4
  30. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -0
  31. package/lib/factories/internal/metadata/emplace_metadata_object.js +0 -1
  32. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  33. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +2 -2
  34. package/lib/factories/internal/metadata/iterate_metadata_array.js +7 -3
  35. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  36. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +2 -1
  37. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  38. package/lib/factories/internal/metadata/iterate_metadata_collection.js +20 -12
  39. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  40. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +2 -0
  41. package/lib/factories/internal/metadata/{iterate_metadata_tag.js → iterate_metadata_comment_tags.js} +7 -8
  42. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -0
  43. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +140 -16
  44. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  45. package/lib/factories/internal/metadata/iterate_metadata_object.js +0 -7
  46. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  47. package/lib/factories/internal/metadata/iterate_metadata_sort.js +2 -2
  48. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +6 -2
  50. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  51. package/lib/functional/$any.js +2 -1
  52. package/lib/functional/$any.js.map +1 -1
  53. package/lib/functional/$clone.d.ts +2 -0
  54. package/lib/functional/$clone.js +8 -0
  55. package/lib/functional/$clone.js.map +1 -0
  56. package/lib/functional/Namespace.js +0 -16
  57. package/lib/functional/Namespace.js.map +1 -1
  58. package/lib/module.d.ts +2 -39
  59. package/lib/module.js +3 -17
  60. package/lib/module.js.map +1 -1
  61. package/lib/programmers/AssertProgrammer.js +28 -10
  62. package/lib/programmers/AssertProgrammer.js.map +1 -1
  63. package/lib/programmers/CheckerProgrammer.js +90 -68
  64. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  65. package/lib/programmers/FeatureProgrammer.d.ts +2 -4
  66. package/lib/programmers/FeatureProgrammer.js +6 -6
  67. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  68. package/lib/programmers/IsProgrammer.d.ts +1 -1
  69. package/lib/programmers/IsProgrammer.js +32 -21
  70. package/lib/programmers/IsProgrammer.js.map +1 -1
  71. package/lib/programmers/RandomProgrammer.js +187 -156
  72. package/lib/programmers/RandomProgrammer.js.map +1 -1
  73. package/lib/programmers/ValidateProgrammer.js +28 -10
  74. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  75. package/lib/programmers/helpers/AtomicPredicator.js +2 -2
  76. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  77. package/lib/programmers/helpers/CloneJoiner.js +10 -2
  78. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  79. package/lib/programmers/helpers/ICheckEntry.d.ts +4 -3
  80. package/lib/programmers/helpers/ProtobufUtil.d.ts +6 -2
  81. package/lib/programmers/helpers/ProtobufUtil.js +175 -17
  82. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  83. package/lib/programmers/helpers/RandomJoiner.d.ts +3 -5
  84. package/lib/programmers/helpers/RandomJoiner.js +7 -10
  85. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  86. package/lib/programmers/helpers/RandomRanger.d.ts +5 -6
  87. package/lib/programmers/helpers/RandomRanger.js +13 -33
  88. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  89. package/lib/programmers/helpers/UnionExplorer.d.ts +7 -8
  90. package/lib/programmers/helpers/UnionExplorer.js +46 -35
  91. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  92. package/lib/programmers/internal/application_alias.js +0 -1
  93. package/lib/programmers/internal/application_alias.js.map +1 -1
  94. package/lib/programmers/internal/application_array.js +60 -20
  95. package/lib/programmers/internal/application_array.js.map +1 -1
  96. package/lib/programmers/internal/application_default_string.js +2 -2
  97. package/lib/programmers/internal/application_default_string.js.map +1 -1
  98. package/lib/programmers/internal/application_number.js +95 -69
  99. package/lib/programmers/internal/application_number.js.map +1 -1
  100. package/lib/programmers/internal/application_object.js +0 -3
  101. package/lib/programmers/internal/application_object.js.map +1 -1
  102. package/lib/programmers/internal/application_resolved.js +2 -2
  103. package/lib/programmers/internal/application_resolved.js.map +1 -1
  104. package/lib/programmers/internal/application_schema.js +39 -22
  105. package/lib/programmers/internal/application_schema.js.map +1 -1
  106. package/lib/programmers/internal/application_string.js +56 -22
  107. package/lib/programmers/internal/application_string.js.map +1 -1
  108. package/lib/programmers/internal/application_tuple.js +10 -9
  109. package/lib/programmers/internal/application_tuple.js.map +1 -1
  110. package/lib/programmers/internal/check_array_length.js +25 -25
  111. package/lib/programmers/internal/check_array_length.js.map +1 -1
  112. package/lib/programmers/internal/check_bigint.js +20 -109
  113. package/lib/programmers/internal/check_bigint.js.map +1 -1
  114. package/lib/programmers/internal/check_dynamic_properties.js +1 -1
  115. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  116. package/lib/programmers/internal/check_number.js +57 -147
  117. package/lib/programmers/internal/check_number.js.map +1 -1
  118. package/lib/programmers/internal/check_string.js +21 -33
  119. package/lib/programmers/internal/check_string.js.map +1 -1
  120. package/lib/programmers/internal/check_template.js +31 -49
  121. package/lib/programmers/internal/check_template.js.map +1 -1
  122. package/lib/programmers/internal/check_union_array_like.js +7 -6
  123. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  124. package/lib/programmers/internal/feature_object_entries.js +1 -1
  125. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  126. package/lib/programmers/internal/metadata_to_pattern.js +4 -4
  127. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  128. package/lib/programmers/internal/random_custom.js +2 -2
  129. package/lib/programmers/internal/random_custom.js.map +1 -1
  130. package/lib/programmers/internal/stringify_dynamic_properties.js +2 -1
  131. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  132. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +9 -5
  133. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  134. package/lib/programmers/json/JsonStringifyProgrammer.js +43 -32
  135. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  136. package/lib/programmers/misc/MiscCloneProgrammer.js +21 -17
  137. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  138. package/lib/programmers/{IsPruneProgrammer.d.ts → misc/MiscIsPruneProgrammer.d.ts} +2 -2
  139. package/lib/programmers/{IsPruneProgrammer.js → misc/MiscIsPruneProgrammer.js} +11 -11
  140. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -0
  141. package/lib/programmers/misc/MiscLiteralsProgrammer.js +2 -2
  142. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  143. package/lib/programmers/misc/MiscPruneProgrammer.js +21 -17
  144. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  145. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +29 -49
  146. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  147. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +138 -65
  148. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  149. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +59 -85
  150. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  151. package/lib/schemas/json/IJsonSchema.d.ts +10 -38
  152. package/lib/schemas/metadata/IMetadata.d.ts +11 -4
  153. package/lib/schemas/metadata/IMetadataAlias.d.ts +0 -2
  154. package/lib/schemas/metadata/IMetadataArray.d.ts +4 -6
  155. package/lib/schemas/metadata/IMetadataArrayType.d.ts +8 -0
  156. package/lib/{CustomValidatorMap.js → schemas/metadata/IMetadataArrayType.js} +1 -1
  157. package/lib/schemas/metadata/IMetadataArrayType.js.map +1 -0
  158. package/lib/schemas/metadata/IMetadataAtomic.d.ts +5 -0
  159. package/lib/schemas/metadata/IMetadataAtomic.js +3 -0
  160. package/lib/schemas/metadata/IMetadataAtomic.js.map +1 -0
  161. package/lib/schemas/metadata/IMetadataCollection.d.ts +4 -4
  162. package/lib/schemas/metadata/IMetadataProperty.d.ts +0 -2
  163. package/lib/schemas/metadata/IMetadataTuple.d.ts +4 -6
  164. package/lib/schemas/metadata/IMetadataTupleType.d.ts +8 -0
  165. package/lib/schemas/metadata/IMetadataTupleType.js +3 -0
  166. package/lib/schemas/metadata/IMetadataTupleType.js.map +1 -0
  167. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +8 -0
  168. package/lib/schemas/metadata/IMetadataTypeTag.js +3 -0
  169. package/lib/schemas/metadata/IMetadataTypeTag.js.map +1 -0
  170. package/lib/schemas/metadata/Metadata.d.ts +2 -2
  171. package/lib/schemas/metadata/Metadata.js +219 -159
  172. package/lib/schemas/metadata/Metadata.js.map +1 -1
  173. package/lib/schemas/metadata/MetadataAlias.d.ts +0 -2
  174. package/lib/schemas/metadata/MetadataAlias.js +0 -3
  175. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  176. package/lib/schemas/metadata/MetadataArray.d.ts +8 -6
  177. package/lib/schemas/metadata/MetadataArray.js +48 -19
  178. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  179. package/lib/schemas/metadata/MetadataArrayType.d.ts +14 -0
  180. package/lib/schemas/metadata/MetadataArrayType.js +36 -0
  181. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -0
  182. package/lib/schemas/metadata/MetadataAtomic.d.ts +9 -0
  183. package/lib/schemas/metadata/MetadataAtomic.js +59 -0
  184. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -0
  185. package/lib/schemas/metadata/MetadataProperty.d.ts +0 -2
  186. package/lib/schemas/metadata/MetadataProperty.js +0 -3
  187. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  188. package/lib/schemas/metadata/MetadataTuple.d.ts +8 -8
  189. package/lib/schemas/metadata/MetadataTuple.js +4 -19
  190. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  191. package/lib/schemas/metadata/MetadataTupleType.d.ts +13 -0
  192. package/lib/schemas/metadata/MetadataTupleType.js +40 -0
  193. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -0
  194. package/lib/tags/ExclusiveMaximum.d.ts +10 -0
  195. package/lib/tags/ExclusiveMaximum.js +3 -0
  196. package/lib/tags/ExclusiveMaximum.js.map +1 -0
  197. package/lib/tags/ExclusiveMinimum.d.ts +10 -0
  198. package/lib/tags/ExclusiveMinimum.js +3 -0
  199. package/lib/tags/ExclusiveMinimum.js.map +1 -0
  200. package/lib/tags/Format.d.ts +8 -0
  201. package/lib/{schemas/metadata/ICommentTag.js → tags/Format.js} +1 -1
  202. package/lib/tags/Format.js.map +1 -0
  203. package/lib/tags/MaxItems.d.ts +8 -0
  204. package/lib/{schemas/metadata/IMetadataTag.js → tags/MaxItems.js} +1 -1
  205. package/lib/tags/MaxItems.js.map +1 -0
  206. package/lib/tags/MaxLength.d.ts +8 -0
  207. package/lib/tags/MaxLength.js +3 -0
  208. package/lib/tags/MaxLength.js.map +1 -0
  209. package/lib/tags/Maximum.d.ts +10 -0
  210. package/lib/tags/Maximum.js +3 -0
  211. package/lib/tags/Maximum.js.map +1 -0
  212. package/lib/tags/MinItems.d.ts +8 -0
  213. package/lib/tags/MinItems.js +3 -0
  214. package/lib/tags/MinItems.js.map +1 -0
  215. package/lib/tags/MinLength.d.ts +8 -0
  216. package/lib/tags/MinLength.js +3 -0
  217. package/lib/tags/MinLength.js.map +1 -0
  218. package/lib/tags/Minimum.d.ts +10 -0
  219. package/lib/tags/Minimum.js +3 -0
  220. package/lib/tags/Minimum.js.map +1 -0
  221. package/lib/tags/MultipleOf.d.ts +10 -0
  222. package/lib/tags/MultipleOf.js +3 -0
  223. package/lib/tags/MultipleOf.js.map +1 -0
  224. package/lib/tags/Pattern.d.ts +7 -0
  225. package/lib/tags/Pattern.js +3 -0
  226. package/lib/tags/Pattern.js.map +1 -0
  227. package/lib/tags/TagBase.d.ts +14 -0
  228. package/lib/tags/TagBase.js +3 -0
  229. package/lib/tags/TagBase.js.map +1 -0
  230. package/lib/tags/Type.d.ts +14 -0
  231. package/lib/tags/Type.js +3 -0
  232. package/lib/tags/Type.js.map +1 -0
  233. package/lib/tags/index.d.ts +13 -0
  234. package/lib/tags/index.js +30 -0
  235. package/lib/tags/index.js.map +1 -0
  236. package/lib/transformers/FileTransformer.d.ts +1 -1
  237. package/lib/transformers/FileTransformer.js +15 -2
  238. package/lib/transformers/FileTransformer.js.map +1 -1
  239. package/lib/transformers/IProject.d.ts +1 -0
  240. package/lib/transformers/features/json/JsonApplicationTransformer.js +4 -2
  241. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  242. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +2 -2
  243. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  244. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +2 -2
  245. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  246. package/lib/typings/ProtobufAtomic.d.ts +5 -0
  247. package/lib/typings/ProtobufAtomic.js +3 -0
  248. package/lib/typings/ProtobufAtomic.js.map +1 -0
  249. package/package.json +2 -2
  250. package/src/IRandomGenerator.ts +4 -3
  251. package/src/factories/ExpressionFactory.ts +46 -2
  252. package/src/factories/IdentifierFactory.ts +15 -0
  253. package/src/factories/LiteralFactory.ts +10 -3
  254. package/src/factories/MetadataCollection.ts +18 -13
  255. package/src/factories/MetadataCommentTagFactory.ts +583 -0
  256. package/src/factories/MetadataTypeTagFactory.ts +263 -0
  257. package/src/factories/NumericRangeFactory.ts +33 -0
  258. package/src/factories/ProtobufFactory.ts +34 -18
  259. package/src/factories/internal/metadata/emend_metadata_atomics.ts +12 -5
  260. package/src/factories/internal/metadata/emplace_metadata_alias.ts +0 -6
  261. package/src/factories/internal/metadata/{emplace_metadata_array.ts → emplace_metadata_array_type.ts} +3 -3
  262. package/src/factories/internal/metadata/emplace_metadata_object.ts +0 -1
  263. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +2 -2
  264. package/src/factories/internal/metadata/iterate_metadata_array.ts +13 -5
  265. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +7 -4
  266. package/src/factories/internal/metadata/iterate_metadata_collection.ts +23 -16
  267. package/src/factories/internal/metadata/{iterate_metadata_tag.ts → iterate_metadata_comment_tags.ts} +4 -8
  268. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +113 -16
  269. package/src/factories/internal/metadata/iterate_metadata_object.ts +10 -10
  270. package/src/factories/internal/metadata/iterate_metadata_sort.ts +2 -2
  271. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +12 -4
  272. package/src/functional/$any.ts +3 -1
  273. package/src/functional/$clone.ts +4 -0
  274. package/src/functional/Namespace.ts +0 -16
  275. package/src/module.ts +2 -55
  276. package/src/programmers/AssertProgrammer.ts +57 -21
  277. package/src/programmers/CheckerProgrammer.ts +81 -123
  278. package/src/programmers/FeatureProgrammer.ts +9 -31
  279. package/src/programmers/IsProgrammer.ts +53 -42
  280. package/src/programmers/RandomProgrammer.ts +242 -239
  281. package/src/programmers/ValidateProgrammer.ts +60 -21
  282. package/src/programmers/helpers/AtomicPredicator.ts +2 -2
  283. package/src/programmers/helpers/CloneJoiner.ts +57 -20
  284. package/src/programmers/helpers/ICheckEntry.ts +4 -3
  285. package/src/programmers/helpers/ProtobufUtil.ts +113 -17
  286. package/src/programmers/helpers/RandomJoiner.ts +11 -33
  287. package/src/programmers/helpers/RandomRanger.ts +16 -51
  288. package/src/programmers/helpers/UnionExplorer.ts +46 -51
  289. package/src/programmers/internal/application_alias.ts +0 -1
  290. package/src/programmers/internal/application_array.ts +33 -10
  291. package/src/programmers/internal/application_default_string.ts +6 -2
  292. package/src/programmers/internal/application_number.ts +76 -70
  293. package/src/programmers/internal/application_object.ts +0 -3
  294. package/src/programmers/internal/application_resolved.ts +2 -2
  295. package/src/programmers/internal/application_schema.ts +38 -20
  296. package/src/programmers/internal/application_string.ts +33 -27
  297. package/src/programmers/internal/application_tuple.ts +12 -11
  298. package/src/programmers/internal/check_array_length.ts +34 -28
  299. package/src/programmers/internal/check_bigint.ts +26 -91
  300. package/src/programmers/internal/check_dynamic_properties.ts +1 -2
  301. package/src/programmers/internal/check_number.ts +83 -236
  302. package/src/programmers/internal/check_string.ts +37 -17
  303. package/src/programmers/internal/check_template.ts +17 -12
  304. package/src/programmers/internal/check_union_array_like.ts +4 -18
  305. package/src/programmers/internal/feature_object_entries.ts +12 -18
  306. package/src/programmers/internal/metadata_to_pattern.ts +4 -4
  307. package/src/programmers/internal/random_custom.ts +3 -3
  308. package/src/programmers/internal/stringify_dynamic_properties.ts +1 -1
  309. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +9 -5
  310. package/src/programmers/json/JsonStringifyProgrammer.ts +46 -41
  311. package/src/programmers/misc/MiscCloneProgrammer.ts +23 -27
  312. package/src/programmers/{IsPruneProgrammer.ts → misc/MiscIsPruneProgrammer.ts} +7 -7
  313. package/src/programmers/misc/MiscLiteralsProgrammer.ts +2 -2
  314. package/src/programmers/misc/MiscPruneProgrammer.ts +24 -24
  315. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +40 -74
  316. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +154 -99
  317. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +6 -36
  318. package/src/schemas/json/IJsonSchema.ts +11 -38
  319. package/src/schemas/metadata/IMetadata.ts +11 -5
  320. package/src/schemas/metadata/IMetadataAlias.ts +0 -2
  321. package/src/schemas/metadata/IMetadataArray.ts +4 -7
  322. package/src/schemas/metadata/IMetadataArrayType.ts +10 -0
  323. package/src/schemas/metadata/IMetadataAtomic.ts +6 -0
  324. package/src/schemas/metadata/IMetadataCollection.ts +4 -4
  325. package/src/schemas/metadata/IMetadataDictionary.ts +4 -4
  326. package/src/schemas/metadata/IMetadataProperty.ts +0 -2
  327. package/src/schemas/metadata/IMetadataTuple.ts +4 -7
  328. package/src/schemas/metadata/IMetadataTupleType.ts +10 -0
  329. package/src/schemas/metadata/IMetadataTypeTag.ts +8 -0
  330. package/src/schemas/metadata/Metadata.ts +121 -70
  331. package/src/schemas/metadata/MetadataAlias.ts +0 -5
  332. package/src/schemas/metadata/MetadataArray.ts +28 -34
  333. package/src/schemas/metadata/MetadataArrayType.ts +57 -0
  334. package/src/schemas/metadata/MetadataAtomic.ts +42 -0
  335. package/src/schemas/metadata/MetadataProperty.ts +0 -5
  336. package/src/schemas/metadata/MetadataTuple.ts +9 -35
  337. package/src/schemas/metadata/MetadataTupleType.ts +67 -0
  338. package/src/tags/ExclusiveMaximum.ts +13 -0
  339. package/src/tags/ExclusiveMinimum.ts +13 -0
  340. package/src/tags/Format.ts +30 -0
  341. package/src/tags/MaxItems.ts +9 -0
  342. package/src/tags/MaxLength.ts +9 -0
  343. package/src/tags/Maximum.ts +13 -0
  344. package/src/tags/MinItems.ts +9 -0
  345. package/src/tags/MinLength.ts +9 -0
  346. package/src/tags/Minimum.ts +13 -0
  347. package/src/tags/MultipleOf.ts +15 -0
  348. package/src/tags/Pattern.ts +8 -0
  349. package/src/tags/TagBase.ts +22 -0
  350. package/src/tags/Type.ts +27 -0
  351. package/src/tags/index.ts +13 -0
  352. package/src/transformers/FileTransformer.ts +6 -6
  353. package/src/transformers/IProject.ts +1 -0
  354. package/src/transformers/features/json/JsonApplicationTransformer.ts +3 -2
  355. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +2 -2
  356. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +2 -2
  357. package/src/typings/Atomic.ts +1 -0
  358. package/src/typings/ProtobufAtomic.ts +19 -0
  359. package/lib/CustomValidatorMap.d.ts +0 -110
  360. package/lib/CustomValidatorMap.js.map +0 -1
  361. package/lib/factories/MetadataTagFactory.d.ts +0 -6
  362. package/lib/factories/MetadataTagFactory.js +0 -310
  363. package/lib/factories/MetadataTagFactory.js.map +0 -1
  364. package/lib/factories/internal/metadata/emplace_metadata_array.d.ts +0 -5
  365. package/lib/factories/internal/metadata/emplace_metadata_array.js.map +0 -1
  366. package/lib/factories/internal/metadata/iterate_metadata_tag.d.ts +0 -2
  367. package/lib/factories/internal/metadata/iterate_metadata_tag.js.map +0 -1
  368. package/lib/functional/$is_custom.d.ts +0 -2
  369. package/lib/functional/$is_custom.js +0 -13
  370. package/lib/functional/$is_custom.js.map +0 -1
  371. package/lib/functional/$is_date.d.ts +0 -1
  372. package/lib/functional/$is_date.js +0 -7
  373. package/lib/functional/$is_date.js.map +0 -1
  374. package/lib/functional/$is_datetime.d.ts +0 -1
  375. package/lib/functional/$is_datetime.js +0 -8
  376. package/lib/functional/$is_datetime.js.map +0 -1
  377. package/lib/functional/$is_email.d.ts +0 -1
  378. package/lib/functional/$is_email.js +0 -7
  379. package/lib/functional/$is_email.js.map +0 -1
  380. package/lib/functional/$is_ipv4.d.ts +0 -1
  381. package/lib/functional/$is_ipv4.js +0 -7
  382. package/lib/functional/$is_ipv4.js.map +0 -1
  383. package/lib/functional/$is_ipv6.d.ts +0 -1
  384. package/lib/functional/$is_ipv6.js +0 -7
  385. package/lib/functional/$is_ipv6.js.map +0 -1
  386. package/lib/functional/$is_url.d.ts +0 -1
  387. package/lib/functional/$is_url.js +0 -7
  388. package/lib/functional/$is_url.js.map +0 -1
  389. package/lib/functional/$is_uuid.d.ts +0 -1
  390. package/lib/functional/$is_uuid.js +0 -7
  391. package/lib/functional/$is_uuid.js.map +0 -1
  392. package/lib/programmers/IsPruneProgrammer.js.map +0 -1
  393. package/lib/programmers/internal/check_array.js +0 -44
  394. package/lib/programmers/internal/check_array.js.map +0 -1
  395. package/lib/programmers/internal/check_custom.d.ts +0 -1
  396. package/lib/programmers/internal/check_custom.js +0 -30
  397. package/lib/programmers/internal/check_custom.js.map +0 -1
  398. package/lib/programmers/internal/check_string_tags.d.ts +0 -1
  399. package/lib/programmers/internal/check_string_tags.js +0 -89
  400. package/lib/programmers/internal/check_string_tags.js.map +0 -1
  401. package/lib/programmers/internal/get_comment_tags.d.ts +0 -1
  402. package/lib/programmers/internal/get_comment_tags.js +0 -25
  403. package/lib/programmers/internal/get_comment_tags.js.map +0 -1
  404. package/lib/schemas/metadata/ICommentTag.d.ts +0 -4
  405. package/lib/schemas/metadata/ICommentTag.js.map +0 -1
  406. package/lib/schemas/metadata/IMetadataTag.d.ts +0 -63
  407. package/lib/schemas/metadata/IMetadataTag.js.map +0 -1
  408. package/src/CustomValidatorMap.ts +0 -126
  409. package/src/factories/MetadataTagFactory.ts +0 -364
  410. package/src/functional/$is_custom.ts +0 -14
  411. package/src/functional/$is_date.ts +0 -3
  412. package/src/functional/$is_datetime.ts +0 -2
  413. package/src/functional/$is_email.ts +0 -4
  414. package/src/functional/$is_ipv4.ts +0 -4
  415. package/src/functional/$is_ipv6.ts +0 -4
  416. package/src/functional/$is_url.ts +0 -4
  417. package/src/functional/$is_uuid.ts +0 -4
  418. package/src/programmers/internal/check_array.ts +0 -30
  419. package/src/programmers/internal/check_custom.ts +0 -31
  420. package/src/programmers/internal/check_string_tags.ts +0 -67
  421. package/src/programmers/internal/get_comment_tags.ts +0 -23
  422. package/src/schemas/metadata/ICommentTag.ts +0 -4
  423. package/src/schemas/metadata/IMetadataTag.ts +0 -112
  424. /package/lib/{programmers/internal/check_array.d.ts → factories/MetadataCommentTagFactory.d.ts} +0 -0
package/README.md CHANGED
@@ -12,7 +12,6 @@
12
12
  export function is<T>(input: unknown): input is T; // returns boolean
13
13
  export function assert<T>(input: unknown): T; // throws TypeGuardError
14
14
  export function validate<T>(input: unknown): IValidation<T>; // detailed
15
- export const customValidators: CustomValidatorMap; // for customization
16
15
 
17
16
  // JSON FUNCTIONS
18
17
  export namespace json {
@@ -78,7 +77,7 @@ Check out the document in the [website](https://typia.io/docs/):
78
77
  - [`is()` function](https://typia.io/docs/validators/is/)
79
78
  - [`assert()` function](https://typia.io/docs/validators/assert/)
80
79
  - [`validate()` function](https://typia.io/docs/validators/validate/)
81
- - [Comment Tags](https://typia.io/docs/validators/tags/)
80
+ - [Custom Tags](https://typia.io/docs/validators/tags/)
82
81
  - Enhanced JSON
83
82
  - [`stringify()` functions](https://typia.io/docs/json/stringify/)
84
83
  - [`parse()` functions](https://typia.io/docs/json/parse/)
@@ -19,10 +19,11 @@ export interface IRandomGenerator {
19
19
  }
20
20
  export declare namespace IRandomGenerator {
21
21
  type CustomMap = {
22
- [Type in keyof Customizable]?: (tags: ICommentTag[]) => Customizable[Type] | undefined;
22
+ [Type in keyof Customizable]?: (tags: ITypeTag[]) => Customizable[Type] | undefined;
23
23
  };
24
- interface ICommentTag {
24
+ interface ITypeTag {
25
25
  name: string;
26
- value?: string;
26
+ kind: string;
27
+ value: any;
27
28
  }
28
29
  }
@@ -1,6 +1,6 @@
1
1
  import ts from "typescript";
2
2
  export declare namespace ExpressionFactory {
3
- const bigint: (value: number) => ts.CallExpression;
3
+ const bigint: (value: number | bigint) => ts.CallExpression;
4
4
  const isRequired: (input: ts.Expression) => ts.Expression;
5
5
  const isArray: (input: ts.Expression) => ts.Expression;
6
6
  const isObject: (options: {
@@ -11,4 +11,6 @@ export declare namespace ExpressionFactory {
11
11
  const coalesce: (x: ts.Expression) => (y: ts.Expression) => ts.Expression;
12
12
  const currying: (target: ts.Expression) => (parameters: ts.Expression[]) => ts.CallExpression;
13
13
  const selfCall: (body: ts.ConciseBody) => ts.CallExpression;
14
+ const getEscapedText: (printer: ts.Printer) => (input: ts.Expression) => string;
15
+ const transpile: (context: ts.TransformationContext) => (script: string) => (input: ts.Expression) => ts.Expression;
14
16
  }
@@ -16,10 +16,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.ExpressionFactory = void 0;
18
18
  var typescript_1 = __importDefault(require("typescript"));
19
+ var RandomGenerator_1 = require("../utils/RandomGenerator");
19
20
  var ExpressionFactory;
20
21
  (function (ExpressionFactory) {
21
22
  ExpressionFactory.bigint = function (value) {
22
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [typescript_1.default.factory.createNumericLiteral(value)]);
23
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [typescript_1.default.factory.createIdentifier(value.toString())]);
23
24
  };
24
25
  ExpressionFactory.isRequired = function (input) {
25
26
  return typescript_1.default.factory.createStrictInequality(typescript_1.default.factory.createIdentifier("undefined"), input);
@@ -80,5 +81,28 @@ var ExpressionFactory;
80
81
  ? body
81
82
  : typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, body)), undefined, undefined);
82
83
  };
84
+ ExpressionFactory.getEscapedText = function (printer) {
85
+ return function (input) {
86
+ return printer.printNode(typescript_1.default.EmitHint.Expression, input, input.getSourceFile());
87
+ };
88
+ };
89
+ ExpressionFactory.transpile = function (context) {
90
+ return function (script) {
91
+ return function (input) {
92
+ var file = typescript_1.default.createSourceFile("".concat(RandomGenerator_1.RandomGenerator.uuid(), ".ts"), script, typescript_1.default.ScriptTarget.ESNext, true, typescript_1.default.ScriptKind.TS);
93
+ var statement = file.statements[0];
94
+ if (statement === undefined)
95
+ throw new Error("Error on ExpressionFactory.transpile(): no statement exists.");
96
+ else if (!typescript_1.default.isExpressionStatement(statement))
97
+ throw new Error("Error on ExpressionFactory.transpile(): statement is not an expression statement.");
98
+ var visitor = function (node) {
99
+ if (typescript_1.default.isIdentifier(node) && node.text === "$input")
100
+ return input;
101
+ return typescript_1.default.visitEachChild(typescript_1.default.factory.cloneNode(node), visitor, context);
102
+ };
103
+ return visitor(statement.expression);
104
+ };
105
+ };
106
+ };
83
107
  })(ExpressionFactory || (exports.ExpressionFactory = ExpressionFactory = {}));
84
108
  //# sourceMappingURL=ExpressionFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import ts from "typescript";
2
2
  export declare namespace IdentifierFactory {
3
3
  const identifier: (name: string) => ts.Identifier | ts.StringLiteral;
4
- const access: (target: ts.Expression) => (property: string) => ts.ElementAccessExpression | ts.PropertyAccessExpression;
4
+ const access: (target: ts.Expression) => (property: string) => ts.PropertyAccessExpression | ts.ElementAccessExpression;
5
+ const getName: (input: ts.Expression) => string;
5
6
  const postfix: (str: string) => string;
6
7
  const parameter: (name: string | ts.BindingName, type?: ts.TypeNode, init?: ts.Expression | ts.PunctuationToken<ts.SyntaxKind.QuestionToken>) => any;
7
8
  }
@@ -20,6 +20,17 @@ var IdentifierFactory;
20
20
  ? typescript_1.default.factory.createElementAccessExpression(target, postfix)
21
21
  : typescript_1.default.factory.createPropertyAccessExpression(target, postfix);
22
22
  }; };
23
+ IdentifierFactory.getName = function (input) {
24
+ var _a;
25
+ var value = (_a = input.escapedText) === null || _a === void 0 ? void 0 : _a.toString();
26
+ if (typeof value === "string")
27
+ return value;
28
+ if (typescript_1.default.isPropertyAccessExpression(input))
29
+ return "".concat(IdentifierFactory.getName(input.expression), ".").concat(input.name.escapedText.toString());
30
+ else if (typescript_1.default.isElementAccessExpression(input))
31
+ return "".concat(IdentifierFactory.getName(input.expression), "[").concat(IdentifierFactory.getName(input.argumentExpression), "]");
32
+ return "uknown";
33
+ };
23
34
  IdentifierFactory.postfix = function (str) {
24
35
  return Escaper_1.Escaper.variable(str)
25
36
  ? "\".".concat(str, "\"")
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifierFactory.js","sourceRoot":"","sources":["../../src/factories/IdentifierFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,4CAA2C;AAE3C,6CAA4C;AAE5C,IAAiB,iBAAiB,CAoDjC;AApDD,WAAiB,iBAAiB;IACjB,4BAAU,GAAG,UAAC,IAAY;QACnC,OAAA,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAClB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC;IAF1C,CAE0C,CAAC;IAElC,wBAAM,GAAG,UAAC,MAAqB,IAAK,OAAA,UAAC,QAAgB;QAC9D,IAAM,OAAO,GAAG,kBAAA,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrC,OAAO,oBAAE,CAAC,eAAe,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC;YAC3D,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC,EALgD,CAKhD,CAAC;IAEW,yBAAO,GAAG,UAAC,GAAW;QAC/B,OAAA,iBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YACjB,CAAC,CAAC,aAAK,GAAG,OAAG;YACb,CAAC,CAAC,aAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAI;IAFzD,CAEyD,CAAC;IAEjD,2BAAS,GAAG,UACrB,IAA6B,EAC7B,IAAkB,EAClB,IAAuE;QAGvE,IAAI,oBAAE,CAAC,aAAa,KAAK,SAAS;YAC9B,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CACxC,SAAS,EACT,SAAS,EACT,IAAI,EACJ,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;gBACtC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrD,CAAC,CAAC,SAAS,EACf,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAClC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;gBAC7C,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,SAAS,CAClB,CAAC;QAEN,OAAQ,oBAAE,CAAC,OAAO,CAAC,0BAAkC,CACjD,SAAS,EACT,SAAS,EACT,SAAS,EACT,IAAI,EACJ,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;YACtC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACrD,CAAC,CAAC,SAAS,EACf,IAAI,EACJ,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;YAC7C,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,CAClB,CAAC;IACN,CAAC,CAAC;AACN,CAAC,EApDgB,iBAAiB,iCAAjB,iBAAiB,QAoDjC"}
1
+ {"version":3,"file":"IdentifierFactory.js","sourceRoot":"","sources":["../../src/factories/IdentifierFactory.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.LiteralFactory = void 0;
23
23
  var typescript_1 = __importDefault(require("typescript"));
24
+ var ExpressionFactory_1 = require("./ExpressionFactory");
24
25
  var IdentifierFactory_1 = require("./IdentifierFactory");
25
26
  var LiteralFactory;
26
27
  (function (LiteralFactory) {
@@ -40,9 +41,9 @@ var LiteralFactory;
40
41
  else if (typeof input === "number")
41
42
  return generate_value(input);
42
43
  else if (typeof input === "bigint")
43
- return generate_value(input);
44
+ return generate_bigint(input);
44
45
  else
45
- throw new Error("Unknown type.");
46
+ throw new Error("Error on LiteralFactory.generate(): unknown type.");
46
47
  };
47
48
  var generate_object = function (obj) {
48
49
  return typescript_1.default.factory.createObjectLiteralExpression(Object.entries(obj)
@@ -58,6 +59,9 @@ var LiteralFactory;
58
59
  var generate_value = function (value) {
59
60
  return typescript_1.default.factory.createIdentifier(value.toString());
60
61
  };
62
+ var generate_bigint = function (value) {
63
+ return ExpressionFactory_1.ExpressionFactory.bigint(value);
64
+ };
61
65
  var generate_string = function (value) {
62
66
  return typescript_1.default.factory.createStringLiteral(value);
63
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LiteralFactory.js","sourceRoot":"","sources":["../../src/factories/LiteralFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,yDAAwD;AAExD,IAAiB,cAAc,CAkC9B;AAlCD,WAAiB,cAAc;IACd,uBAAQ,GAAG,UAAC,KAAU;QAC/B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC9C,IAAI,oBAAE,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;aACzC,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;;YAC5D,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAM,eAAe,GAAG,UAAC,GAAW;QAChC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACd,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAtB,CAAsB,CAAC;aACzC,GAAG,CAAC,UAAC,EAAY;gBAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YACb,OAAA,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,qCAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EACjC,eAAA,QAAQ,CAAC,KAAK,CAAC,CAClB;QAHD,CAGC,CACJ,EACL,IAAI,CACP;IAVD,CAUC,CAAC;IAEN,IAAM,cAAc,GAAG,UAAC,KAAY;QAChC,OAAA,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,eAAA,QAAQ,CAAC,EAAE,IAAI,CAAC;IAAlE,CAAkE,CAAC;IAEvE,IAAM,cAAc,GAAG,UAAC,KAAgC;QACpD,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAA7C,CAA6C,CAAC;IAElD,IAAM,eAAe,GAAG,UAAC,KAAa;QAClC,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAArC,CAAqC,CAAC;AAC9C,CAAC,EAlCgB,cAAc,8BAAd,cAAc,QAkC9B"}
1
+ {"version":3,"file":"LiteralFactory.js","sourceRoot":"","sources":["../../src/factories/LiteralFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,yDAAwD;AACxD,yDAAwD;AAExD,IAAiB,cAAc,CAwC9B;AAxCD,WAAiB,cAAc;IACd,uBAAQ,GAAG,UAAC,KAAU;QAC/B,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC9C,IAAI,oBAAE,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;aACzC,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aACzD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,SAAS;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;aAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;;YAE9D,MAAM,IAAI,KAAK,CACX,mDAAmD,CACtD,CAAC;IACV,CAAC,CAAC;IAEF,IAAM,eAAe,GAAG,UAAC,GAAW;QAChC,OAAA,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;aACd,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAtB,CAAsB,CAAC;aACzC,GAAG,CAAC,UAAC,EAAY;gBAAZ,KAAA,aAAY,EAAX,GAAG,QAAA,EAAE,KAAK,QAAA;YACb,OAAA,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAC/B,qCAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EACjC,eAAA,QAAQ,CAAC,KAAK,CAAC,CAClB;QAHD,CAGC,CACJ,EACL,IAAI,CACP;IAVD,CAUC,CAAC;IAEN,IAAM,cAAc,GAAG,UAAC,KAAY;QAChC,OAAA,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,GAAG,CAAC,eAAA,QAAQ,CAAC,EAAE,IAAI,CAAC;IAAlE,CAAkE,CAAC;IAEvE,IAAM,cAAc,GAAG,UAAC,KAAgC;QACpD,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAA7C,CAA6C,CAAC;IAElD,IAAM,eAAe,GAAG,UAAC,KAAa;QAClC,OAAA,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC;IAA/B,CAA+B,CAAC;IAEpC,IAAM,eAAe,GAAG,UAAC,KAAa;QAClC,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAArC,CAAqC,CAAC;AAC9C,CAAC,EAxCgB,cAAc,8BAAd,cAAc,QAwC9B"}
@@ -2,9 +2,9 @@ import ts from "typescript";
2
2
  import { IMetadataCollection } from "../schemas/metadata/IMetadataCollection";
3
3
  import { Metadata } from "../schemas/metadata/Metadata";
4
4
  import { MetadataAlias } from "../schemas/metadata/MetadataAlias";
5
- import { MetadataArray } from "../schemas/metadata/MetadataArray";
5
+ import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
6
6
  import { MetadataObject } from "../schemas/metadata/MetadataObject";
7
- import { MetadataTuple } from "../schemas/metadata/MetadataTuple";
7
+ import { MetadataTupleType } from "../schemas/metadata/MetadataTupleType";
8
8
  export declare class MetadataCollection {
9
9
  private readonly options?;
10
10
  private readonly objects_;
@@ -20,14 +20,14 @@ export declare class MetadataCollection {
20
20
  aliases(): MetadataAlias[];
21
21
  objects(): MetadataObject[];
22
22
  unions(): MetadataObject[][];
23
- arrays(): MetadataArray[];
24
- tuples(): MetadataTuple[];
23
+ arrays(): MetadataArrayType[];
24
+ tuples(): MetadataTupleType[];
25
25
  private getName;
26
26
  emplace(checker: ts.TypeChecker, type: ts.Type): [MetadataObject, boolean];
27
27
  emplaceAlias(checker: ts.TypeChecker, type: ts.Type, symbol: ts.Symbol): [MetadataAlias, boolean, (meta: Metadata) => void];
28
- emplaceArray(checker: ts.TypeChecker, type: ts.Type): [MetadataArray, boolean, (meta: Metadata) => void];
29
- emplaceTuple(checker: ts.TypeChecker, type: ts.TupleType): [MetadataTuple, boolean, (elements: Metadata[]) => void];
30
- setTupleRecursive(tuple: MetadataTuple, recursive: boolean): void;
28
+ emplaceArray(checker: ts.TypeChecker, type: ts.Type): [MetadataArrayType, boolean, (meta: Metadata) => void];
29
+ emplaceTuple(checker: ts.TypeChecker, type: ts.TupleType): [MetadataTupleType, boolean, (elements: Metadata[]) => void];
30
+ setTupleRecursive(tuple: MetadataTupleType, recursive: boolean): void;
31
31
  toJSON(): IMetadataCollection;
32
32
  }
33
33
  export declare namespace MetadataCollection {
@@ -38,9 +38,9 @@ var __values = (this && this.__values) || function(o) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.MetadataCollection = void 0;
40
40
  var MetadataAlias_1 = require("../schemas/metadata/MetadataAlias");
41
- var MetadataArray_1 = require("../schemas/metadata/MetadataArray");
41
+ var MetadataArrayType_1 = require("../schemas/metadata/MetadataArrayType");
42
42
  var MetadataObject_1 = require("../schemas/metadata/MetadataObject");
43
- var MetadataTuple_1 = require("../schemas/metadata/MetadataTuple");
43
+ var MetadataTupleType_1 = require("../schemas/metadata/MetadataTupleType");
44
44
  var Writable_1 = require("../typings/Writable");
45
45
  var MapUtil_1 = require("../utils/MapUtil");
46
46
  var CommentFactory_1 = require("./CommentFactory");
@@ -127,7 +127,6 @@ var MetadataCollection = (function () {
127
127
  description: (_a = CommentFactory_1.CommentFactory.description(symbol)) !== null && _a !== void 0 ? _a : null,
128
128
  recursive: null,
129
129
  nullables: [],
130
- tags: [],
131
130
  jsDocTags: (_b = symbol.getJsDocTags()) !== null && _b !== void 0 ? _b : [],
132
131
  });
133
132
  this.aliases_.set(type, alias);
@@ -138,7 +137,7 @@ var MetadataCollection = (function () {
138
137
  if (oldbie !== undefined)
139
138
  return [oldbie, false, function () { }];
140
139
  var $id = this.getName(checker, type);
141
- var array = MetadataArray_1.MetadataArray.create({
140
+ var array = MetadataArrayType_1.MetadataArrayType.create({
142
141
  name: $id,
143
142
  value: null,
144
143
  index: null,
@@ -153,7 +152,7 @@ var MetadataCollection = (function () {
153
152
  if (oldbie !== undefined)
154
153
  return [oldbie, false, function () { }];
155
154
  var $id = this.getName(checker, type);
156
- var tuple = MetadataTuple_1.MetadataTuple.create({
155
+ var tuple = MetadataTupleType_1.MetadataTupleType.create({
157
156
  name: $id,
158
157
  elements: null,
159
158
  index: null,
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataCollection.js","sourceRoot":"","sources":["../../src/factories/MetadataCollection.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mEAAkE;AAClE,mEAAkE;AAClE,qEAAoE;AACpE,mEAAkE;AAElE,gDAA+C;AAE/C,4CAA2C;AAE3C,mDAAkD;AAClD,6CAA4C;AAE5C;IAiBI,4BACqB,OAA8C;QAA9C,YAAO,GAAP,OAAO,CAAuC;QAHnD,YAAO,GAAkB,IAAI,GAAG,EAAE,CAAC;QAK/C,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC;IACpC,CAAC;IAKM,oCAAO,GAAd;QACI,gCAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAE;IACvC,CAAC;IAEM,oCAAO,GAAd;QACI,gCAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAE;IACvC,CAAC;IAEM,mCAAM,GAAb;QACI,gCAAW,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,UAAE;IAC7C,CAAC;IAEM,mCAAM,GAAb;QACI,gCAAW,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAE;IACtC,CAAC;IAEM,mCAAM,GAAb;QACI,gCAAW,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAE;IACtC,CAAC;IAEO,oCAAO,GAAf,UAAgB,OAAuB,EAAE,IAAa;QAAtD,iBAkBC;QAjBG,IAAM,IAAI,GAAW,CAAC;;YAClB,IAAM,GAAG,GAAW,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3D,OAAO,CAAA,MAAA,KAAI,CAAC,OAAO,0CAAE,OAAO,EAAC,CAAC,CAAC,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACnE,CAAC,CAAC,EAAE,CAAC;QAEL,IAAM,UAAU,GAAyB,iBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAC9D,IAAI,EACJ,cAAM,OAAA,IAAI,GAAG,EAAE,EAAT,CAAS,CAClB,CAAC;QACF,IAAM,MAAM,GAAuB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAExC,IAAM,QAAQ,GAAW,UAAU,CAAC,IAAI;YACpC,CAAC,CAAC,UAAG,IAAI,eAAK,UAAU,CAAC,IAAI,CAAE;YAC/B,CAAC,CAAC,IAAI,CAAC;QACX,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAKM,0CAAa,GAApB,UAAqB,IAAc;QAC/B,IAAM,GAAG,GAAW,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,iBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,cAAM,OAAA,IAAI,CAAC,OAAO,EAAZ,CAAY,CAAC,CAAC;QAC3D,OAAO,yBAAI,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAKM,oCAAO,GAAd,UACI,OAAuB,EACvB,IAAa;;QAEb,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAWjD,IAAM,GAAG,GAAW,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,IAAM,GAAG,GAAmB,+BAAc,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,EAAE;YACd,WAAW,EACP,MAAA,CAAC,IAAI,CAAC,MAAM,IAAI,+BAAc,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,mCACxD,SAAS;YACb,SAAS,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,EAAE,mCAAI,EAAE;YAC5C,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE;YAC3B,SAAS,EAAE,IAAK;YAChB,SAAS,EAAE,EAAE;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACvB,CAAC;IAEM,yCAAY,GAAnB,UACI,OAAuB,EACvB,IAAa,EACb,MAAiB;;QAEjB,IAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,cAAO,CAAC,CAAC,CAAC;QAE3D,IAAM,GAAG,GAAW,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChD,IAAM,KAAK,GAAkB,6BAAa,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,IAAK;YACZ,WAAW,EAAE,MAAA,+BAAc,CAAC,WAAW,CAAC,MAAM,CAAC,mCAAI,IAAI;YACvD,SAAS,EAAE,IAAK;YAChB,SAAS,EAAE,EAAE;YACb,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,MAAA,MAAM,CAAC,YAAY,EAAE,mCAAI,EAAE;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;IACnE,CAAC;IAEM,yCAAY,GAAnB,UACI,OAAuB,EACvB,IAAa;QAEb,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,cAAO,CAAC,CAAC,CAAC;QAE3D,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,IAAM,KAAK,GAAkB,6BAAa,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,IAAK;YACZ,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAK;YAChB,SAAS,EAAE,EAAE;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,EAA9B,CAA8B,CAAC,CAAC;IACnE,CAAC;IAEM,yCAAY,GAAnB,UACI,OAAuB,EACvB,IAAkB;QAElB,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,cAAO,CAAC,CAAC,CAAC;QAE3D,IAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxC,IAAM,KAAK,GAAkB,6BAAa,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAK;YACf,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,IAAK;YAChB,SAAS,EAAE,EAAE;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO;YACH,KAAK;YACL,IAAI;YACJ,UAAC,QAAQ,IAAK,OAAA,CAAC,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,EAArC,CAAqC;SACtD,CAAC;IACN,CAAC;IAKM,+CAAkB,GAAzB,UAA0B,GAAmB,EAAE,SAAkB;QAC7D,IAAA,mBAAQ,EAAC,GAAG,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,CAAC;IAKM,8CAAiB,GAAxB,UAAyB,KAAoB,EAAE,SAAkB;QAC7D,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1C,CAAC;IAKM,8CAAiB,GAAxB,UAAyB,KAAoB,EAAE,SAAkB;QAC7D,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,IAAI,SAAS;YAAE,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACzE,CAAC;IAEM,8CAAiB,GAAxB,UAAyB,KAAoB,EAAE,SAAkB;QAC7D,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,IAAI,SAAS;YAAE,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;IACzE,CAAC;IAEM,mCAAM,GAAb;QACI,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,EAAE,EAAV,CAAU,CAAC;YAC9C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,EAAE,EAAV,CAAU,CAAC;YAC9C,MAAM,EAAE,yBAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,EAAE,EAAV,CAAU,CAAC;YACzD,MAAM,EAAE,yBAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAE,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,EAAE,EAAV,CAAU,CAAC;SAC5D,CAAC;IACN,CAAC;IACL,yBAAC;AAAD,CAAC,AA3ND,IA2NC;AA3NY,gDAAkB;AA4N/B,WAAiB,kBAAkB;IAKlB,0BAAO,GAAG,UAAC,GAAW;;;YAC/B,KAA8B,IAAA,cAAA,SAAA,SAAS,CAAA,oCAAA;gBAA5B,IAAA,KAAA,8BAAe,EAAd,MAAM,QAAA,EAAE,KAAK,QAAA;gBACrB,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAAA;;;;;;;;;QACxC,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEW,yBAAM,GAAG,UAAC,GAAW;;;YAC9B,KAA8B,IAAA,cAAA,SAAA,SAAS,CAAA,oCAAA;gBAA5B,IAAA,KAAA,8BAAe,EAAd,MAAM,QAAA,EAAE,KAAK,QAAA;gBACrB,IAAI,KAAK,KAAK,EAAE;oBAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAAA;;;;;;;;;QAC1D,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;AACN,CAAC,EAhBgB,kBAAkB,kCAAlB,kBAAkB,QAgBlC;AACD,IAAM,SAAS,GAAuB;IAClC,CAAC,GAAG,EAAE,UAAU,CAAC;IACjB,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,SAAS,CAAC;IAChB,CAAC,GAAG,EAAE,aAAa,CAAC;IACpB,CAAC,GAAG,EAAE,eAAe,CAAC;IACtB,CAAC,GAAG,EAAE,eAAe,CAAC;IACtB,CAAC,GAAG,EAAE,SAAS,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"MetadataCollection.js","sourceRoot":"","sources":["../../src/factories/MetadataCollection.ts"],"names":[],"mappings":"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"}