typia 4.0.0-dev.20230527 → 4.0.0-dev.20230604

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (751) hide show
  1. package/lib/IRandomGenerator.d.ts +1 -0
  2. package/lib/TypeGuardError.js +2 -6
  3. package/lib/TypeGuardError.js.map +1 -1
  4. package/lib/executable/TypiaGenerateWizard.js +24 -25
  5. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  6. package/lib/executable/TypiaSetupWizard.js +21 -28
  7. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  8. package/lib/executable/setup/ArgumentParser.js +6 -6
  9. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  10. package/lib/executable/setup/CommandExecutor.js +1 -1
  11. package/lib/executable/setup/CommandExecutor.js.map +1 -1
  12. package/lib/executable/setup/FileRetriever.js +1 -1
  13. package/lib/executable/setup/FileRetriever.js.map +1 -1
  14. package/lib/executable/setup/PackageManager.js +8 -8
  15. package/lib/executable/setup/PackageManager.js.map +1 -1
  16. package/lib/executable/setup/PluginConfigurator.js +5 -6
  17. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  18. package/lib/executable/typia.js +17 -17
  19. package/lib/executable/typia.js.map +1 -1
  20. package/lib/factories/CommentFactory.d.ts +8 -3
  21. package/lib/factories/CommentFactory.js +63 -6
  22. package/lib/factories/CommentFactory.js.map +1 -1
  23. package/lib/factories/ExpressionFactory.d.ts +6 -6
  24. package/lib/factories/ExpressionFactory.js +29 -35
  25. package/lib/factories/ExpressionFactory.js.map +1 -1
  26. package/lib/factories/IdentifierFactory.d.ts +8 -4
  27. package/lib/factories/IdentifierFactory.js +28 -24
  28. package/lib/factories/IdentifierFactory.js.map +1 -1
  29. package/lib/factories/LiteralFactory.d.ts +2 -2
  30. package/lib/factories/LiteralFactory.js +37 -43
  31. package/lib/factories/LiteralFactory.js.map +1 -1
  32. package/lib/factories/MetadataCollection.d.ts +24 -7
  33. package/lib/factories/MetadataCollection.js +126 -39
  34. package/lib/factories/MetadataCollection.js.map +1 -1
  35. package/lib/factories/MetadataFactory.d.ts +7 -3
  36. package/lib/factories/MetadataFactory.js +9 -53
  37. package/lib/factories/MetadataFactory.js.map +1 -1
  38. package/lib/factories/MetadataTagFactory.d.ts +2 -2
  39. package/lib/factories/MetadataTagFactory.js +8 -23
  40. package/lib/factories/MetadataTagFactory.js.map +1 -1
  41. package/lib/factories/StatementFactory.d.ts +3 -2
  42. package/lib/factories/StatementFactory.js +13 -6
  43. package/lib/factories/StatementFactory.js.map +1 -1
  44. package/lib/factories/TemplateFactory.d.ts +2 -2
  45. package/lib/factories/TemplateFactory.js +36 -38
  46. package/lib/factories/TemplateFactory.js.map +1 -1
  47. package/lib/factories/TypeFactory.d.ts +6 -7
  48. package/lib/factories/TypeFactory.js +55 -75
  49. package/lib/factories/TypeFactory.js.map +1 -1
  50. package/lib/factories/ValueFactory.d.ts +6 -6
  51. package/lib/factories/ValueFactory.js +15 -15
  52. package/lib/factories/ValueFactory.js.map +1 -1
  53. package/lib/factories/internal/metadata/MetadataHelper.js +1 -1
  54. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  55. package/lib/factories/internal/metadata/emplace_metadata_array.d.ts +5 -0
  56. package/lib/factories/internal/metadata/emplace_metadata_array.js +38 -0
  57. package/lib/factories/internal/metadata/emplace_metadata_array.js.map +1 -0
  58. package/lib/factories/internal/metadata/emplace_metadata_definition.d.ts +5 -0
  59. package/lib/factories/internal/metadata/emplace_metadata_definition.js +38 -0
  60. package/lib/factories/internal/metadata/emplace_metadata_definition.js.map +1 -0
  61. package/lib/factories/internal/metadata/emplace_metadata_object.d.ts +2 -3
  62. package/lib/factories/internal/metadata/emplace_metadata_object.js +44 -62
  63. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  64. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +5 -0
  65. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +58 -0
  66. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -0
  67. package/lib/factories/internal/metadata/explore_metadata.d.ts +2 -3
  68. package/lib/factories/internal/metadata/explore_metadata.js +38 -70
  69. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  70. package/lib/factories/internal/metadata/iterate_metadata.d.ts +2 -3
  71. package/lib/factories/internal/metadata/iterate_metadata.js +20 -24
  72. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  73. package/lib/factories/internal/metadata/iterate_metadata_array.d.ts +2 -3
  74. package/lib/factories/internal/metadata/iterate_metadata_array.js +9 -12
  75. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  76. package/lib/factories/internal/metadata/iterate_metadata_atomic.d.ts +2 -2
  77. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +24 -26
  78. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  79. package/lib/factories/internal/metadata/iterate_metadata_coalesce.d.ts +2 -2
  80. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js +26 -26
  81. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -1
  82. package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +2 -0
  83. package/lib/factories/internal/metadata/iterate_metadata_collection.js +151 -0
  84. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -0
  85. package/lib/factories/internal/metadata/iterate_metadata_constant.d.ts +2 -3
  86. package/lib/factories/internal/metadata/iterate_metadata_constant.js +29 -29
  87. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  88. package/lib/factories/internal/metadata/iterate_metadata_definition.d.ts +5 -0
  89. package/lib/factories/internal/metadata/iterate_metadata_definition.js +24 -0
  90. package/lib/factories/internal/metadata/iterate_metadata_definition.js.map +1 -0
  91. package/lib/factories/internal/metadata/iterate_metadata_map.d.ts +2 -3
  92. package/lib/factories/internal/metadata/iterate_metadata_map.js +16 -18
  93. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  94. package/lib/factories/internal/metadata/iterate_metadata_native.d.ts +2 -3
  95. package/lib/factories/internal/metadata/iterate_metadata_native.js +37 -39
  96. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  97. package/lib/factories/internal/metadata/iterate_metadata_object.d.ts +2 -3
  98. package/lib/factories/internal/metadata/iterate_metadata_object.js +23 -25
  99. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  100. package/lib/factories/internal/metadata/iterate_metadata_resolve.d.ts +2 -3
  101. package/lib/factories/internal/metadata/iterate_metadata_resolve.js +10 -15
  102. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
  103. package/lib/factories/internal/metadata/iterate_metadata_set.d.ts +2 -3
  104. package/lib/factories/internal/metadata/iterate_metadata_set.js +12 -14
  105. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  106. package/lib/factories/internal/metadata/iterate_metadata_sort.d.ts +3 -0
  107. package/lib/factories/internal/metadata/iterate_metadata_sort.js +156 -0
  108. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -0
  109. package/lib/factories/internal/metadata/iterate_metadata_template.d.ts +2 -3
  110. package/lib/factories/internal/metadata/iterate_metadata_template.js +20 -21
  111. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  112. package/lib/factories/internal/metadata/iterate_metadata_tuple.d.ts +2 -3
  113. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +8 -32
  114. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  115. package/lib/factories/internal/metadata/iterate_metadata_union.d.ts +2 -3
  116. package/lib/factories/internal/metadata/iterate_metadata_union.js +54 -55
  117. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  118. package/lib/functional/$dictionary.js +0 -3
  119. package/lib/functional/$dictionary.js.map +1 -1
  120. package/lib/functional/$guard.js +0 -20
  121. package/lib/functional/$guard.js.map +1 -1
  122. package/lib/functional/$string.js +0 -5
  123. package/lib/functional/$string.js.map +1 -1
  124. package/lib/functional/$tail.js +0 -3
  125. package/lib/functional/$tail.js.map +1 -1
  126. package/lib/functional/Namespace.js +1 -6
  127. package/lib/functional/Namespace.js.map +1 -1
  128. package/lib/metadata/IMetadata.d.ts +3 -2
  129. package/lib/metadata/IMetadataAlias.d.ts +10 -0
  130. package/lib/metadata/IMetadataAlias.js +3 -0
  131. package/lib/metadata/IMetadataAlias.js.map +1 -0
  132. package/lib/metadata/IMetadataApplication.d.ts +2 -2
  133. package/lib/metadata/IMetadataArray.d.ts +8 -0
  134. package/lib/metadata/IMetadataArray.js +3 -0
  135. package/lib/metadata/IMetadataArray.js.map +1 -0
  136. package/lib/metadata/IMetadataCollection.d.ts +10 -0
  137. package/lib/metadata/IMetadataCollection.js +3 -0
  138. package/lib/metadata/IMetadataCollection.js.map +1 -0
  139. package/lib/metadata/IMetadataDictionary.js +3 -0
  140. package/lib/metadata/IMetadataDictionary.js.map +1 -0
  141. package/lib/metadata/IMetadataObject.d.ts +3 -0
  142. package/lib/metadata/IMetadataProperty.d.ts +1 -1
  143. package/lib/metadata/IMetadataTuple.d.ts +8 -0
  144. package/lib/metadata/IMetadataTuple.js +3 -0
  145. package/lib/metadata/IMetadataTuple.js.map +1 -0
  146. package/lib/metadata/Metadata.d.ts +24 -21
  147. package/lib/metadata/Metadata.js +326 -334
  148. package/lib/metadata/Metadata.js.map +1 -1
  149. package/lib/metadata/MetadataAlias.d.ts +16 -0
  150. package/lib/metadata/MetadataAlias.js +39 -0
  151. package/lib/metadata/MetadataAlias.js.map +1 -0
  152. package/lib/metadata/MetadataArray.d.ts +12 -0
  153. package/lib/metadata/MetadataArray.js +36 -0
  154. package/lib/metadata/MetadataArray.js.map +1 -0
  155. package/lib/metadata/MetadataObject.d.ts +4 -0
  156. package/lib/metadata/MetadataObject.js +6 -28
  157. package/lib/metadata/MetadataObject.js.map +1 -1
  158. package/lib/metadata/MetadataProperty.d.ts +1 -1
  159. package/lib/metadata/MetadataProperty.js +4 -16
  160. package/lib/metadata/MetadataProperty.js.map +1 -1
  161. package/lib/metadata/MetadataTuple.d.ts +12 -0
  162. package/lib/metadata/MetadataTuple.js +36 -0
  163. package/lib/metadata/MetadataTuple.js.map +1 -0
  164. package/lib/module.js +0 -186
  165. package/lib/module.js.map +1 -1
  166. package/lib/programmers/ApplicationProgrammer.d.ts +4 -0
  167. package/lib/programmers/ApplicationProgrammer.js +5 -7
  168. package/lib/programmers/ApplicationProgrammer.js.map +1 -1
  169. package/lib/programmers/AssertCloneProgrammer.d.ts +6 -2
  170. package/lib/programmers/AssertCloneProgrammer.js +19 -10
  171. package/lib/programmers/AssertCloneProgrammer.js.map +1 -1
  172. package/lib/programmers/AssertParseProgrammer.d.ts +6 -2
  173. package/lib/programmers/AssertParseProgrammer.js +17 -8
  174. package/lib/programmers/AssertParseProgrammer.js.map +1 -1
  175. package/lib/programmers/AssertProgrammer.d.ts +6 -2
  176. package/lib/programmers/AssertProgrammer.js +102 -106
  177. package/lib/programmers/AssertProgrammer.js.map +1 -1
  178. package/lib/programmers/AssertPruneProgrammer.d.ts +2 -2
  179. package/lib/programmers/AssertPruneProgrammer.js +14 -13
  180. package/lib/programmers/AssertPruneProgrammer.js.map +1 -1
  181. package/lib/programmers/AssertStringifyProgrammer.d.ts +6 -2
  182. package/lib/programmers/AssertStringifyProgrammer.js +18 -9
  183. package/lib/programmers/AssertStringifyProgrammer.js.map +1 -1
  184. package/lib/programmers/CheckerProgrammer.d.ts +8 -10
  185. package/lib/programmers/CheckerProgrammer.js +349 -274
  186. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  187. package/lib/programmers/CloneProgrammer.d.ts +6 -2
  188. package/lib/programmers/CloneProgrammer.js +319 -235
  189. package/lib/programmers/CloneProgrammer.js.map +1 -1
  190. package/lib/programmers/FeatureProgrammer.d.ts +23 -30
  191. package/lib/programmers/FeatureProgrammer.js +110 -131
  192. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  193. package/lib/programmers/IsCloneProgrammer.d.ts +6 -2
  194. package/lib/programmers/IsCloneProgrammer.js +22 -13
  195. package/lib/programmers/IsCloneProgrammer.js.map +1 -1
  196. package/lib/programmers/IsParseProgrammer.d.ts +6 -2
  197. package/lib/programmers/IsParseProgrammer.js +17 -8
  198. package/lib/programmers/IsParseProgrammer.js.map +1 -1
  199. package/lib/programmers/IsProgrammer.d.ts +9 -9
  200. package/lib/programmers/IsProgrammer.js +116 -112
  201. package/lib/programmers/IsProgrammer.js.map +1 -1
  202. package/lib/programmers/IsPruneProgrammer.d.ts +2 -2
  203. package/lib/programmers/IsPruneProgrammer.js +14 -13
  204. package/lib/programmers/IsPruneProgrammer.js.map +1 -1
  205. package/lib/programmers/IsStringifyProgrammer.d.ts +6 -2
  206. package/lib/programmers/IsStringifyProgrammer.js +20 -11
  207. package/lib/programmers/IsStringifyProgrammer.js.map +1 -1
  208. package/lib/programmers/LiteralsProgrammer.d.ts +2 -2
  209. package/lib/programmers/LiteralsProgrammer.js +15 -13
  210. package/lib/programmers/LiteralsProgrammer.js.map +1 -1
  211. package/lib/programmers/PruneProgrammer.d.ts +2 -2
  212. package/lib/programmers/PruneProgrammer.js +293 -218
  213. package/lib/programmers/PruneProgrammer.js.map +1 -1
  214. package/lib/programmers/RandomProgrammer.d.ts +6 -2
  215. package/lib/programmers/RandomProgrammer.js +346 -272
  216. package/lib/programmers/RandomProgrammer.js.map +1 -1
  217. package/lib/programmers/StringifyProgrammer.d.ts +6 -2
  218. package/lib/programmers/StringifyProgrammer.js +490 -426
  219. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  220. package/lib/programmers/TypiaProgrammer.js +44 -57
  221. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  222. package/lib/programmers/ValidateCloneProgrammer.d.ts +2 -2
  223. package/lib/programmers/ValidateCloneProgrammer.js +14 -13
  224. package/lib/programmers/ValidateCloneProgrammer.js.map +1 -1
  225. package/lib/programmers/ValidateParseProgrammer.d.ts +2 -2
  226. package/lib/programmers/ValidateParseProgrammer.js +13 -12
  227. package/lib/programmers/ValidateParseProgrammer.js.map +1 -1
  228. package/lib/programmers/ValidateProgrammer.d.ts +2 -2
  229. package/lib/programmers/ValidateProgrammer.js +97 -102
  230. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  231. package/lib/programmers/ValidatePruneProgrammer.d.ts +2 -2
  232. package/lib/programmers/ValidatePruneProgrammer.js +14 -13
  233. package/lib/programmers/ValidatePruneProgrammer.js.map +1 -1
  234. package/lib/programmers/ValidateStringifyProgrammer.d.ts +2 -2
  235. package/lib/programmers/ValidateStringifyProgrammer.js +14 -13
  236. package/lib/programmers/ValidateStringifyProgrammer.js.map +1 -1
  237. package/lib/programmers/helpers/AtomicPredicator.js +1 -1
  238. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  239. package/lib/programmers/helpers/CloneJoiner.d.ts +4 -4
  240. package/lib/programmers/helpers/CloneJoiner.js +44 -44
  241. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  242. package/lib/programmers/helpers/FunctionImporeter.d.ts +3 -3
  243. package/lib/programmers/helpers/FunctionImporeter.js +25 -8
  244. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  245. package/lib/programmers/helpers/ICheckEntry.d.ts +1 -1
  246. package/lib/programmers/helpers/IExpressionEntry.d.ts +1 -1
  247. package/lib/programmers/helpers/OptionPredicator.js +1 -1
  248. package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
  249. package/lib/programmers/helpers/PruneJoiner.d.ts +4 -4
  250. package/lib/programmers/helpers/PruneJoiner.js +48 -55
  251. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  252. package/lib/programmers/helpers/RandomJoiner.d.ts +9 -4
  253. package/lib/programmers/helpers/RandomJoiner.js +57 -66
  254. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  255. package/lib/programmers/helpers/RandomRanger.d.ts +3 -3
  256. package/lib/programmers/helpers/RandomRanger.js +82 -92
  257. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  258. package/lib/programmers/helpers/StringifyJoinder.d.ts +4 -4
  259. package/lib/programmers/helpers/StringifyJoinder.js +55 -63
  260. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  261. package/lib/programmers/helpers/StringifyPredicator.js +1 -1
  262. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  263. package/lib/programmers/helpers/UnionExplorer.d.ts +15 -14
  264. package/lib/programmers/helpers/UnionExplorer.js +108 -112
  265. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  266. package/lib/programmers/helpers/UnionPredicator.js +2 -7
  267. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  268. package/lib/programmers/helpers/disable_function_importer_declare.js +1 -0
  269. package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
  270. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.d.ts +1 -1
  271. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js +2 -2
  272. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js.map +1 -1
  273. package/lib/programmers/internal/application_array.js +41 -26
  274. package/lib/programmers/internal/application_array.js.map +1 -1
  275. package/lib/programmers/internal/application_boolean.js +1 -4
  276. package/lib/programmers/internal/application_boolean.js.map +1 -1
  277. package/lib/programmers/internal/application_constant.js +2 -5
  278. package/lib/programmers/internal/application_constant.js.map +1 -1
  279. package/lib/programmers/internal/application_default.js +3 -6
  280. package/lib/programmers/internal/application_default.js.map +1 -1
  281. package/lib/programmers/internal/application_default_string.js +0 -5
  282. package/lib/programmers/internal/application_default_string.js.map +1 -1
  283. package/lib/programmers/internal/application_definition.d.ts +5 -0
  284. package/lib/programmers/internal/application_definition.js +45 -0
  285. package/lib/programmers/internal/application_definition.js.map +1 -0
  286. package/lib/programmers/internal/application_native.js +14 -14
  287. package/lib/programmers/internal/application_native.js.map +1 -1
  288. package/lib/programmers/internal/application_number.js +0 -9
  289. package/lib/programmers/internal/application_number.js.map +1 -1
  290. package/lib/programmers/internal/application_object.js +20 -24
  291. package/lib/programmers/internal/application_object.js.map +1 -1
  292. package/lib/programmers/internal/application_schema.js +28 -54
  293. package/lib/programmers/internal/application_schema.js.map +1 -1
  294. package/lib/programmers/internal/application_string.js +0 -9
  295. package/lib/programmers/internal/application_string.js.map +1 -1
  296. package/lib/programmers/internal/application_templates.js +0 -6
  297. package/lib/programmers/internal/application_templates.js.map +1 -1
  298. package/lib/programmers/internal/application_tuple.js +34 -8
  299. package/lib/programmers/internal/application_tuple.js.map +1 -1
  300. package/lib/programmers/internal/check_array.js +7 -12
  301. package/lib/programmers/internal/check_array.js.map +1 -1
  302. package/lib/programmers/internal/check_array_length.js +9 -8
  303. package/lib/programmers/internal/check_array_length.js.map +1 -1
  304. package/lib/programmers/internal/check_bigint.js +70 -71
  305. package/lib/programmers/internal/check_bigint.js.map +1 -1
  306. package/lib/programmers/internal/check_custom.js +19 -20
  307. package/lib/programmers/internal/check_custom.js.map +1 -1
  308. package/lib/programmers/internal/check_dynamic_properties.js +69 -82
  309. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  310. package/lib/programmers/internal/check_everything.js +10 -9
  311. package/lib/programmers/internal/check_everything.js.map +1 -1
  312. package/lib/programmers/internal/check_native.js +8 -7
  313. package/lib/programmers/internal/check_native.js.map +1 -1
  314. package/lib/programmers/internal/check_number.js +22 -27
  315. package/lib/programmers/internal/check_number.js.map +1 -1
  316. package/lib/programmers/internal/check_object.js +19 -32
  317. package/lib/programmers/internal/check_object.js.map +1 -1
  318. package/lib/programmers/internal/check_string.js +11 -12
  319. package/lib/programmers/internal/check_string.js.map +1 -1
  320. package/lib/programmers/internal/check_string_tags.js +50 -51
  321. package/lib/programmers/internal/check_string_tags.js.map +1 -1
  322. package/lib/programmers/internal/check_template.js +23 -27
  323. package/lib/programmers/internal/check_template.js.map +1 -1
  324. package/lib/programmers/internal/check_union_array_like.js +58 -83
  325. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  326. package/lib/programmers/internal/decode_union_object.js +21 -24
  327. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  328. package/lib/programmers/internal/feature_object_entries.js +32 -33
  329. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  330. package/lib/programmers/internal/get_comment_tags.js +0 -3
  331. package/lib/programmers/internal/get_comment_tags.js.map +1 -1
  332. package/lib/programmers/internal/metadata_to_pattern.js +0 -3
  333. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  334. package/lib/programmers/internal/prune_object_properties.js +14 -15
  335. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  336. package/lib/programmers/internal/random_custom.js +9 -10
  337. package/lib/programmers/internal/random_custom.js.map +1 -1
  338. package/lib/programmers/internal/stringify_dynamic_properties.js +54 -65
  339. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  340. package/lib/programmers/internal/stringify_native.js +6 -5
  341. package/lib/programmers/internal/stringify_native.js.map +1 -1
  342. package/lib/programmers/internal/stringify_regular_properties.js +41 -46
  343. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  344. package/lib/programmers/internal/template_to_pattern.js +0 -3
  345. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  346. package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +2 -0
  347. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +18 -0
  348. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -0
  349. package/lib/schemas/IJsonApplication.d.ts +0 -4
  350. package/lib/schemas/IJsonComponents.d.ts +16 -4
  351. package/lib/schemas/IJsonSchema.d.ts +1 -1
  352. package/lib/transform.d.ts +3 -3
  353. package/lib/transform.js +10 -28
  354. package/lib/transform.js.map +1 -1
  355. package/lib/transformers/CallExpressionTransformer.d.ts +1 -1
  356. package/lib/transformers/CallExpressionTransformer.js +5 -33
  357. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  358. package/lib/transformers/FileTransformer.d.ts +1 -1
  359. package/lib/transformers/FileTransformer.js +11 -8
  360. package/lib/transformers/FileTransformer.js.map +1 -1
  361. package/lib/transformers/IProject.d.ts +1 -8
  362. package/lib/transformers/ImportTransformer.d.ts +2 -2
  363. package/lib/transformers/ImportTransformer.js +35 -47
  364. package/lib/transformers/ImportTransformer.js.map +1 -1
  365. package/lib/transformers/NodeTransformer.d.ts +1 -1
  366. package/lib/transformers/NodeTransformer.js +6 -2
  367. package/lib/transformers/NodeTransformer.js.map +1 -1
  368. package/lib/transformers/features/miscellaneous/ApplicationTransformer.d.ts +2 -2
  369. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +20 -29
  370. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
  371. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.d.ts +1 -1
  372. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.js +1 -1
  373. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.js.map +1 -1
  374. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.d.ts +1 -1
  375. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js +1 -1
  376. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js.map +1 -1
  377. package/lib/transformers/features/miscellaneous/CloneTransformer.d.ts +1 -1
  378. package/lib/transformers/features/miscellaneous/CloneTransformer.js +1 -1
  379. package/lib/transformers/features/miscellaneous/CloneTransformer.js.map +1 -1
  380. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.d.ts +1 -1
  381. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.js +1 -1
  382. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.js.map +1 -1
  383. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.d.ts +1 -1
  384. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js +1 -1
  385. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js.map +1 -1
  386. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.d.ts +1 -1
  387. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.js +1 -1
  388. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.js.map +1 -1
  389. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.d.ts +1 -1
  390. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.js +1 -1
  391. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.js.map +1 -1
  392. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.d.ts +1 -1
  393. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js +1 -1
  394. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js.map +1 -1
  395. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.d.ts +1 -1
  396. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js +1 -1
  397. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js.map +1 -1
  398. package/lib/transformers/features/miscellaneous/CreateRandomTransformer.d.ts +2 -2
  399. package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js +5 -10
  400. package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js.map +1 -1
  401. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.d.ts +1 -1
  402. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.js +1 -1
  403. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.js.map +1 -1
  404. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.d.ts +1 -1
  405. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js +1 -1
  406. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js.map +1 -1
  407. package/lib/transformers/features/miscellaneous/IsCloneTransformer.d.ts +1 -1
  408. package/lib/transformers/features/miscellaneous/IsCloneTransformer.js +1 -1
  409. package/lib/transformers/features/miscellaneous/IsCloneTransformer.js.map +1 -1
  410. package/lib/transformers/features/miscellaneous/IsPruneTransformer.d.ts +1 -1
  411. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js +1 -1
  412. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js.map +1 -1
  413. package/lib/transformers/features/miscellaneous/LiteralsTransformer.d.ts +2 -2
  414. package/lib/transformers/features/miscellaneous/LiteralsTransformer.js +5 -9
  415. package/lib/transformers/features/miscellaneous/LiteralsTransformer.js.map +1 -1
  416. package/lib/transformers/features/miscellaneous/MetadataTransformer.d.ts +2 -2
  417. package/lib/transformers/features/miscellaneous/MetadataTransformer.js +17 -16
  418. package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -1
  419. package/lib/transformers/features/miscellaneous/PruneTransformer.d.ts +1 -1
  420. package/lib/transformers/features/miscellaneous/PruneTransformer.js +1 -1
  421. package/lib/transformers/features/miscellaneous/PruneTransformer.js.map +1 -1
  422. package/lib/transformers/features/miscellaneous/RandomTransformer.d.ts +2 -2
  423. package/lib/transformers/features/miscellaneous/RandomTransformer.js +9 -10
  424. package/lib/transformers/features/miscellaneous/RandomTransformer.js.map +1 -1
  425. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.d.ts +1 -1
  426. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.js +1 -1
  427. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.js.map +1 -1
  428. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.d.ts +1 -1
  429. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js +1 -1
  430. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js.map +1 -1
  431. package/lib/transformers/features/parsers/AssertParseTransformer.d.ts +1 -1
  432. package/lib/transformers/features/parsers/AssertParseTransformer.js +1 -1
  433. package/lib/transformers/features/parsers/AssertParseTransformer.js.map +1 -1
  434. package/lib/transformers/features/parsers/CreateAssertParseTransformer.d.ts +1 -1
  435. package/lib/transformers/features/parsers/CreateAssertParseTransformer.js +1 -1
  436. package/lib/transformers/features/parsers/CreateAssertParseTransformer.js.map +1 -1
  437. package/lib/transformers/features/parsers/CreateIsParseTransformer.d.ts +1 -1
  438. package/lib/transformers/features/parsers/CreateIsParseTransformer.js +1 -1
  439. package/lib/transformers/features/parsers/CreateIsParseTransformer.js.map +1 -1
  440. package/lib/transformers/features/parsers/CreateValidateParseTransformer.d.ts +1 -1
  441. package/lib/transformers/features/parsers/CreateValidateParseTransformer.js +1 -1
  442. package/lib/transformers/features/parsers/CreateValidateParseTransformer.js.map +1 -1
  443. package/lib/transformers/features/parsers/IsParseTransformer.d.ts +1 -1
  444. package/lib/transformers/features/parsers/IsParseTransformer.js +1 -1
  445. package/lib/transformers/features/parsers/IsParseTransformer.js.map +1 -1
  446. package/lib/transformers/features/parsers/ValidateParseTransformer.d.ts +1 -1
  447. package/lib/transformers/features/parsers/ValidateParseTransformer.js +1 -1
  448. package/lib/transformers/features/parsers/ValidateParseTransformer.js.map +1 -1
  449. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.d.ts +1 -1
  450. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.js +1 -1
  451. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.js.map +1 -1
  452. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.d.ts +1 -1
  453. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.js +1 -1
  454. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.js.map +1 -1
  455. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.d.ts +1 -1
  456. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.js +1 -1
  457. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.js.map +1 -1
  458. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.d.ts +1 -1
  459. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.js +1 -1
  460. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.js.map +1 -1
  461. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.d.ts +1 -1
  462. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.js +1 -1
  463. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.js.map +1 -1
  464. package/lib/transformers/features/stringifiers/IsStringifyTransformer.d.ts +1 -1
  465. package/lib/transformers/features/stringifiers/IsStringifyTransformer.js +1 -1
  466. package/lib/transformers/features/stringifiers/IsStringifyTransformer.js.map +1 -1
  467. package/lib/transformers/features/stringifiers/StringifyTransformer.d.ts +1 -1
  468. package/lib/transformers/features/stringifiers/StringifyTransformer.js +1 -1
  469. package/lib/transformers/features/stringifiers/StringifyTransformer.js.map +1 -1
  470. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.d.ts +1 -1
  471. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.js +1 -1
  472. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.js.map +1 -1
  473. package/lib/transformers/features/validators/AssertTransformer.d.ts +1 -1
  474. package/lib/transformers/features/validators/AssertTransformer.js +1 -1
  475. package/lib/transformers/features/validators/AssertTransformer.js.map +1 -1
  476. package/lib/transformers/features/validators/CreateAssertTransformer.d.ts +1 -1
  477. package/lib/transformers/features/validators/CreateAssertTransformer.js +1 -1
  478. package/lib/transformers/features/validators/CreateAssertTransformer.js.map +1 -1
  479. package/lib/transformers/features/validators/CreateIsTransformer.d.ts +1 -1
  480. package/lib/transformers/features/validators/CreateIsTransformer.js +1 -1
  481. package/lib/transformers/features/validators/CreateIsTransformer.js.map +1 -1
  482. package/lib/transformers/features/validators/CreateValidateTransformer.d.ts +1 -1
  483. package/lib/transformers/features/validators/CreateValidateTransformer.js +1 -1
  484. package/lib/transformers/features/validators/CreateValidateTransformer.js.map +1 -1
  485. package/lib/transformers/features/validators/IsTransformer.d.ts +1 -1
  486. package/lib/transformers/features/validators/IsTransformer.js +1 -1
  487. package/lib/transformers/features/validators/IsTransformer.js.map +1 -1
  488. package/lib/transformers/features/validators/ValidateTransformer.d.ts +1 -1
  489. package/lib/transformers/features/validators/ValidateTransformer.js +1 -1
  490. package/lib/transformers/features/validators/ValidateTransformer.js.map +1 -1
  491. package/lib/transformers/internal/GenericTransformer.d.ts +3 -3
  492. package/lib/transformers/internal/GenericTransformer.js +18 -22
  493. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  494. package/lib/utils/ArrayUtil.d.ts +1 -1
  495. package/lib/utils/ArrayUtil.js +3 -2
  496. package/lib/utils/ArrayUtil.js.map +1 -1
  497. package/lib/utils/Escaper.js +1 -1
  498. package/lib/utils/Escaper.js.map +1 -1
  499. package/lib/utils/MapUtil.js +1 -1
  500. package/lib/utils/MapUtil.js.map +1 -1
  501. package/lib/utils/PatternUtil.js +1 -1
  502. package/lib/utils/PatternUtil.js.map +1 -1
  503. package/lib/utils/RandomGenerator.js +3 -13
  504. package/lib/utils/RandomGenerator.js.map +1 -1
  505. package/lib/utils/Singleton.js +1 -1
  506. package/package.json +14 -5
  507. package/src/CustomValidatorMap.ts +126 -126
  508. package/src/IRandomGenerator.ts +34 -33
  509. package/src/IValidation.ts +21 -21
  510. package/src/Primitive.ts +123 -123
  511. package/src/TypeGuardError.ts +36 -36
  512. package/src/executable/TypiaGenerateWizard.ts +85 -85
  513. package/src/executable/TypiaSetupWizard.ts +133 -133
  514. package/src/executable/setup/ArgumentParser.ts +45 -45
  515. package/src/executable/setup/CommandExecutor.ts +8 -8
  516. package/src/executable/setup/FileRetriever.ts +22 -22
  517. package/src/executable/setup/PackageManager.ts +71 -71
  518. package/src/executable/setup/PluginConfigurator.ts +70 -70
  519. package/src/executable/typia.ts +52 -52
  520. package/src/factories/CommentFactory.ts +74 -14
  521. package/src/factories/ExpressionFactory.ts +70 -77
  522. package/src/factories/IdentifierFactory.ts +65 -62
  523. package/src/factories/LiteralFactory.ts +39 -57
  524. package/src/factories/MetadataCollection.ts +254 -123
  525. package/src/factories/MetadataFactory.ts +40 -53
  526. package/src/factories/MetadataTagFactory.ts +298 -295
  527. package/src/factories/StatementFactory.ts +24 -20
  528. package/src/factories/TemplateFactory.ts +58 -64
  529. package/src/factories/TypeFactory.ts +124 -145
  530. package/src/factories/ValueFactory.ts +12 -15
  531. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  532. package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -0
  533. package/src/factories/internal/metadata/emplace_metadata_definition.ts +35 -0
  534. package/src/factories/internal/metadata/emplace_metadata_object.ts +142 -152
  535. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -0
  536. package/src/factories/internal/metadata/explore_metadata.ts +66 -93
  537. package/src/factories/internal/metadata/iterate_metadata.ts +77 -63
  538. package/src/factories/internal/metadata/iterate_metadata_array.ts +29 -32
  539. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +59 -59
  540. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  541. package/src/factories/internal/metadata/iterate_metadata_collection.ts +130 -0
  542. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -62
  543. package/src/factories/internal/metadata/iterate_metadata_definition.ts +30 -0
  544. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  545. package/src/factories/internal/metadata/iterate_metadata_native.ts +219 -217
  546. package/src/factories/internal/metadata/iterate_metadata_object.ts +49 -51
  547. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +27 -30
  548. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -36
  549. package/src/factories/internal/metadata/iterate_metadata_sort.ts +68 -0
  550. package/src/factories/internal/metadata/iterate_metadata_template.ts +38 -40
  551. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +25 -51
  552. package/src/factories/internal/metadata/iterate_metadata_union.ts +68 -59
  553. package/src/functional/$any.ts +2 -2
  554. package/src/functional/$dictionary.ts +25 -25
  555. package/src/functional/$every.ts +11 -11
  556. package/src/functional/$guard.ts +35 -35
  557. package/src/functional/$is_between.ts +2 -2
  558. package/src/functional/$is_custom.ts +14 -14
  559. package/src/functional/$is_date.ts +3 -3
  560. package/src/functional/$is_datetime.ts +2 -2
  561. package/src/functional/$is_email.ts +4 -4
  562. package/src/functional/$is_ipv4.ts +4 -4
  563. package/src/functional/$is_ipv6.ts +4 -4
  564. package/src/functional/$is_url.ts +4 -4
  565. package/src/functional/$is_uuid.ts +4 -4
  566. package/src/functional/$join.ts +46 -46
  567. package/src/functional/$number.ts +12 -12
  568. package/src/functional/$report.ts +15 -15
  569. package/src/functional/$rest.ts +3 -3
  570. package/src/functional/$string.ts +37 -37
  571. package/src/functional/$tail.ts +5 -5
  572. package/src/functional/Namespace.ts +127 -127
  573. package/src/index.ts +4 -4
  574. package/src/metadata/ICommentTag.ts +4 -4
  575. package/src/metadata/IJsDocTagInfo.ts +10 -10
  576. package/src/metadata/IMetadata.ts +27 -26
  577. package/src/metadata/IMetadataAlias.ts +12 -0
  578. package/src/metadata/IMetadataApplication.ts +7 -7
  579. package/src/metadata/IMetadataArray.ts +10 -0
  580. package/src/metadata/IMetadataCollection.ts +11 -0
  581. package/src/metadata/IMetadataConstant.ts +16 -16
  582. package/src/metadata/IMetadataDictionary.ts +14 -0
  583. package/src/metadata/IMetadataEntry.ts +6 -6
  584. package/src/metadata/IMetadataObject.ts +18 -29
  585. package/src/metadata/IMetadataProperty.ts +11 -11
  586. package/src/metadata/IMetadataTag.ts +105 -105
  587. package/src/metadata/IMetadataTuple.ts +10 -0
  588. package/src/metadata/Metadata.ts +585 -539
  589. package/src/metadata/MetadataAlias.ts +61 -0
  590. package/src/metadata/MetadataArray.ts +52 -0
  591. package/src/metadata/MetadataConstant.ts +3 -3
  592. package/src/metadata/MetadataObject.ts +114 -127
  593. package/src/metadata/MetadataProperty.ts +64 -64
  594. package/src/metadata/MetadataTuple.ts +53 -0
  595. package/src/module.ts +2038 -2038
  596. package/src/programmers/ApplicationProgrammer.ts +55 -48
  597. package/src/programmers/AssertCloneProgrammer.ts +79 -68
  598. package/src/programmers/AssertParseProgrammer.ts +74 -66
  599. package/src/programmers/AssertProgrammer.ts +291 -274
  600. package/src/programmers/AssertPruneProgrammer.ts +76 -73
  601. package/src/programmers/AssertStringifyProgrammer.ts +74 -66
  602. package/src/programmers/CheckerProgrammer.ts +1182 -897
  603. package/src/programmers/CloneProgrammer.ts +595 -387
  604. package/src/programmers/FeatureProgrammer.ts +495 -510
  605. package/src/programmers/IsCloneProgrammer.ts +86 -79
  606. package/src/programmers/IsParseProgrammer.ts +80 -72
  607. package/src/programmers/IsProgrammer.ts +250 -223
  608. package/src/programmers/IsPruneProgrammer.ts +81 -83
  609. package/src/programmers/IsStringifyProgrammer.ts +84 -77
  610. package/src/programmers/LiteralsProgrammer.ts +66 -65
  611. package/src/programmers/PruneProgrammer.ts +550 -348
  612. package/src/programmers/RandomProgrammer.ts +589 -444
  613. package/src/programmers/StringifyProgrammer.ts +990 -758
  614. package/src/programmers/TypiaProgrammer.ts +129 -141
  615. package/src/programmers/ValidateCloneProgrammer.ts +93 -93
  616. package/src/programmers/ValidateParseProgrammer.ts +78 -78
  617. package/src/programmers/ValidateProgrammer.ts +313 -317
  618. package/src/programmers/ValidatePruneProgrammer.ts +86 -86
  619. package/src/programmers/ValidateStringifyProgrammer.ts +92 -93
  620. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  621. package/src/programmers/helpers/CloneJoiner.ts +131 -138
  622. package/src/programmers/helpers/FunctionImporeter.ts +78 -56
  623. package/src/programmers/helpers/ICheckEntry.ts +12 -12
  624. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  625. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  626. package/src/programmers/helpers/PruneJoiner.ts +144 -156
  627. package/src/programmers/helpers/RandomJoiner.ts +173 -165
  628. package/src/programmers/helpers/RandomRanger.ts +216 -218
  629. package/src/programmers/helpers/StringifyJoinder.ts +113 -118
  630. package/src/programmers/helpers/StringifyPredicator.ts +12 -12
  631. package/src/programmers/helpers/UnionExplorer.ts +301 -281
  632. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  633. package/src/programmers/helpers/disable_function_importer_declare.ts +26 -21
  634. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  635. package/src/programmers/internal/application_array.ts +64 -32
  636. package/src/programmers/internal/application_boolean.ts +15 -15
  637. package/src/programmers/internal/application_constant.ts +26 -26
  638. package/src/programmers/internal/application_default.ts +17 -17
  639. package/src/programmers/internal/application_default_string.ts +33 -33
  640. package/src/programmers/internal/application_definition.ts +45 -0
  641. package/src/programmers/internal/application_native.ts +39 -36
  642. package/src/programmers/internal/application_number.ts +71 -71
  643. package/src/programmers/internal/application_object.ts +167 -162
  644. package/src/programmers/internal/application_schema.ts +164 -198
  645. package/src/programmers/internal/application_string.ts +44 -44
  646. package/src/programmers/internal/application_templates.ts +25 -25
  647. package/src/programmers/internal/application_tuple.ts +77 -27
  648. package/src/programmers/internal/check_array.ts +30 -31
  649. package/src/programmers/internal/check_array_length.ts +35 -35
  650. package/src/programmers/internal/check_bigint.ts +82 -95
  651. package/src/programmers/internal/check_custom.ts +31 -32
  652. package/src/programmers/internal/check_dynamic_properties.ts +194 -198
  653. package/src/programmers/internal/check_everything.ts +28 -28
  654. package/src/programmers/internal/check_native.ts +21 -22
  655. package/src/programmers/internal/check_number.ts +177 -177
  656. package/src/programmers/internal/check_object.ts +55 -65
  657. package/src/programmers/internal/check_string.ts +25 -27
  658. package/src/programmers/internal/check_string_tags.ts +67 -68
  659. package/src/programmers/internal/check_template.ts +56 -57
  660. package/src/programmers/internal/check_union_array_like.ts +329 -273
  661. package/src/programmers/internal/decode_union_object.ts +73 -75
  662. package/src/programmers/internal/feature_object_entries.ts +63 -64
  663. package/src/programmers/internal/get_comment_tags.ts +23 -23
  664. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  665. package/src/programmers/internal/prune_object_properties.ts +60 -63
  666. package/src/programmers/internal/random_custom.ts +29 -30
  667. package/src/programmers/internal/stringify_dynamic_properties.ts +167 -173
  668. package/src/programmers/internal/stringify_native.ts +7 -7
  669. package/src/programmers/internal/stringify_regular_properties.ts +83 -89
  670. package/src/programmers/internal/template_to_pattern.ts +15 -15
  671. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -0
  672. package/src/schemas/IJsonApplication.ts +8 -13
  673. package/src/schemas/IJsonComponents.ts +45 -33
  674. package/src/schemas/IJsonSchema.ts +134 -134
  675. package/src/transform.ts +17 -39
  676. package/src/transformers/CallExpressionTransformer.ts +179 -183
  677. package/src/transformers/FileTransformer.ts +47 -50
  678. package/src/transformers/IProject.ts +11 -18
  679. package/src/transformers/ITransformOptions.ts +62 -62
  680. package/src/transformers/ImportTransformer.ts +66 -74
  681. package/src/transformers/NodeTransformer.ts +13 -13
  682. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +104 -107
  683. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +9 -9
  684. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +9 -9
  685. package/src/transformers/features/miscellaneous/CloneTransformer.ts +9 -9
  686. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +9 -9
  687. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +9 -9
  688. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +9 -9
  689. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +9 -9
  690. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +9 -9
  691. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +9 -9
  692. package/src/transformers/features/miscellaneous/CreateRandomTransformer.ts +39 -43
  693. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +9 -9
  694. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +9 -9
  695. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +9 -9
  696. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +9 -9
  697. package/src/transformers/features/miscellaneous/LiteralsTransformer.ts +28 -31
  698. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +53 -56
  699. package/src/transformers/features/miscellaneous/PruneTransformer.ts +9 -9
  700. package/src/transformers/features/miscellaneous/RandomTransformer.ts +42 -46
  701. package/src/transformers/features/miscellaneous/ValidateCloneTransformer.ts +9 -9
  702. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +9 -9
  703. package/src/transformers/features/parsers/AssertParseTransformer.ts +9 -9
  704. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +9 -9
  705. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +9 -9
  706. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +9 -9
  707. package/src/transformers/features/parsers/IsParseTransformer.ts +9 -9
  708. package/src/transformers/features/parsers/ValidateParseTransformer.ts +9 -9
  709. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +10 -10
  710. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +12 -12
  711. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +9 -9
  712. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +9 -9
  713. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +12 -12
  714. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +9 -9
  715. package/src/transformers/features/stringifiers/StringifyTransformer.ts +9 -9
  716. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +10 -10
  717. package/src/transformers/features/validators/AssertTransformer.ts +11 -11
  718. package/src/transformers/features/validators/CreateAssertTransformer.ts +13 -13
  719. package/src/transformers/features/validators/CreateIsTransformer.ts +11 -11
  720. package/src/transformers/features/validators/CreateValidateTransformer.ts +13 -13
  721. package/src/transformers/features/validators/IsTransformer.ts +11 -11
  722. package/src/transformers/features/validators/ValidateTransformer.ts +11 -11
  723. package/src/transformers/internal/GenericTransformer.ts +97 -101
  724. package/src/typings/Atomic.ts +17 -17
  725. package/src/typings/ClassProperties.ts +5 -5
  726. package/src/typings/Customizable.ts +5 -5
  727. package/src/typings/OmitNever.ts +3 -3
  728. package/src/typings/SpecialFields.ts +3 -3
  729. package/src/typings/Writable.ts +11 -11
  730. package/src/utils/ArrayUtil.ts +45 -44
  731. package/src/utils/Escaper.ts +45 -45
  732. package/src/utils/MapUtil.ts +12 -12
  733. package/src/utils/PatternUtil.ts +30 -30
  734. package/src/utils/RandomGenerator.ts +81 -81
  735. package/src/utils/Singleton.ts +17 -17
  736. package/lib/programmers/internal/check_union_tuple.js +0 -19
  737. package/lib/programmers/internal/check_union_tuple.js.map +0 -1
  738. package/lib/utils/TsNodeUtil.d.ts +0 -5
  739. package/lib/utils/TsNodeUtil.js +0 -17
  740. package/lib/utils/TsNodeUtil.js.map +0 -1
  741. package/lib/utils/TsSymbolUtil.d.ts +0 -6
  742. package/lib/utils/TsSymbolUtil.js +0 -152
  743. package/lib/utils/TsSymbolUtil.js.map +0 -1
  744. package/lib/utils/TsTypeUtil.d.ts +0 -9
  745. package/lib/utils/TsTypeUtil.js +0 -40
  746. package/lib/utils/TsTypeUtil.js.map +0 -1
  747. package/src/programmers/internal/check_union_tuple.ts +0 -34
  748. package/src/utils/TsNodeUtil.ts +0 -17
  749. package/src/utils/TsSymbolUtil.ts +0 -153
  750. package/src/utils/TsTypeUtil.ts +0 -38
  751. /package/lib/{programmers/internal/check_union_tuple.d.ts → metadata/IMetadataDictionary.d.ts} +0 -0
@@ -37,24 +37,15 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.Metadata = void 0;
40
+ var Writable_1 = require("../typings/Writable");
40
41
  var ArrayUtil_1 = require("../utils/ArrayUtil");
42
+ var MetadataAlias_1 = require("./MetadataAlias");
43
+ var MetadataArray_1 = require("./MetadataArray");
41
44
  var MetadataObject_1 = require("./MetadataObject");
42
45
  var MetadataProperty_1 = require("./MetadataProperty");
43
- var Metadata = /** @class */ (function () {
44
- /* -----------------------------------------------------------
45
- CONSTRUCTORS
46
- ----------------------------------------------------------- */
47
- /**
48
- * @hidden
49
- */
46
+ var MetadataTuple_1 = require("./MetadataTuple");
47
+ var Metadata = (function () {
50
48
  function Metadata(props) {
51
- /**
52
- * @internal
53
- */
54
- this.name_ = undefined;
55
- /**
56
- * @internal
57
- */
58
49
  this.parent_resolved_ = false;
59
50
  this.any = props.any;
60
51
  this.required = props.required;
@@ -69,19 +60,14 @@ var Metadata = /** @class */ (function () {
69
60
  this.arrays = props.arrays;
70
61
  this.tuples = props.tuples;
71
62
  this.objects = props.objects;
63
+ this.aliases = props.aliases;
72
64
  this.natives = props.natives;
73
65
  this.sets = props.sets;
74
66
  this.maps = props.maps;
75
67
  }
76
- /**
77
- * @internal
78
- */
79
68
  Metadata.create = function (props) {
80
69
  return new Metadata(props);
81
70
  };
82
- /**
83
- * @internal
84
- */
85
71
  Metadata.initialize = function (parentResolved) {
86
72
  if (parentResolved === void 0) { parentResolved = false; }
87
73
  var meta = this.create({
@@ -97,6 +83,7 @@ var Metadata = /** @class */ (function () {
97
83
  arrays: [],
98
84
  tuples: [],
99
85
  objects: [],
86
+ aliases: [],
100
87
  rest: null,
101
88
  natives: [],
102
89
  sets: [],
@@ -119,11 +106,10 @@ var Metadata = /** @class */ (function () {
119
106
  }),
120
107
  resolved: this.resolved ? this.resolved.toJSON() : null,
121
108
  rest: this.rest ? this.rest.toJSON() : null,
122
- arrays: this.arrays.map(function (meta) { return meta.toJSON(); }),
123
- tuples: this.tuples.map(function (meta) {
124
- return meta.map(function (meta) { return meta.toJSON(); });
125
- }),
109
+ arrays: this.arrays.map(function (array) { return array.name; }),
110
+ tuples: this.tuples.map(function (tuple) { return tuple.name; }),
126
111
  objects: this.objects.map(function (obj) { return obj.name; }),
112
+ aliases: this.aliases.map(function (alias) { return alias.name; }),
127
113
  natives: this.natives.slice(),
128
114
  sets: this.sets.map(function (meta) { return meta.toJSON(); }),
129
115
  maps: this.maps.map(function (entry) { return ({
@@ -132,44 +118,86 @@ var Metadata = /** @class */ (function () {
132
118
  }); }),
133
119
  };
134
120
  };
135
- Metadata.from = function (meta, objects) {
136
- var e_1, _a, e_2, _b, _c;
137
- var dict = new Map();
121
+ Metadata.from = function (meta, collection) {
122
+ var e_1, _a, _b, e_2, _c, e_3, _d, e_4, _e;
123
+ var _this = this;
124
+ var dict = {
125
+ objects: new Map(collection.objects.map(function (obj) { return [
126
+ obj.name,
127
+ MetadataObject_1.MetadataObject._From_without_properties(obj),
128
+ ]; })),
129
+ aliases: new Map(collection.aliases.map(function (alias) { return [
130
+ alias.name,
131
+ MetadataAlias_1.MetadataAlias._From_without_value(alias),
132
+ ]; })),
133
+ arrays: new Map(collection.arrays.map(function (arr) { return [
134
+ arr.name,
135
+ MetadataArray_1.MetadataArray._From_without_value(arr),
136
+ ]; })),
137
+ tuples: new Map(collection.tuples.map(function (tpl) { return [
138
+ tpl.name,
139
+ MetadataTuple_1.MetadataTuple._From_without_elements(tpl),
140
+ ]; })),
141
+ };
138
142
  try {
139
- for (var objects_1 = __values(objects), objects_1_1 = objects_1.next(); !objects_1_1.done; objects_1_1 = objects_1.next()) {
140
- var obj = objects_1_1.value;
141
- dict.set(obj.name, MetadataObject_1.MetadataObject._From_without_properties(obj));
143
+ for (var _f = __values(collection.objects), _g = _f.next(); !_g.done; _g = _f.next()) {
144
+ var obj = _g.value;
145
+ var initialized = dict.objects.get(obj.name);
146
+ (_b = initialized.properties).push.apply(_b, __spreadArray([], __read(obj.properties.map(function (prop) {
147
+ return MetadataProperty_1.MetadataProperty._From(prop, dict);
148
+ })), false));
142
149
  }
143
150
  }
144
151
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
145
152
  finally {
146
153
  try {
147
- if (objects_1_1 && !objects_1_1.done && (_a = objects_1.return)) _a.call(objects_1);
154
+ if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
148
155
  }
149
156
  finally { if (e_1) throw e_1.error; }
150
157
  }
151
158
  try {
152
- for (var objects_2 = __values(objects), objects_2_1 = objects_2.next(); !objects_2_1.done; objects_2_1 = objects_2.next()) {
153
- var obj = objects_2_1.value;
154
- var initialized = dict.get(obj.name);
155
- (_c = initialized.properties).push.apply(_c, __spreadArray([], __read(obj.properties.map(function (prop) {
156
- return MetadataProperty_1.MetadataProperty._From(prop, dict);
157
- })), false));
159
+ for (var _h = __values(collection.aliases), _j = _h.next(); !_j.done; _j = _h.next()) {
160
+ var alias = _j.value;
161
+ (0, Writable_1.Writable)(dict.aliases.get(alias.name)).value = this._From(alias.value, dict);
158
162
  }
159
163
  }
160
164
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
161
165
  finally {
162
166
  try {
163
- if (objects_2_1 && !objects_2_1.done && (_b = objects_2.return)) _b.call(objects_2);
167
+ if (_j && !_j.done && (_c = _h.return)) _c.call(_h);
164
168
  }
165
169
  finally { if (e_2) throw e_2.error; }
166
170
  }
171
+ try {
172
+ for (var _k = __values(collection.arrays), _l = _k.next(); !_l.done; _l = _k.next()) {
173
+ var array = _l.value;
174
+ (0, Writable_1.Writable)(dict.arrays.get(array.name)).value = this._From(array.value, dict);
175
+ }
176
+ }
177
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
178
+ finally {
179
+ try {
180
+ if (_l && !_l.done && (_d = _k.return)) _d.call(_k);
181
+ }
182
+ finally { if (e_3) throw e_3.error; }
183
+ }
184
+ try {
185
+ for (var _m = __values(collection.tuples), _o = _m.next(); !_o.done; _o = _m.next()) {
186
+ var tuple = _o.value;
187
+ (0, Writable_1.Writable)(dict.tuples.get(tuple.name)).elements =
188
+ tuple.elements.map(function (elem) { return _this._From(elem, dict); });
189
+ }
190
+ }
191
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
192
+ finally {
193
+ try {
194
+ if (_o && !_o.done && (_e = _m.return)) _e.call(_m);
195
+ }
196
+ finally { if (e_4) throw e_4.error; }
197
+ }
167
198
  return this._From(meta, dict);
168
199
  };
169
- /**
170
- * @internal
171
- */
172
- Metadata._From = function (meta, objects) {
200
+ Metadata._From = function (meta, dict) {
173
201
  var _this = this;
174
202
  return this.create({
175
203
  any: meta.any,
@@ -180,33 +208,45 @@ var Metadata = /** @class */ (function () {
180
208
  constants: JSON.parse(JSON.stringify(meta.constants)),
181
209
  atomics: meta.atomics.slice(),
182
210
  templates: meta.templates.map(function (tpl) {
183
- return tpl.map(function (meta) { return _this._From(meta, objects); });
211
+ return tpl.map(function (meta) { return _this._From(meta, dict); });
212
+ }),
213
+ resolved: meta.resolved ? this._From(meta.resolved, dict) : null,
214
+ rest: meta.rest ? this._From(meta.rest, dict) : null,
215
+ arrays: meta.arrays.map(function (id) {
216
+ var array = dict.arrays.get(id);
217
+ if (array === undefined)
218
+ throw new Error("Error on Metadata.from(): failed to find array \"".concat(id, "\"."));
219
+ return array;
184
220
  }),
185
- resolved: meta.resolved ? this._From(meta.resolved, objects) : null,
186
- rest: meta.rest ? this._From(meta.rest, objects) : null,
187
- arrays: meta.arrays.map(function (meta) { return _this._From(meta, objects); }),
188
- tuples: meta.tuples.map(function (tuple) {
189
- return tuple.map(function (meta) { return _this._From(meta, objects); });
221
+ tuples: meta.tuples.map(function (id) {
222
+ var tuple = dict.tuples.get(id);
223
+ if (tuple === undefined)
224
+ throw new Error("Error on Metadata.from(): failed to find tuple \"".concat(id, "\"."));
225
+ return tuple;
190
226
  }),
191
227
  objects: meta.objects.map(function (name) {
192
- var found = objects.get(name);
228
+ var found = dict.objects.get(name);
193
229
  if (found === undefined)
194
230
  throw new Error("Error on Metadata.from(): failed to find object \"".concat(name, "\"."));
195
231
  return found;
196
232
  }),
233
+ aliases: meta.aliases.map(function (alias) {
234
+ var found = dict.aliases.get(alias);
235
+ if (found === undefined)
236
+ throw new Error("Error on Metadata.from(): failed to find alias \"".concat(alias, "\"."));
237
+ return found;
238
+ }),
197
239
  natives: meta.natives.slice(),
198
- sets: meta.sets.map(function (meta) { return _this._From(meta, objects); }),
240
+ sets: meta.sets.map(function (meta) { return _this._From(meta, dict); }),
199
241
  maps: meta.maps.map(function (entry) { return ({
200
- key: _this._From(entry.key, objects),
201
- value: _this._From(entry.value, objects),
242
+ key: _this._From(entry.key, dict),
243
+ value: _this._From(entry.value, dict),
202
244
  }); }),
203
245
  });
204
246
  };
205
- /* -----------------------------------------------------------
206
- ACCESSORS
207
- ----------------------------------------------------------- */
208
247
  Metadata.prototype.getName = function () {
209
- this.name_ || (this.name_ = getName(this));
248
+ var _a;
249
+ (_a = this.name_) !== null && _a !== void 0 ? _a : (this.name_ = getName(this));
210
250
  return this.name_;
211
251
  };
212
252
  Metadata.prototype.empty = function () {
@@ -215,18 +255,19 @@ var Metadata = /** @class */ (function () {
215
255
  Metadata.prototype.size = function () {
216
256
  return ((this.resolved ? 1 : 0) +
217
257
  (this.functional ? 1 : 0) +
258
+ (this.rest ? this.rest.size() : 0) +
218
259
  this.templates.length +
219
260
  this.atomics.length +
220
261
  this.constants
221
262
  .map(function (c) { return c.values.length; })
222
263
  .reduce(function (x, y) { return x + y; }, 0) +
223
- (this.rest ? this.rest.size() : 0) +
224
264
  this.arrays.length +
225
265
  this.tuples.length +
226
- this.objects.length +
227
266
  this.natives.length +
267
+ this.maps.length +
228
268
  this.sets.length +
229
- this.maps.length);
269
+ this.objects.length +
270
+ this.aliases.length);
230
271
  };
231
272
  Metadata.prototype.bucket = function () {
232
273
  return ((this.resolved ? 1 : 0) +
@@ -237,25 +278,20 @@ var Metadata = /** @class */ (function () {
237
278
  (this.rest ? this.rest.size() : 0) +
238
279
  (this.arrays.length ? 1 : 0) +
239
280
  (this.tuples.length ? 1 : 0) +
240
- (this.objects.length ? 1 : 0) +
241
281
  (this.natives.length ? 1 : 0) +
242
282
  (this.sets.length ? 1 : 0) +
243
- (this.maps.length ? 1 : 0));
283
+ (this.maps.length ? 1 : 0) +
284
+ (this.objects.length ? 1 : 0) +
285
+ (this.aliases.length ? 1 : 0));
244
286
  };
245
287
  Metadata.prototype.isConstant = function () {
246
288
  return this.bucket() === (this.constants.length ? 1 : 0);
247
289
  };
248
- /**
249
- * @internal
250
- */
251
290
  Metadata.prototype.isUnionBucket = function () {
252
291
  var size = this.bucket();
253
292
  var emended = this.constants.length ? size - 1 : size;
254
293
  return emended > 1;
255
294
  };
256
- /**
257
- * @internal
258
- */
259
295
  Metadata.prototype.getSoleLiteral = function () {
260
296
  if (this.size() === 1 &&
261
297
  this.constants.length === 1 &&
@@ -265,15 +301,9 @@ var Metadata = /** @class */ (function () {
265
301
  else
266
302
  return null;
267
303
  };
268
- /**
269
- * @internal
270
- */
271
304
  Metadata.prototype.isSoleLiteral = function () {
272
305
  return this.getSoleLiteral() !== null;
273
306
  };
274
- /**
275
- * @internal
276
- */
277
307
  Metadata.prototype.isParentResolved = function () {
278
308
  return this.parent_resolved_;
279
309
  };
@@ -281,136 +311,39 @@ var Metadata = /** @class */ (function () {
281
311
  }());
282
312
  exports.Metadata = Metadata;
283
313
  (function (Metadata) {
284
- Metadata.intersects = function (x, y, deep) {
285
- var e_3, _a, e_4, _b, e_5, _c, e_6, _d, e_7, _e, e_8, _f, e_9, _g, e_10, _h;
286
- // CHECK ANY & OPTIONAL
314
+ Metadata.intersects = function (x, y) {
315
+ var e_5, _a, e_6, _b;
287
316
  if (x.any || y.any)
288
317
  return true;
289
318
  if (x.required === false && false === y.required)
290
319
  return true;
291
320
  if (x.nullable === true && true === y.nullable)
292
321
  return true;
293
- //----
294
- // INSTANCES
295
- //----
296
- // ARRAYS AND OBJECTS
297
- if (deep === true) {
298
- try {
299
- for (var _j = __values(x.arrays), _k = _j.next(); !_k.done; _k = _j.next()) {
300
- var xa = _k.value;
301
- try {
302
- for (var _l = (e_4 = void 0, __values(y.arrays)), _m = _l.next(); !_m.done; _m = _l.next()) {
303
- var ya = _m.value;
304
- if (Metadata.intersects(xa, ya, deep)) {
305
- return true;
306
- }
307
- }
308
- }
309
- catch (e_4_1) { e_4 = { error: e_4_1 }; }
310
- finally {
311
- try {
312
- if (_m && !_m.done && (_b = _l.return)) _b.call(_l);
313
- }
314
- finally { if (e_4) throw e_4.error; }
315
- }
316
- }
317
- }
318
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
319
- finally {
320
- try {
321
- if (_k && !_k.done && (_a = _j.return)) _a.call(_j);
322
- }
323
- finally { if (e_3) throw e_3.error; }
324
- }
325
- try {
326
- for (var _o = __values(x.objects), _p = _o.next(); !_p.done; _p = _o.next()) {
327
- var xo = _p.value;
328
- try {
329
- for (var _q = (e_6 = void 0, __values(y.objects)), _r = _q.next(); !_r.done; _r = _q.next()) {
330
- var yo = _r.value;
331
- if (MetadataObject_1.MetadataObject.intersects(xo, yo)) {
332
- return true;
333
- }
334
- }
335
- }
336
- catch (e_6_1) { e_6 = { error: e_6_1 }; }
337
- finally {
338
- try {
339
- if (_r && !_r.done && (_d = _q.return)) _d.call(_q);
340
- }
341
- finally { if (e_6) throw e_6.error; }
342
- }
343
- }
344
- }
345
- catch (e_5_1) { e_5 = { error: e_5_1 }; }
346
- finally {
347
- try {
348
- if (_p && !_p.done && (_c = _o.return)) _c.call(_o);
349
- }
350
- finally { if (e_5) throw e_5.error; }
351
- }
352
- }
353
- else {
354
- if (x.arrays.length && y.arrays.length)
355
- return true;
356
- if (x.objects.length && y.objects.length)
357
- return true;
358
- }
359
- try {
360
- // TUPLES
361
- for (var _s = __values(x.tuples), _t = _s.next(); !_t.done; _t = _s.next()) {
362
- var xt = _t.value;
363
- var _loop_1 = function (yt) {
364
- if (xt.length === 0 || yt.length === 0)
365
- return { value: xt.length === 0 && yt.length === 0 };
366
- else if (xt
367
- .slice(0, Math.min(xt.length, yt.length))
368
- .some(function (xv, i) { return Metadata.intersects(xv, yt[i], deep); }))
369
- return { value: true };
370
- };
371
- try {
372
- for (var _u = (e_8 = void 0, __values(y.tuples)), _v = _u.next(); !_v.done; _v = _u.next()) {
373
- var yt = _v.value;
374
- var state_1 = _loop_1(yt);
375
- if (typeof state_1 === "object")
376
- return state_1.value;
377
- }
378
- }
379
- catch (e_8_1) { e_8 = { error: e_8_1 }; }
380
- finally {
381
- try {
382
- if (_v && !_v.done && (_f = _u.return)) _f.call(_u);
383
- }
384
- finally { if (e_8) throw e_8.error; }
385
- }
386
- }
387
- }
388
- catch (e_7_1) { e_7 = { error: e_7_1 }; }
389
- finally {
390
- try {
391
- if (_t && !_t.done && (_e = _s.return)) _e.call(_s);
392
- }
393
- finally { if (e_7) throw e_7.error; }
394
- }
322
+ if (x.functional === true && y.functional === true)
323
+ return true;
324
+ if (x.arrays.length && y.arrays.length)
325
+ return true;
326
+ if (x.tuples.length && y.tuples.length)
327
+ return true;
328
+ if (x.objects.length && y.objects.length)
329
+ return true;
330
+ if (x.aliases.length && y.aliases.length)
331
+ return true;
395
332
  try {
396
- //----
397
- // VALUES
398
- //----
399
- // ATOMICS
400
- for (var _w = __values(x.atomics), _x = _w.next(); !_x.done; _x = _w.next()) {
401
- var atomic = _x.value;
333
+ for (var _c = __values(x.atomics), _d = _c.next(); !_d.done; _d = _c.next()) {
334
+ var atomic = _d.value;
402
335
  if (y.atomics.includes(atomic))
403
336
  return true;
404
337
  }
405
338
  }
406
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
339
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
407
340
  finally {
408
341
  try {
409
- if (_x && !_x.done && (_g = _w.return)) _g.call(_w);
342
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
410
343
  }
411
- finally { if (e_9) throw e_9.error; }
344
+ finally { if (e_5) throw e_5.error; }
412
345
  }
413
- var _loop_2 = function (constant) {
346
+ var _loop_1 = function (constant) {
414
347
  var opposite = y.constants.find(function (elem) { return elem.type === constant.type; });
415
348
  if (opposite === undefined)
416
349
  return "continue";
@@ -419,130 +352,161 @@ exports.Metadata = Metadata;
419
352
  return { value: true };
420
353
  };
421
354
  try {
422
- // CONSTANTS
423
- for (var _y = __values(x.constants), _z = _y.next(); !_z.done; _z = _y.next()) {
424
- var constant = _z.value;
425
- var state_2 = _loop_2(constant);
426
- if (typeof state_2 === "object")
427
- return state_2.value;
355
+ for (var _e = __values(x.constants), _f = _e.next(); !_f.done; _f = _e.next()) {
356
+ var constant = _f.value;
357
+ var state_1 = _loop_1(constant);
358
+ if (typeof state_1 === "object")
359
+ return state_1.value;
428
360
  }
429
361
  }
430
- catch (e_10_1) { e_10 = { error: e_10_1 }; }
362
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
431
363
  finally {
432
364
  try {
433
- if (_z && !_z.done && (_h = _y.return)) _h.call(_y);
365
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
434
366
  }
435
- finally { if (e_10) throw e_10.error; }
367
+ finally { if (e_6) throw e_6.error; }
436
368
  }
437
- // FUNCTIONAL
438
- if (x.functional === true && y.functional === true)
439
- return true;
440
369
  return false;
441
370
  };
442
- Metadata.covers = function (x, y) {
443
- var e_11, _a, e_12, _b, e_13, _c, e_14, _d, e_15, _e;
444
- // CHECK ANY
445
- if (x.any)
371
+ Metadata.covers = function (x, y, level) {
372
+ var e_7, _a, e_8, _b, e_9, _c, e_10, _d, e_11, _e, e_12, _f, e_13, _g;
373
+ if (level === void 0) { level = 0; }
374
+ if (x === y)
375
+ return false;
376
+ else if (x.any)
446
377
  return true;
447
378
  else if (y.any)
448
379
  return false;
449
- var _loop_3 = function (ya) {
450
- if (x.arrays.some(function (xa) { return Metadata.covers(xa, ya) === true; }) === false)
451
- return { value: false };
452
- };
453
- try {
454
- //----
455
- // INSTANCES
456
- //----
457
- // ARRAYS
458
- for (var _f = __values(y.arrays), _g = _f.next(); !_g.done; _g = _f.next()) {
459
- var ya = _g.value;
460
- var state_3 = _loop_3(ya);
461
- if (typeof state_3 === "object")
462
- return state_3.value;
380
+ if (level === 0) {
381
+ var _loop_2 = function (ya) {
382
+ if (!x.arrays.some(function (xa) {
383
+ return Metadata.covers(xa.value, ya.value, level + 1);
384
+ })) {
385
+ return { value: false };
386
+ }
387
+ };
388
+ try {
389
+ for (var _h = __values(y.arrays), _j = _h.next(); !_j.done; _j = _h.next()) {
390
+ var ya = _j.value;
391
+ var state_2 = _loop_2(ya);
392
+ if (typeof state_2 === "object")
393
+ return state_2.value;
394
+ }
463
395
  }
464
- }
465
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
466
- finally {
396
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
397
+ finally {
398
+ try {
399
+ if (_j && !_j.done && (_a = _h.return)) _a.call(_h);
400
+ }
401
+ finally { if (e_7) throw e_7.error; }
402
+ }
403
+ var _loop_3 = function (yt) {
404
+ if (yt.elements.length !== 0 &&
405
+ x.tuples.some(function (xt) {
406
+ return xt.elements.length >= yt.elements.length &&
407
+ xt.elements
408
+ .slice(yt.elements.length)
409
+ .every(function (xv, i) {
410
+ return Metadata.covers(xv, yt.elements[i], level + 1);
411
+ });
412
+ }) === false)
413
+ return { value: false };
414
+ };
467
415
  try {
468
- if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
416
+ for (var _k = __values(y.tuples), _l = _k.next(); !_l.done; _l = _k.next()) {
417
+ var yt = _l.value;
418
+ var state_3 = _loop_3(yt);
419
+ if (typeof state_3 === "object")
420
+ return state_3.value;
421
+ }
422
+ }
423
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
424
+ finally {
425
+ try {
426
+ if (_l && !_l.done && (_b = _k.return)) _b.call(_k);
427
+ }
428
+ finally { if (e_8) throw e_8.error; }
469
429
  }
470
- finally { if (e_11) throw e_11.error; }
471
430
  }
472
431
  var _loop_4 = function (yo) {
473
432
  if (x.objects.some(function (xo) { return MetadataObject_1.MetadataObject.covers(xo, yo); }) === false)
474
433
  return { value: false };
475
434
  };
476
435
  try {
477
- // OBJECTS
478
- for (var _h = __values(y.objects), _j = _h.next(); !_j.done; _j = _h.next()) {
479
- var yo = _j.value;
436
+ for (var _m = __values(y.objects), _o = _m.next(); !_o.done; _o = _m.next()) {
437
+ var yo = _o.value;
480
438
  var state_4 = _loop_4(yo);
481
439
  if (typeof state_4 === "object")
482
440
  return state_4.value;
483
441
  }
484
442
  }
485
- catch (e_12_1) { e_12 = { error: e_12_1 }; }
443
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
486
444
  finally {
487
445
  try {
488
- if (_j && !_j.done && (_b = _h.return)) _b.call(_h);
446
+ if (_o && !_o.done && (_c = _m.return)) _c.call(_m);
489
447
  }
490
- finally { if (e_12) throw e_12.error; }
448
+ finally { if (e_9) throw e_9.error; }
491
449
  }
492
- var _loop_5 = function (yt) {
493
- if (yt.length !== 0 &&
494
- x.tuples.some(function (xt) {
495
- return xt.length >= yt.length &&
496
- xt
497
- .slice(yt.length)
498
- .every(function (xv, i) { return Metadata.covers(xv, yt[i]); });
499
- }) === false)
450
+ var _loop_5 = function (yd) {
451
+ if (x.aliases.some(function (xd) { return xd.name === yd.name; }) === false)
500
452
  return { value: false };
501
453
  };
502
454
  try {
503
- // TUPLES
504
- for (var _k = __values(y.tuples), _l = _k.next(); !_l.done; _l = _k.next()) {
505
- var yt = _l.value;
506
- var state_5 = _loop_5(yt);
455
+ for (var _p = __values(y.aliases), _q = _p.next(); !_q.done; _q = _p.next()) {
456
+ var yd = _q.value;
457
+ var state_5 = _loop_5(yd);
507
458
  if (typeof state_5 === "object")
508
459
  return state_5.value;
509
460
  }
510
461
  }
511
- catch (e_13_1) { e_13 = { error: e_13_1 }; }
462
+ catch (e_10_1) { e_10 = { error: e_10_1 }; }
512
463
  finally {
513
464
  try {
514
- if (_l && !_l.done && (_c = _k.return)) _c.call(_k);
465
+ if (_q && !_q.done && (_d = _p.return)) _d.call(_p);
515
466
  }
516
- finally { if (e_13) throw e_13.error; }
467
+ finally { if (e_10) throw e_10.error; }
517
468
  }
518
- var _loop_6 = function (ys) {
519
- if (x.sets.some(function (xs) { return Metadata.covers(xs, ys); }) === false)
469
+ var _loop_6 = function (yn) {
470
+ if (x.natives.some(function (xn) { return xn === yn; }) === false)
520
471
  return { value: false };
521
472
  };
522
473
  try {
523
- // NATIVES
524
- // SETS
525
- for (var _m = __values(y.sets), _o = _m.next(); !_o.done; _o = _m.next()) {
526
- var ys = _o.value;
527
- var state_6 = _loop_6(ys);
474
+ for (var _r = __values(y.natives), _s = _r.next(); !_s.done; _s = _r.next()) {
475
+ var yn = _s.value;
476
+ var state_6 = _loop_6(yn);
528
477
  if (typeof state_6 === "object")
529
478
  return state_6.value;
530
479
  }
531
480
  }
532
- catch (e_14_1) { e_14 = { error: e_14_1 }; }
481
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
533
482
  finally {
534
483
  try {
535
- if (_o && !_o.done && (_d = _m.return)) _d.call(_m);
484
+ if (_s && !_s.done && (_e = _r.return)) _e.call(_r);
536
485
  }
537
- finally { if (e_14) throw e_14.error; }
486
+ finally { if (e_11) throw e_11.error; }
487
+ }
488
+ var _loop_7 = function (ys) {
489
+ if (x.sets.some(function (xs) { return Metadata.covers(xs, ys); }) === false)
490
+ return { value: false };
491
+ };
492
+ try {
493
+ for (var _t = __values(y.sets), _u = _t.next(); !_u.done; _u = _t.next()) {
494
+ var ys = _u.value;
495
+ var state_7 = _loop_7(ys);
496
+ if (typeof state_7 === "object")
497
+ return state_7.value;
498
+ }
499
+ }
500
+ catch (e_12_1) { e_12 = { error: e_12_1 }; }
501
+ finally {
502
+ try {
503
+ if (_u && !_u.done && (_f = _t.return)) _f.call(_t);
504
+ }
505
+ finally { if (e_12) throw e_12.error; }
538
506
  }
539
- //----
540
- // VALUES
541
- //----
542
- // ATOMICS
543
507
  if (y.atomics.some(function (atomic) { return x.atomics.includes(atomic) === false; }))
544
508
  return false;
545
- var _loop_7 = function (yc) {
509
+ var _loop_8 = function (yc) {
546
510
  var xc = x.constants.find(function (elem) { return elem.type === yc.type; });
547
511
  if (xc === undefined)
548
512
  return { value: false };
@@ -550,30 +514,27 @@ exports.Metadata = Metadata;
550
514
  return { value: false };
551
515
  };
552
516
  try {
553
- // CONSTANTS
554
- for (var _p = __values(y.constants), _q = _p.next(); !_q.done; _q = _p.next()) {
555
- var yc = _q.value;
556
- var state_7 = _loop_7(yc);
557
- if (typeof state_7 === "object")
558
- return state_7.value;
517
+ for (var _v = __values(y.constants), _w = _v.next(); !_w.done; _w = _v.next()) {
518
+ var yc = _w.value;
519
+ var state_8 = _loop_8(yc);
520
+ if (typeof state_8 === "object")
521
+ return state_8.value;
559
522
  }
560
523
  }
561
- catch (e_15_1) { e_15 = { error: e_15_1 }; }
524
+ catch (e_13_1) { e_13 = { error: e_13_1 }; }
562
525
  finally {
563
526
  try {
564
- if (_q && !_q.done && (_e = _p.return)) _e.call(_p);
527
+ if (_w && !_w.done && (_g = _v.return)) _g.call(_v);
565
528
  }
566
- finally { if (e_15) throw e_15.error; }
529
+ finally { if (e_13) throw e_13.error; }
567
530
  }
568
- // FUNCTIONAL
569
531
  if (x.functional === false && y.functional)
570
532
  return false;
571
- // SUCCESS
572
533
  return true;
573
534
  };
574
535
  Metadata.merge = function (x, y) {
575
- var e_16, _a, e_17, _b, e_18, _c;
576
- var _d;
536
+ var e_14, _a, e_15, _b, e_16, _c, e_17, _d, e_18, _e;
537
+ var _f;
577
538
  var output = Metadata.create({
578
539
  any: x.any || y.any,
579
540
  nullable: x.nullable || y.nullable,
@@ -588,117 +549,139 @@ exports.Metadata = Metadata;
588
549
  templates: x.templates.slice(),
589
550
  rest: x.rest !== null && y.rest !== null
590
551
  ? Metadata.merge(x.rest, y.rest)
591
- : (_d = x.rest) !== null && _d !== void 0 ? _d : y.rest,
552
+ : (_f = x.rest) !== null && _f !== void 0 ? _f : y.rest,
592
553
  arrays: x.arrays.slice(),
593
554
  tuples: x.tuples.slice(),
594
555
  objects: x.objects.slice(),
556
+ aliases: x.aliases.slice(),
595
557
  natives: __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(x.natives), false), __read(y.natives), false))), false),
596
558
  sets: x.sets.slice(),
597
559
  maps: x.maps.slice(),
598
560
  });
599
- var _loop_8 = function (constant) {
600
- var e_19, _l;
561
+ var _loop_9 = function (constant) {
562
+ var e_19, _s;
601
563
  var target = ArrayUtil_1.ArrayUtil.take(output.constants, function (elem) { return elem.type === constant.type; }, function () { return ({
602
564
  type: constant.type,
603
565
  values: [],
604
566
  }); });
605
567
  try {
606
- for (var _m = (e_19 = void 0, __values(constant.values)), _o = _m.next(); !_o.done; _o = _m.next()) {
607
- var value = _o.value;
568
+ for (var _t = (e_19 = void 0, __values(constant.values)), _u = _t.next(); !_u.done; _u = _t.next()) {
569
+ var value = _u.value;
608
570
  ArrayUtil_1.ArrayUtil.add(target.values, value);
609
571
  }
610
572
  }
611
573
  catch (e_19_1) { e_19 = { error: e_19_1 }; }
612
574
  finally {
613
575
  try {
614
- if (_o && !_o.done && (_l = _m.return)) _l.call(_m);
576
+ if (_u && !_u.done && (_s = _t.return)) _s.call(_t);
615
577
  }
616
578
  finally { if (e_19) throw e_19.error; }
617
579
  }
618
580
  };
619
581
  try {
620
- for (var _e = __values(y.constants), _f = _e.next(); !_f.done; _f = _e.next()) {
621
- var constant = _f.value;
622
- _loop_8(constant);
582
+ for (var _g = __values(y.constants), _h = _g.next(); !_h.done; _h = _g.next()) {
583
+ var constant = _h.value;
584
+ _loop_9(constant);
585
+ }
586
+ }
587
+ catch (e_14_1) { e_14 = { error: e_14_1 }; }
588
+ finally {
589
+ try {
590
+ if (_h && !_h.done && (_a = _g.return)) _a.call(_g);
591
+ }
592
+ finally { if (e_14) throw e_14.error; }
593
+ }
594
+ try {
595
+ for (var _j = __values(y.arrays), _k = _j.next(); !_k.done; _k = _j.next()) {
596
+ var array = _k.value;
597
+ ArrayUtil_1.ArrayUtil.set(output.arrays, array, function (elem) { return elem.name; });
598
+ }
599
+ }
600
+ catch (e_15_1) { e_15 = { error: e_15_1 }; }
601
+ finally {
602
+ try {
603
+ if (_k && !_k.done && (_b = _j.return)) _b.call(_j);
604
+ }
605
+ finally { if (e_15) throw e_15.error; }
606
+ }
607
+ try {
608
+ for (var _l = __values(y.tuples), _m = _l.next(); !_m.done; _m = _l.next()) {
609
+ var tuple = _m.value;
610
+ ArrayUtil_1.ArrayUtil.set(output.tuples, tuple, function (elem) { return elem.name; });
623
611
  }
624
612
  }
625
613
  catch (e_16_1) { e_16 = { error: e_16_1 }; }
626
614
  finally {
627
615
  try {
628
- if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
616
+ if (_m && !_m.done && (_c = _l.return)) _c.call(_l);
629
617
  }
630
618
  finally { if (e_16) throw e_16.error; }
631
619
  }
632
620
  try {
633
- for (var _g = __values(y.arrays), _h = _g.next(); !_h.done; _h = _g.next()) {
634
- var array = _h.value;
635
- ArrayUtil_1.ArrayUtil.set(output.arrays, array, function (elem) { return elem.getName(); });
621
+ for (var _o = __values(y.objects), _p = _o.next(); !_p.done; _p = _o.next()) {
622
+ var obj = _p.value;
623
+ ArrayUtil_1.ArrayUtil.set(output.objects, obj, function (elem) { return elem.name; });
636
624
  }
637
625
  }
638
626
  catch (e_17_1) { e_17 = { error: e_17_1 }; }
639
627
  finally {
640
628
  try {
641
- if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
629
+ if (_p && !_p.done && (_d = _o.return)) _d.call(_o);
642
630
  }
643
631
  finally { if (e_17) throw e_17.error; }
644
632
  }
645
633
  try {
646
- for (var _j = __values(y.objects), _k = _j.next(); !_k.done; _k = _j.next()) {
647
- var obj = _k.value;
648
- ArrayUtil_1.ArrayUtil.set(output.objects, obj, function (elem) { return elem.name; });
634
+ for (var _q = __values(y.aliases), _r = _q.next(); !_r.done; _r = _q.next()) {
635
+ var alias = _r.value;
636
+ ArrayUtil_1.ArrayUtil.set(output.aliases, alias, function (elem) { return elem.name; });
649
637
  }
650
638
  }
651
639
  catch (e_18_1) { e_18 = { error: e_18_1 }; }
652
640
  finally {
653
641
  try {
654
- if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
642
+ if (_r && !_r.done && (_e = _q.return)) _e.call(_q);
655
643
  }
656
644
  finally { if (e_18) throw e_18.error; }
657
645
  }
658
- if (x.rest !== null)
659
- ArrayUtil_1.ArrayUtil.set(output.arrays, x.rest, function (elem) { return elem.getName(); });
660
- if (y.rest !== null)
661
- ArrayUtil_1.ArrayUtil.set(output.arrays, y.rest, function (elem) { return elem.getName(); });
662
646
  return output;
663
647
  };
664
- })(Metadata || (exports.Metadata = Metadata = {}));
648
+ })(Metadata = exports.Metadata || (exports.Metadata = {}));
649
+ exports.Metadata = Metadata;
665
650
  var getName = function (metadata) {
666
- var e_20, _a, e_21, _b, e_22, _c, e_23, _d, e_24, _e, e_25, _f, e_26, _g, e_27, _h, e_28, _j, e_29, _k;
651
+ var e_20, _a, e_21, _b, e_22, _c, e_23, _d, e_24, _e, e_25, _f, e_26, _g, e_27, _h, e_28, _j, e_29, _k, e_30, _l;
667
652
  if (metadata.any === true)
668
653
  return "any";
669
654
  var elements = [];
670
- // OPTIONAL
671
655
  if (metadata.nullable === true)
672
656
  elements.push("null");
673
657
  if (metadata.required === false)
674
658
  elements.push("undefined");
675
659
  try {
676
- // ATOMIC
677
- for (var _l = __values(metadata.atomics), _m = _l.next(); !_m.done; _m = _l.next()) {
678
- var type = _m.value;
660
+ for (var _m = __values(metadata.atomics), _o = _m.next(); !_o.done; _o = _m.next()) {
661
+ var type = _o.value;
679
662
  elements.push(type);
680
663
  }
681
664
  }
682
665
  catch (e_20_1) { e_20 = { error: e_20_1 }; }
683
666
  finally {
684
667
  try {
685
- if (_m && !_m.done && (_a = _l.return)) _a.call(_l);
668
+ if (_o && !_o.done && (_a = _m.return)) _a.call(_m);
686
669
  }
687
670
  finally { if (e_20) throw e_20.error; }
688
671
  }
689
672
  try {
690
- for (var _o = __values(metadata.constants), _p = _o.next(); !_p.done; _p = _o.next()) {
691
- var constant = _p.value;
673
+ for (var _p = __values(metadata.constants), _q = _p.next(); !_q.done; _q = _p.next()) {
674
+ var constant = _q.value;
692
675
  try {
693
- for (var _q = (e_22 = void 0, __values(constant.values)), _r = _q.next(); !_r.done; _r = _q.next()) {
694
- var value = _r.value;
676
+ for (var _r = (e_22 = void 0, __values(constant.values)), _s = _r.next(); !_s.done; _s = _r.next()) {
677
+ var value = _s.value;
695
678
  elements.push(JSON.stringify(value));
696
679
  }
697
680
  }
698
681
  catch (e_22_1) { e_22 = { error: e_22_1 }; }
699
682
  finally {
700
683
  try {
701
- if (_r && !_r.done && (_c = _q.return)) _c.call(_q);
684
+ if (_s && !_s.done && (_c = _r.return)) _c.call(_r);
702
685
  }
703
686
  finally { if (e_22) throw e_22.error; }
704
687
  }
@@ -707,13 +690,13 @@ var getName = function (metadata) {
707
690
  catch (e_21_1) { e_21 = { error: e_21_1 }; }
708
691
  finally {
709
692
  try {
710
- if (_p && !_p.done && (_b = _o.return)) _b.call(_o);
693
+ if (_q && !_q.done && (_b = _p.return)) _b.call(_p);
711
694
  }
712
695
  finally { if (e_21) throw e_21.error; }
713
696
  }
714
697
  try {
715
- for (var _s = __values(metadata.templates), _t = _s.next(); !_t.done; _t = _s.next()) {
716
- var template = _t.value;
698
+ for (var _t = __values(metadata.templates), _u = _t.next(); !_u.done; _u = _t.next()) {
699
+ var template = _u.value;
717
700
  elements.push("`" +
718
701
  template
719
702
  .map(function (child) {
@@ -730,96 +713,105 @@ var getName = function (metadata) {
730
713
  catch (e_23_1) { e_23 = { error: e_23_1 }; }
731
714
  finally {
732
715
  try {
733
- if (_t && !_t.done && (_d = _s.return)) _d.call(_s);
716
+ if (_u && !_u.done && (_d = _t.return)) _d.call(_t);
734
717
  }
735
718
  finally { if (e_23) throw e_23.error; }
736
719
  }
737
720
  try {
738
- // NATIVES
739
- for (var _u = __values(metadata.natives), _v = _u.next(); !_v.done; _v = _u.next()) {
740
- var native = _v.value;
721
+ for (var _v = __values(metadata.natives), _w = _v.next(); !_w.done; _w = _v.next()) {
722
+ var native = _w.value;
741
723
  elements.push(native);
742
724
  }
743
725
  }
744
726
  catch (e_24_1) { e_24 = { error: e_24_1 }; }
745
727
  finally {
746
728
  try {
747
- if (_v && !_v.done && (_e = _u.return)) _e.call(_u);
729
+ if (_w && !_w.done && (_e = _v.return)) _e.call(_v);
748
730
  }
749
731
  finally { if (e_24) throw e_24.error; }
750
732
  }
751
733
  try {
752
- for (var _w = __values(metadata.sets), _x = _w.next(); !_x.done; _x = _w.next()) {
753
- var set = _x.value;
734
+ for (var _x = __values(metadata.sets), _y = _x.next(); !_y.done; _y = _x.next()) {
735
+ var set = _y.value;
754
736
  elements.push("Set<".concat(set.getName(), ">"));
755
737
  }
756
738
  }
757
739
  catch (e_25_1) { e_25 = { error: e_25_1 }; }
758
740
  finally {
759
741
  try {
760
- if (_x && !_x.done && (_f = _w.return)) _f.call(_w);
742
+ if (_y && !_y.done && (_f = _x.return)) _f.call(_x);
761
743
  }
762
744
  finally { if (e_25) throw e_25.error; }
763
745
  }
764
746
  try {
765
- for (var _y = __values(metadata.maps), _z = _y.next(); !_z.done; _z = _y.next()) {
766
- var map = _z.value;
747
+ for (var _z = __values(metadata.maps), _0 = _z.next(); !_0.done; _0 = _z.next()) {
748
+ var map = _0.value;
767
749
  elements.push("Map<".concat(map.key.getName(), ", ").concat(map.value.getName(), ">"));
768
750
  }
769
751
  }
770
752
  catch (e_26_1) { e_26 = { error: e_26_1 }; }
771
753
  finally {
772
754
  try {
773
- if (_z && !_z.done && (_g = _y.return)) _g.call(_y);
755
+ if (_0 && !_0.done && (_g = _z.return)) _g.call(_z);
774
756
  }
775
757
  finally { if (e_26) throw e_26.error; }
776
758
  }
777
- // ARRAY
778
759
  if (metadata.rest !== null)
779
760
  elements.push("...".concat(metadata.rest.getName()));
780
761
  try {
781
- for (var _0 = __values(metadata.tuples), _1 = _0.next(); !_1.done; _1 = _0.next()) {
782
- var tuple = _1.value;
783
- elements.push("[".concat(tuple.map(function (elem) { return elem.getName(); }).join(", "), "]"));
762
+ for (var _1 = __values(metadata.tuples), _2 = _1.next(); !_2.done; _2 = _1.next()) {
763
+ var tuple = _2.value;
764
+ elements.push(tuple.name);
784
765
  }
785
766
  }
786
767
  catch (e_27_1) { e_27 = { error: e_27_1 }; }
787
768
  finally {
788
769
  try {
789
- if (_1 && !_1.done && (_h = _0.return)) _h.call(_0);
770
+ if (_2 && !_2.done && (_h = _1.return)) _h.call(_1);
790
771
  }
791
772
  finally { if (e_27) throw e_27.error; }
792
773
  }
793
774
  try {
794
- for (var _2 = __values(metadata.arrays), _3 = _2.next(); !_3.done; _3 = _2.next()) {
795
- var array = _3.value;
796
- elements.push("Array<".concat(array.getName(), ">"));
775
+ for (var _3 = __values(metadata.arrays), _4 = _3.next(); !_4.done; _4 = _3.next()) {
776
+ var array = _4.value;
777
+ elements.push(array.name);
797
778
  }
798
779
  }
799
780
  catch (e_28_1) { e_28 = { error: e_28_1 }; }
800
781
  finally {
801
782
  try {
802
- if (_3 && !_3.done && (_j = _2.return)) _j.call(_2);
783
+ if (_4 && !_4.done && (_j = _3.return)) _j.call(_3);
803
784
  }
804
785
  finally { if (e_28) throw e_28.error; }
805
786
  }
806
787
  try {
807
- // OBJECT
808
- for (var _4 = __values(metadata.objects), _5 = _4.next(); !_5.done; _5 = _4.next()) {
809
- var object = _5.value;
788
+ for (var _5 = __values(metadata.objects), _6 = _5.next(); !_6.done; _6 = _5.next()) {
789
+ var object = _6.value;
810
790
  elements.push(object.name);
811
791
  }
812
792
  }
813
793
  catch (e_29_1) { e_29 = { error: e_29_1 }; }
814
794
  finally {
815
795
  try {
816
- if (_5 && !_5.done && (_k = _4.return)) _k.call(_4);
796
+ if (_6 && !_6.done && (_k = _5.return)) _k.call(_5);
817
797
  }
818
798
  finally { if (e_29) throw e_29.error; }
819
799
  }
800
+ try {
801
+ for (var _7 = __values(metadata.aliases), _8 = _7.next(); !_8.done; _8 = _7.next()) {
802
+ var alias = _8.value;
803
+ elements.push(alias.name);
804
+ }
805
+ }
806
+ catch (e_30_1) { e_30 = { error: e_30_1 }; }
807
+ finally {
808
+ try {
809
+ if (_8 && !_8.done && (_l = _7.return)) _l.call(_7);
810
+ }
811
+ finally { if (e_30) throw e_30.error; }
812
+ }
820
813
  if (metadata.resolved !== null)
821
814
  elements.push(metadata.resolved.getName());
822
- // RETURNS
823
815
  if (elements.length === 0)
824
816
  return "unknown";
825
817
  else if (elements.length === 1)