typia 5.0.0-dev.2023084 → 5.0.0

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 (584) hide show
  1. package/README.md +1 -2
  2. package/lib/IRandomGenerator.d.ts +4 -3
  3. package/lib/Resolved.d.ts +1 -1
  4. package/lib/executable/TypiaGenerateWizard.js +1 -1
  5. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  6. package/lib/executable/TypiaSetupWizard.js +1 -1
  7. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  8. package/lib/executable/setup/PackageManager.js +1 -1
  9. package/lib/executable/setup/PackageManager.js.map +1 -1
  10. package/lib/executable/setup/PluginConfigurator.js +2 -2
  11. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  12. package/lib/factories/ExpressionFactory.d.ts +3 -1
  13. package/lib/factories/ExpressionFactory.js +25 -1
  14. package/lib/factories/ExpressionFactory.js.map +1 -1
  15. package/lib/factories/IdentifierFactory.d.ts +2 -1
  16. package/lib/factories/IdentifierFactory.js +11 -0
  17. package/lib/factories/IdentifierFactory.js.map +1 -1
  18. package/lib/factories/JsonMetadataFactory.d.ts +7 -0
  19. package/lib/factories/JsonMetadataFactory.js +38 -0
  20. package/lib/factories/JsonMetadataFactory.js.map +1 -0
  21. package/lib/factories/LiteralFactory.js +6 -2
  22. package/lib/factories/LiteralFactory.js.map +1 -1
  23. package/lib/factories/MetadataCollection.d.ts +7 -7
  24. package/lib/factories/MetadataCollection.js +4 -6
  25. package/lib/factories/MetadataCollection.js.map +1 -1
  26. package/lib/factories/MetadataCommentTagFactory.js +543 -0
  27. package/lib/factories/MetadataCommentTagFactory.js.map +1 -0
  28. package/lib/factories/MetadataFactory.d.ts +22 -2
  29. package/lib/factories/MetadataFactory.js +248 -17
  30. package/lib/factories/MetadataFactory.js.map +1 -1
  31. package/lib/factories/MetadataTypeTagFactory.d.ts +7 -0
  32. package/lib/factories/MetadataTypeTagFactory.js +280 -0
  33. package/lib/factories/MetadataTypeTagFactory.js.map +1 -0
  34. package/lib/factories/NumericRangeFactory.d.ts +6 -0
  35. package/lib/factories/NumericRangeFactory.js +34 -0
  36. package/lib/factories/NumericRangeFactory.js.map +1 -0
  37. package/lib/factories/ProtobufFactory.js +137 -91
  38. package/lib/factories/ProtobufFactory.js.map +1 -1
  39. package/lib/factories/TypeFactory.d.ts +0 -1
  40. package/lib/factories/TypeFactory.js +0 -5
  41. package/lib/factories/TypeFactory.js.map +1 -1
  42. package/lib/factories/internal/metadata/emend_metadata_atomics.js +7 -1
  43. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  44. package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +1 -1
  45. package/lib/factories/internal/metadata/emplace_metadata_alias.js +20 -19
  46. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  47. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.ts +5 -0
  48. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +51 -0
  49. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -0
  50. package/lib/factories/internal/metadata/emplace_metadata_object.d.ts +1 -1
  51. package/lib/factories/internal/metadata/emplace_metadata_object.js +100 -85
  52. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  53. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +2 -2
  54. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +34 -21
  55. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  56. package/lib/factories/internal/metadata/explore_metadata.d.ts +1 -1
  57. package/lib/factories/internal/metadata/explore_metadata.js +12 -12
  58. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  59. package/lib/factories/internal/metadata/iterate_metadata.d.ts +1 -1
  60. package/lib/factories/internal/metadata/iterate_metadata.js +39 -19
  61. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  62. package/lib/factories/internal/metadata/iterate_metadata_alias.d.ts +1 -1
  63. package/lib/factories/internal/metadata/iterate_metadata_alias.js +12 -10
  64. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  65. package/lib/factories/internal/metadata/iterate_metadata_array.d.ts +1 -1
  66. package/lib/factories/internal/metadata/iterate_metadata_array.js +13 -7
  67. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  68. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +2 -1
  69. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  70. package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +2 -1
  71. package/lib/factories/internal/metadata/iterate_metadata_collection.js +66 -56
  72. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  73. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +3 -0
  74. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +45 -0
  75. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -0
  76. package/lib/factories/internal/metadata/iterate_metadata_intersection.d.ts +1 -1
  77. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +175 -41
  78. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  79. package/lib/factories/internal/metadata/iterate_metadata_map.d.ts +1 -1
  80. package/lib/factories/internal/metadata/iterate_metadata_map.js +28 -15
  81. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  82. package/lib/factories/internal/metadata/iterate_metadata_object.d.ts +1 -1
  83. package/lib/factories/internal/metadata/iterate_metadata_object.js +16 -21
  84. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  85. package/lib/factories/internal/metadata/iterate_metadata_resolve.d.ts +1 -1
  86. package/lib/factories/internal/metadata/iterate_metadata_resolve.js +28 -15
  87. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
  88. package/lib/factories/internal/metadata/iterate_metadata_set.d.ts +1 -1
  89. package/lib/factories/internal/metadata/iterate_metadata_set.js +24 -11
  90. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  91. package/lib/factories/internal/metadata/iterate_metadata_sort.js +2 -2
  92. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  93. package/lib/factories/internal/metadata/iterate_metadata_template.d.ts +1 -1
  94. package/lib/factories/internal/metadata/iterate_metadata_template.js +28 -15
  95. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  96. package/lib/factories/internal/metadata/iterate_metadata_tuple.d.ts +1 -1
  97. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +12 -6
  98. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  99. package/lib/factories/internal/metadata/iterate_metadata_union.d.ts +1 -1
  100. package/lib/factories/internal/metadata/iterate_metadata_union.js +20 -7
  101. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  102. package/lib/functional/$any.js +2 -1
  103. package/lib/functional/$any.js.map +1 -1
  104. package/lib/functional/$clone.d.ts +2 -0
  105. package/lib/functional/$clone.js +8 -0
  106. package/lib/functional/$clone.js.map +1 -0
  107. package/lib/functional/Namespace.js +0 -16
  108. package/lib/functional/Namespace.js.map +1 -1
  109. package/lib/module.d.ts +2 -39
  110. package/lib/module.js +3 -17
  111. package/lib/module.js.map +1 -1
  112. package/lib/programmers/AssertProgrammer.js +28 -10
  113. package/lib/programmers/AssertProgrammer.js.map +1 -1
  114. package/lib/programmers/CheckerProgrammer.js +97 -70
  115. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  116. package/lib/programmers/FeatureProgrammer.d.ts +3 -5
  117. package/lib/programmers/FeatureProgrammer.js +7 -7
  118. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  119. package/lib/programmers/IsProgrammer.d.ts +1 -1
  120. package/lib/programmers/IsProgrammer.js +33 -22
  121. package/lib/programmers/IsProgrammer.js.map +1 -1
  122. package/lib/programmers/RandomProgrammer.js +196 -160
  123. package/lib/programmers/RandomProgrammer.js.map +1 -1
  124. package/lib/programmers/TypiaProgrammer.js +87 -28
  125. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  126. package/lib/programmers/ValidateProgrammer.js +28 -10
  127. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  128. package/lib/programmers/helpers/CloneJoiner.js +10 -2
  129. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  130. package/lib/programmers/helpers/ICheckEntry.d.ts +4 -3
  131. package/lib/programmers/helpers/ProtobufUtil.d.ts +6 -2
  132. package/lib/programmers/helpers/ProtobufUtil.js +175 -17
  133. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  134. package/lib/programmers/helpers/RandomJoiner.d.ts +3 -5
  135. package/lib/programmers/helpers/RandomJoiner.js +7 -10
  136. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  137. package/lib/programmers/helpers/RandomRanger.d.ts +5 -6
  138. package/lib/programmers/helpers/RandomRanger.js +13 -33
  139. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  140. package/lib/programmers/helpers/UnionExplorer.d.ts +7 -8
  141. package/lib/programmers/helpers/UnionExplorer.js +46 -35
  142. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  143. package/lib/programmers/internal/application_alias.js +0 -1
  144. package/lib/programmers/internal/application_alias.js.map +1 -1
  145. package/lib/programmers/internal/application_array.js +60 -20
  146. package/lib/programmers/internal/application_array.js.map +1 -1
  147. package/lib/programmers/internal/application_escaped.d.ts +4 -0
  148. package/lib/programmers/internal/{application_resolved.js → application_escaped.js} +6 -6
  149. package/lib/programmers/internal/application_escaped.js.map +1 -0
  150. package/lib/programmers/internal/application_number.js +95 -69
  151. package/lib/programmers/internal/application_number.js.map +1 -1
  152. package/lib/programmers/internal/application_object.js +0 -3
  153. package/lib/programmers/internal/application_object.js.map +1 -1
  154. package/lib/programmers/internal/application_schema.js +41 -24
  155. package/lib/programmers/internal/application_schema.js.map +1 -1
  156. package/lib/programmers/internal/application_string.js +56 -22
  157. package/lib/programmers/internal/application_string.js.map +1 -1
  158. package/lib/programmers/internal/application_tuple.js +10 -9
  159. package/lib/programmers/internal/application_tuple.js.map +1 -1
  160. package/lib/programmers/internal/check_array_length.js +25 -25
  161. package/lib/programmers/internal/check_array_length.js.map +1 -1
  162. package/lib/programmers/internal/check_bigint.js +20 -109
  163. package/lib/programmers/internal/check_bigint.js.map +1 -1
  164. package/lib/programmers/internal/check_dynamic_properties.js +1 -1
  165. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  166. package/lib/programmers/internal/check_number.js +57 -147
  167. package/lib/programmers/internal/check_number.js.map +1 -1
  168. package/lib/programmers/internal/check_string.js +21 -33
  169. package/lib/programmers/internal/check_string.js.map +1 -1
  170. package/lib/programmers/internal/check_template.js +31 -49
  171. package/lib/programmers/internal/check_template.js.map +1 -1
  172. package/lib/programmers/internal/check_union_array_like.js +7 -6
  173. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  174. package/lib/programmers/internal/feature_object_entries.js +1 -1
  175. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  176. package/lib/programmers/internal/random_custom.js +8 -2
  177. package/lib/programmers/internal/random_custom.js.map +1 -1
  178. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +9 -5
  179. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  180. package/lib/programmers/json/JsonApplicationProgrammer.js +5 -1
  181. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  182. package/lib/programmers/json/JsonAssertParseProgrammer.js +2 -0
  183. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  184. package/lib/programmers/json/JsonIsParseProgrammer.js +2 -0
  185. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  186. package/lib/programmers/json/JsonStringifyProgrammer.js +48 -85
  187. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  188. package/lib/programmers/json/JsonValidateParseProgrammer.js +2 -0
  189. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  190. package/lib/programmers/misc/MiscCloneProgrammer.js +34 -25
  191. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  192. package/lib/programmers/{IsPruneProgrammer.d.ts → misc/MiscIsPruneProgrammer.d.ts} +2 -2
  193. package/lib/programmers/{IsPruneProgrammer.js → misc/MiscIsPruneProgrammer.js} +11 -11
  194. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -0
  195. package/lib/programmers/misc/MiscLiteralsProgrammer.js +10 -5
  196. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  197. package/lib/programmers/misc/MiscPruneProgrammer.js +34 -25
  198. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  199. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +48 -48
  200. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  201. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +152 -69
  202. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  203. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +80 -85
  204. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  205. package/lib/protobuf.d.ts +34 -34
  206. package/lib/schemas/json/IJsonSchema.d.ts +10 -38
  207. package/lib/schemas/metadata/IMetadata.d.ts +9 -2
  208. package/lib/schemas/metadata/IMetadataAlias.d.ts +0 -2
  209. package/lib/schemas/metadata/IMetadataArray.d.ts +4 -6
  210. package/lib/schemas/metadata/IMetadataArrayType.d.ts +8 -0
  211. package/lib/{CustomValidatorMap.js → schemas/metadata/IMetadataArrayType.js} +1 -1
  212. package/lib/schemas/metadata/IMetadataArrayType.js.map +1 -0
  213. package/lib/schemas/metadata/IMetadataAtomic.d.ts +3 -10
  214. package/lib/schemas/metadata/IMetadataCollection.d.ts +4 -4
  215. package/lib/schemas/metadata/IMetadataProperty.d.ts +0 -2
  216. package/lib/schemas/metadata/IMetadataTuple.d.ts +4 -6
  217. package/lib/schemas/metadata/IMetadataTupleType.d.ts +8 -0
  218. package/lib/schemas/metadata/IMetadataTupleType.js +3 -0
  219. package/lib/schemas/metadata/IMetadataTupleType.js.map +1 -0
  220. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +8 -0
  221. package/lib/schemas/metadata/IMetadataTypeTag.js +3 -0
  222. package/lib/schemas/metadata/IMetadataTypeTag.js.map +1 -0
  223. package/lib/schemas/metadata/Metadata.d.ts +2 -2
  224. package/lib/schemas/metadata/Metadata.js +177 -122
  225. package/lib/schemas/metadata/Metadata.js.map +1 -1
  226. package/lib/schemas/metadata/MetadataAlias.d.ts +0 -2
  227. package/lib/schemas/metadata/MetadataAlias.js +0 -3
  228. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  229. package/lib/schemas/metadata/MetadataArray.d.ts +8 -6
  230. package/lib/schemas/metadata/MetadataArray.js +48 -19
  231. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  232. package/lib/schemas/metadata/MetadataArrayType.d.ts +14 -0
  233. package/lib/schemas/metadata/MetadataArrayType.js +36 -0
  234. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -0
  235. package/lib/schemas/metadata/MetadataAtomic.d.ts +9 -0
  236. package/lib/schemas/metadata/MetadataAtomic.js +59 -0
  237. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -0
  238. package/lib/schemas/metadata/MetadataProperty.d.ts +0 -2
  239. package/lib/schemas/metadata/MetadataProperty.js +0 -3
  240. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  241. package/lib/schemas/metadata/MetadataTuple.d.ts +8 -8
  242. package/lib/schemas/metadata/MetadataTuple.js +4 -19
  243. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  244. package/lib/schemas/metadata/MetadataTupleType.d.ts +13 -0
  245. package/lib/schemas/metadata/MetadataTupleType.js +40 -0
  246. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -0
  247. package/lib/tags/ExclusiveMaximum.d.ts +10 -8
  248. package/lib/tags/ExclusiveMinimum.d.ts +10 -8
  249. package/lib/tags/Format.d.ts +8 -8
  250. package/lib/tags/MaxItems.d.ts +8 -8
  251. package/lib/tags/MaxLength.d.ts +8 -8
  252. package/lib/tags/Maximum.d.ts +10 -8
  253. package/lib/tags/MinItems.d.ts +8 -8
  254. package/lib/tags/MinLength.d.ts +8 -8
  255. package/lib/tags/Minimum.d.ts +10 -8
  256. package/lib/tags/MultipleOf.d.ts +10 -8
  257. package/lib/tags/Pattern.d.ts +7 -8
  258. package/lib/tags/TagBase.d.ts +52 -6
  259. package/lib/tags/Type.d.ts +14 -13
  260. package/lib/tags/index.d.ts +1 -0
  261. package/lib/tags/index.js +1 -0
  262. package/lib/tags/index.js.map +1 -1
  263. package/lib/transform.d.ts +2 -1
  264. package/lib/transform.js +11 -3
  265. package/lib/transform.js.map +1 -1
  266. package/lib/transformers/CallExpressionTransformer.d.ts +1 -1
  267. package/lib/transformers/CallExpressionTransformer.js +2 -1
  268. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  269. package/lib/transformers/FileTransformer.d.ts +1 -1
  270. package/lib/transformers/FileTransformer.js +30 -7
  271. package/lib/transformers/FileTransformer.js.map +1 -1
  272. package/lib/transformers/IProject.d.ts +4 -0
  273. package/lib/transformers/NodeTransformer.d.ts +1 -1
  274. package/lib/transformers/TransformerError.d.ts +12 -0
  275. package/lib/transformers/TransformerError.js +66 -0
  276. package/lib/transformers/TransformerError.js.map +1 -0
  277. package/lib/transformers/features/AssertTransformer.d.ts +1 -0
  278. package/lib/transformers/features/CreateAssertTransformer.d.ts +1 -0
  279. package/lib/transformers/features/CreateIsTransformer.d.ts +1 -0
  280. package/lib/transformers/features/CreateRandomTransformer.js +9 -4
  281. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  282. package/lib/transformers/features/CreateValidateTransformer.d.ts +1 -0
  283. package/lib/transformers/features/IsTransformer.d.ts +1 -0
  284. package/lib/transformers/features/RandomTransformer.js +9 -4
  285. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  286. package/lib/transformers/features/ValidateTransformer.d.ts +1 -0
  287. package/lib/transformers/features/json/JsonApplicationTransformer.js +79 -17
  288. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  289. package/lib/transformers/features/json/JsonAssertParseTransformer.d.ts +1 -0
  290. package/lib/transformers/features/json/JsonAssertStringifyTransformer.d.ts +1 -0
  291. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.d.ts +1 -0
  292. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.d.ts +1 -0
  293. package/lib/transformers/features/json/JsonCreateIsParseTransformer.d.ts +1 -0
  294. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.d.ts +1 -0
  295. package/lib/transformers/features/json/JsonCreateStringifyTransformer.d.ts +1 -0
  296. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.d.ts +1 -0
  297. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.d.ts +1 -0
  298. package/lib/transformers/features/json/JsonIsParseTransformer.d.ts +1 -0
  299. package/lib/transformers/features/json/JsonIsStringifyTransformer.d.ts +1 -0
  300. package/lib/transformers/features/json/JsonStringifyTransformer.d.ts +1 -0
  301. package/lib/transformers/features/json/JsonValidateParseTransformer.d.ts +1 -0
  302. package/lib/transformers/features/json/JsonValidateStringifyTransformer.d.ts +1 -0
  303. package/lib/transformers/features/misc/MetadataTransformer.js +13 -5
  304. package/lib/transformers/features/misc/MetadataTransformer.js.map +1 -1
  305. package/lib/transformers/features/misc/MiscAssertCloneTransformer.d.ts +1 -0
  306. package/lib/transformers/features/misc/MiscAssertPruneTransformer.d.ts +1 -0
  307. package/lib/transformers/features/misc/MiscCloneTransformer.d.ts +1 -0
  308. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.d.ts +1 -0
  309. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.d.ts +1 -0
  310. package/lib/transformers/features/misc/MiscCreateCloneTransformer.d.ts +1 -0
  311. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.d.ts +1 -0
  312. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.d.ts +1 -0
  313. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +2 -2
  314. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  315. package/lib/transformers/features/misc/MiscCreatePruneTransformer.d.ts +1 -0
  316. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.d.ts +1 -0
  317. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.d.ts +1 -0
  318. package/lib/transformers/features/misc/MiscIsCloneTransformer.d.ts +1 -0
  319. package/lib/transformers/features/misc/MiscIsPruneTransformer.d.ts +1 -0
  320. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +2 -2
  321. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  322. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +9 -4
  323. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  324. package/lib/transformers/features/misc/MiscPruneTransformer.d.ts +1 -0
  325. package/lib/transformers/features/misc/MiscValidateCloneTransformer.d.ts +1 -0
  326. package/lib/transformers/features/misc/MiscValidatePruneTransformer.d.ts +1 -0
  327. package/lib/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.d.ts +1 -0
  328. package/lib/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.d.ts +1 -0
  329. package/lib/transformers/features/protobuf/CreateProtobufDecodeTransformer.d.ts +1 -0
  330. package/lib/transformers/features/protobuf/CreateProtobufEncodeTransformer.d.ts +1 -0
  331. package/lib/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.d.ts +1 -0
  332. package/lib/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.d.ts +1 -0
  333. package/lib/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.d.ts +1 -0
  334. package/lib/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.d.ts +1 -0
  335. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.d.ts +1 -0
  336. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.d.ts +1 -0
  337. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.d.ts +1 -0
  338. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.d.ts +1 -0
  339. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.d.ts +1 -0
  340. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.d.ts +1 -0
  341. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +9 -2
  342. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  343. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.d.ts +1 -0
  344. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.d.ts +1 -0
  345. package/lib/transformers/internal/GenericTransformer.js +17 -4
  346. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  347. package/lib/typings/ProtobufAtomic.d.ts +5 -0
  348. package/lib/{schemas/metadata/ICommentTag.js → typings/ProtobufAtomic.js} +1 -1
  349. package/lib/typings/ProtobufAtomic.js.map +1 -0
  350. package/lib/typings/ValidationPipe.d.ts +7 -0
  351. package/lib/{schemas/metadata/IMetadataTag.js → typings/ValidationPipe.js} +1 -1
  352. package/lib/typings/ValidationPipe.js.map +1 -0
  353. package/package.json +6 -2
  354. package/src/IRandomGenerator.ts +4 -3
  355. package/src/Primitive.ts +135 -135
  356. package/src/Resolved.ts +116 -116
  357. package/src/executable/TypiaGenerateWizard.ts +1 -1
  358. package/src/executable/TypiaSetupWizard.ts +1 -1
  359. package/src/executable/setup/PackageManager.ts +1 -1
  360. package/src/executable/setup/PluginConfigurator.ts +2 -2
  361. package/src/factories/ExpressionFactory.ts +46 -2
  362. package/src/factories/IdentifierFactory.ts +15 -0
  363. package/src/factories/JsonMetadataFactory.ts +43 -0
  364. package/src/factories/LiteralFactory.ts +11 -3
  365. package/src/factories/MetadataCollection.ts +18 -18
  366. package/src/factories/MetadataCommentTagFactory.ts +629 -0
  367. package/src/factories/MetadataFactory.ts +214 -46
  368. package/src/factories/MetadataTypeTagFactory.ts +313 -0
  369. package/src/factories/NumericRangeFactory.ts +33 -0
  370. package/src/factories/ProtobufFactory.ts +272 -268
  371. package/src/factories/TypeFactory.ts +0 -5
  372. package/src/factories/internal/metadata/emend_metadata_atomics.ts +40 -35
  373. package/src/factories/internal/metadata/emplace_metadata_alias.ts +12 -11
  374. package/src/factories/internal/metadata/{emplace_metadata_array.ts → emplace_metadata_array_type.ts} +14 -7
  375. package/src/factories/internal/metadata/emplace_metadata_object.ts +20 -6
  376. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +13 -3
  377. package/src/factories/internal/metadata/explore_metadata.ts +32 -38
  378. package/src/factories/internal/metadata/iterate_metadata.ts +44 -24
  379. package/src/factories/internal/metadata/iterate_metadata_alias.ts +7 -2
  380. package/src/factories/internal/metadata/iterate_metadata_array.ts +19 -6
  381. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -63
  382. package/src/factories/internal/metadata/iterate_metadata_collection.ts +141 -133
  383. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +26 -0
  384. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +141 -28
  385. package/src/factories/internal/metadata/iterate_metadata_map.ts +20 -4
  386. package/src/factories/internal/metadata/iterate_metadata_native.ts +210 -210
  387. package/src/factories/internal/metadata/iterate_metadata_object.ts +12 -11
  388. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +52 -49
  389. package/src/factories/internal/metadata/iterate_metadata_set.ts +11 -2
  390. package/src/factories/internal/metadata/iterate_metadata_sort.ts +69 -69
  391. package/src/factories/internal/metadata/iterate_metadata_template.ts +12 -3
  392. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +18 -5
  393. package/src/factories/internal/metadata/iterate_metadata_union.ts +10 -7
  394. package/src/functional/$ProtobufWriter.ts +151 -151
  395. package/src/functional/$any.ts +3 -1
  396. package/src/functional/$clone.ts +4 -0
  397. package/src/functional/Namespace.ts +0 -16
  398. package/src/json.ts +648 -648
  399. package/src/misc.ts +651 -651
  400. package/src/module.ts +656 -709
  401. package/src/programmers/AssertProgrammer.ts +317 -281
  402. package/src/programmers/CheckerProgrammer.ts +1137 -1174
  403. package/src/programmers/FeatureProgrammer.ts +13 -32
  404. package/src/programmers/IsProgrammer.ts +252 -241
  405. package/src/programmers/RandomProgrammer.ts +878 -874
  406. package/src/programmers/TypiaProgrammer.ts +36 -2
  407. package/src/programmers/ValidateProgrammer.ts +346 -307
  408. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  409. package/src/programmers/helpers/CloneJoiner.ts +57 -20
  410. package/src/programmers/helpers/FunctionImporeter.ts +91 -91
  411. package/src/programmers/helpers/ICheckEntry.ts +4 -3
  412. package/src/programmers/helpers/ProtobufUtil.ts +125 -29
  413. package/src/programmers/helpers/RandomJoiner.ts +11 -33
  414. package/src/programmers/helpers/RandomRanger.ts +16 -51
  415. package/src/programmers/helpers/StringifyPredicator.ts +12 -12
  416. package/src/programmers/helpers/UnionExplorer.ts +46 -51
  417. package/src/programmers/helpers/disable_function_importer_declare.ts +32 -32
  418. package/src/programmers/internal/application_alias.ts +0 -1
  419. package/src/programmers/internal/application_array.ts +33 -10
  420. package/src/programmers/internal/application_default_string.ts +37 -37
  421. package/src/programmers/internal/{application_resolved.ts → application_escaped.ts} +55 -55
  422. package/src/programmers/internal/application_number.ts +76 -70
  423. package/src/programmers/internal/application_object.ts +0 -3
  424. package/src/programmers/internal/application_schema.ts +175 -157
  425. package/src/programmers/internal/application_string.ts +33 -27
  426. package/src/programmers/internal/application_tuple.ts +12 -11
  427. package/src/programmers/internal/check_array_length.ts +34 -28
  428. package/src/programmers/internal/check_bigint.ts +26 -91
  429. package/src/programmers/internal/check_dynamic_properties.ts +1 -2
  430. package/src/programmers/internal/check_number.ts +83 -236
  431. package/src/programmers/internal/check_string.ts +37 -17
  432. package/src/programmers/internal/check_template.ts +17 -12
  433. package/src/programmers/internal/check_union_array_like.ts +4 -18
  434. package/src/programmers/internal/feature_object_entries.ts +12 -18
  435. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  436. package/src/programmers/internal/random_custom.ts +11 -3
  437. package/src/programmers/internal/stringify_dynamic_properties.ts +171 -171
  438. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +9 -5
  439. package/src/programmers/json/JsonApplicationProgrammer.ts +6 -3
  440. package/src/programmers/json/JsonAssertParseProgrammer.ts +7 -2
  441. package/src/programmers/json/JsonIsParseProgrammer.ts +7 -2
  442. package/src/programmers/json/JsonStringifyProgrammer.ts +964 -995
  443. package/src/programmers/json/JsonValidateParseProgrammer.ts +7 -2
  444. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +1 -1
  445. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +71 -71
  446. package/src/programmers/misc/MiscCloneProgrammer.ts +774 -775
  447. package/src/programmers/misc/MiscIsCloneProgrammer.ts +78 -78
  448. package/src/programmers/{IsPruneProgrammer.ts → misc/MiscIsPruneProgrammer.ts} +7 -7
  449. package/src/programmers/misc/MiscLiteralsProgrammer.ts +69 -64
  450. package/src/programmers/misc/MiscPruneProgrammer.ts +550 -544
  451. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +85 -85
  452. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +75 -75
  453. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +655 -673
  454. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +883 -814
  455. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +85 -85
  456. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +23 -36
  457. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +75 -75
  458. package/src/protobuf.ts +881 -881
  459. package/src/schemas/json/IJsonSchema.ts +11 -38
  460. package/src/schemas/metadata/IMetadata.ts +34 -27
  461. package/src/schemas/metadata/IMetadataAlias.ts +0 -2
  462. package/src/schemas/metadata/IMetadataArray.ts +4 -7
  463. package/src/schemas/metadata/IMetadataArrayType.ts +10 -0
  464. package/src/schemas/metadata/IMetadataAtomic.ts +3 -10
  465. package/src/schemas/metadata/IMetadataCollection.ts +4 -4
  466. package/src/schemas/metadata/IMetadataDictionary.ts +4 -4
  467. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  468. package/src/schemas/metadata/IMetadataProperty.ts +0 -2
  469. package/src/schemas/metadata/IMetadataTuple.ts +4 -7
  470. package/src/schemas/metadata/IMetadataTupleType.ts +10 -0
  471. package/src/schemas/metadata/IMetadataTypeTag.ts +8 -0
  472. package/src/schemas/metadata/Metadata.ts +685 -643
  473. package/src/schemas/metadata/MetadataAlias.ts +0 -5
  474. package/src/schemas/metadata/MetadataArray.ts +28 -34
  475. package/src/schemas/metadata/MetadataArrayType.ts +57 -0
  476. package/src/schemas/metadata/MetadataAtomic.ts +42 -0
  477. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  478. package/src/schemas/metadata/MetadataProperty.ts +0 -5
  479. package/src/schemas/metadata/MetadataTuple.ts +9 -35
  480. package/src/schemas/metadata/MetadataTupleType.ts +67 -0
  481. package/src/tags/ExclusiveMaximum.ts +13 -8
  482. package/src/tags/ExclusiveMinimum.ts +13 -8
  483. package/src/tags/Format.ts +21 -20
  484. package/src/tags/MaxItems.ts +9 -8
  485. package/src/tags/MaxLength.ts +9 -8
  486. package/src/tags/Maximum.ts +13 -8
  487. package/src/tags/MinItems.ts +9 -8
  488. package/src/tags/MinLength.ts +9 -8
  489. package/src/tags/Minimum.ts +13 -8
  490. package/src/tags/MultipleOf.ts +15 -10
  491. package/src/tags/Pattern.ts +8 -8
  492. package/src/tags/TagBase.ts +64 -13
  493. package/src/tags/Type.ts +26 -29
  494. package/src/tags/index.ts +1 -0
  495. package/src/transform.ts +13 -5
  496. package/src/transformers/CallExpressionTransformer.ts +6 -3
  497. package/src/transformers/FileTransformer.ts +23 -13
  498. package/src/transformers/IProject.ts +4 -0
  499. package/src/transformers/NodeTransformer.ts +1 -1
  500. package/src/transformers/TransformerError.ts +55 -0
  501. package/src/transformers/features/CreateRandomTransformer.ts +11 -7
  502. package/src/transformers/features/RandomTransformer.ts +11 -7
  503. package/src/transformers/features/json/JsonApplicationTransformer.ts +116 -111
  504. package/src/transformers/features/misc/MetadataTransformer.ts +61 -53
  505. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +2 -2
  506. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +2 -2
  507. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +11 -7
  508. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +9 -7
  509. package/src/transformers/internal/GenericTransformer.ts +17 -10
  510. package/src/typings/Atomic.ts +1 -0
  511. package/src/typings/ProtobufAtomic.ts +19 -0
  512. package/src/typings/ValidationPipe.ts +9 -0
  513. package/src/utils/RandomGenerator.ts +83 -83
  514. package/lib/CustomValidatorMap.d.ts +0 -110
  515. package/lib/CustomValidatorMap.js.map +0 -1
  516. package/lib/factories/MetadataTagFactory.d.ts +0 -6
  517. package/lib/factories/MetadataTagFactory.js +0 -312
  518. package/lib/factories/MetadataTagFactory.js.map +0 -1
  519. package/lib/factories/internal/metadata/emplace_metadata_array.d.ts +0 -5
  520. package/lib/factories/internal/metadata/emplace_metadata_array.js +0 -38
  521. package/lib/factories/internal/metadata/emplace_metadata_array.js.map +0 -1
  522. package/lib/factories/internal/metadata/iterate_metadata_tag.d.ts +0 -2
  523. package/lib/factories/internal/metadata/iterate_metadata_tag.js +0 -50
  524. package/lib/factories/internal/metadata/iterate_metadata_tag.js.map +0 -1
  525. package/lib/functional/$is_custom.d.ts +0 -2
  526. package/lib/functional/$is_custom.js +0 -13
  527. package/lib/functional/$is_custom.js.map +0 -1
  528. package/lib/functional/$is_date.d.ts +0 -1
  529. package/lib/functional/$is_date.js +0 -7
  530. package/lib/functional/$is_date.js.map +0 -1
  531. package/lib/functional/$is_datetime.d.ts +0 -1
  532. package/lib/functional/$is_datetime.js +0 -8
  533. package/lib/functional/$is_datetime.js.map +0 -1
  534. package/lib/functional/$is_email.d.ts +0 -1
  535. package/lib/functional/$is_email.js +0 -7
  536. package/lib/functional/$is_email.js.map +0 -1
  537. package/lib/functional/$is_ipv4.d.ts +0 -1
  538. package/lib/functional/$is_ipv4.js +0 -7
  539. package/lib/functional/$is_ipv4.js.map +0 -1
  540. package/lib/functional/$is_ipv6.d.ts +0 -1
  541. package/lib/functional/$is_ipv6.js +0 -7
  542. package/lib/functional/$is_ipv6.js.map +0 -1
  543. package/lib/functional/$is_url.d.ts +0 -1
  544. package/lib/functional/$is_url.js +0 -7
  545. package/lib/functional/$is_url.js.map +0 -1
  546. package/lib/functional/$is_uuid.d.ts +0 -1
  547. package/lib/functional/$is_uuid.js +0 -7
  548. package/lib/functional/$is_uuid.js.map +0 -1
  549. package/lib/programmers/IsPruneProgrammer.js.map +0 -1
  550. package/lib/programmers/internal/application_resolved.d.ts +0 -4
  551. package/lib/programmers/internal/application_resolved.js.map +0 -1
  552. package/lib/programmers/internal/check_array.js +0 -44
  553. package/lib/programmers/internal/check_array.js.map +0 -1
  554. package/lib/programmers/internal/check_custom.d.ts +0 -1
  555. package/lib/programmers/internal/check_custom.js +0 -30
  556. package/lib/programmers/internal/check_custom.js.map +0 -1
  557. package/lib/programmers/internal/check_string_tags.d.ts +0 -1
  558. package/lib/programmers/internal/check_string_tags.js +0 -89
  559. package/lib/programmers/internal/check_string_tags.js.map +0 -1
  560. package/lib/programmers/internal/get_comment_tags.d.ts +0 -1
  561. package/lib/programmers/internal/get_comment_tags.js +0 -25
  562. package/lib/programmers/internal/get_comment_tags.js.map +0 -1
  563. package/lib/schemas/metadata/ICommentTag.d.ts +0 -4
  564. package/lib/schemas/metadata/ICommentTag.js.map +0 -1
  565. package/lib/schemas/metadata/IMetadataTag.d.ts +0 -63
  566. package/lib/schemas/metadata/IMetadataTag.js.map +0 -1
  567. package/src/CustomValidatorMap.ts +0 -126
  568. package/src/factories/MetadataTagFactory.ts +0 -366
  569. package/src/factories/internal/metadata/iterate_metadata_tag.ts +0 -31
  570. package/src/functional/$is_custom.ts +0 -14
  571. package/src/functional/$is_date.ts +0 -3
  572. package/src/functional/$is_datetime.ts +0 -2
  573. package/src/functional/$is_email.ts +0 -4
  574. package/src/functional/$is_ipv4.ts +0 -4
  575. package/src/functional/$is_ipv6.ts +0 -4
  576. package/src/functional/$is_url.ts +0 -4
  577. package/src/functional/$is_uuid.ts +0 -4
  578. package/src/programmers/internal/check_array.ts +0 -30
  579. package/src/programmers/internal/check_custom.ts +0 -31
  580. package/src/programmers/internal/check_string_tags.ts +0 -67
  581. package/src/programmers/internal/get_comment_tags.ts +0 -23
  582. package/src/schemas/metadata/ICommentTag.ts +0 -4
  583. package/src/schemas/metadata/IMetadataTag.ts +0 -112
  584. /package/lib/{programmers/internal/check_array.d.ts → factories/MetadataCommentTagFactory.d.ts} +0 -0
@@ -52,16 +52,34 @@ var AssertProgrammer;
52
52
  trace: true,
53
53
  numeric: OptionPredicator_1.OptionPredicator.numeric(project.options),
54
54
  equals: equals,
55
- atomist: function (explore) { return function (tuple) { return function (input) {
56
- return __spreadArray([
57
- tuple.expression
58
- ], __read(tuple.tags.map(function (tag) {
59
- return typescript_1.default.factory.createLogicalOr(tag.expression, create_guard_call(importer)(explore.from === "top"
60
- ? typescript_1.default.factory.createTrue()
61
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(explore.postfix
62
- ? "_path + ".concat(explore.postfix)
63
- : "_path"), tag.expected, input));
64
- })), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
55
+ atomist: function (explore) { return function (entry) { return function (input) {
56
+ return __spreadArray(__spreadArray([], __read((entry.expression ? [entry.expression] : [])), false), __read((entry.conditions.length === 0
57
+ ? []
58
+ : entry.conditions.length === 1
59
+ ? entry.conditions[0].map(function (cond) {
60
+ return typescript_1.default.factory.createLogicalOr(cond.expression, create_guard_call(importer)(explore.from === "top"
61
+ ? typescript_1.default.factory.createTrue()
62
+ : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(explore.postfix
63
+ ? "_path + ".concat(explore.postfix)
64
+ : "_path"), cond.expected, input));
65
+ })
66
+ : [
67
+ typescript_1.default.factory.createLogicalOr(entry.conditions
68
+ .map(function (set) {
69
+ return set
70
+ .map(function (s) { return s.expression; })
71
+ .reduce(function (a, b) {
72
+ return typescript_1.default.factory.createLogicalAnd(a, b);
73
+ });
74
+ })
75
+ .reduce(function (a, b) {
76
+ return typescript_1.default.factory.createLogicalOr(a, b);
77
+ }), create_guard_call(importer)(explore.from === "top"
78
+ ? typescript_1.default.factory.createTrue()
79
+ : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(explore.postfix
80
+ ? "_path + ".concat(explore.postfix)
81
+ : "_path"), entry.expected, input)),
82
+ ])), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
65
83
  }; }; },
66
84
  combiner: combiner(equals)(importer),
67
85
  joiner: joiner(equals)(importer),
@@ -1 +1 @@
1
- {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
@@ -59,12 +59,13 @@ var MetadataFactory_1 = require("../factories/MetadataFactory");
59
59
  var StatementFactory_1 = require("../factories/StatementFactory");
60
60
  var TypeFactory_1 = require("../factories/TypeFactory");
61
61
  var ValueFactory_1 = require("../factories/ValueFactory");
62
+ var MetadataArray_1 = require("../schemas/metadata/MetadataArray");
62
63
  var MetadataTuple_1 = require("../schemas/metadata/MetadataTuple");
64
+ var TransformerError_1 = require("../transformers/TransformerError");
63
65
  var FeatureProgrammer_1 = require("./FeatureProgrammer");
64
66
  var AtomicPredicator_1 = require("./helpers/AtomicPredicator");
65
67
  var OptionPredicator_1 = require("./helpers/OptionPredicator");
66
68
  var UnionExplorer_1 = require("./helpers/UnionExplorer");
67
- var check_array_1 = require("./internal/check_array");
68
69
  var check_array_length_1 = require("./internal/check_array_length");
69
70
  var check_bigint_1 = require("./internal/check_bigint");
70
71
  var check_native_1 = require("./internal/check_native");
@@ -103,13 +104,16 @@ var CheckerProgrammer;
103
104
  return collection
104
105
  .arrays()
105
106
  .filter(function (a) { return a.recursive; })
106
- .map(function (array, i) {
107
- return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(project)(config)(importer)(typescript_1.default.factory.createIdentifier("input"), array, {
107
+ .map(function (type, i) {
108
+ return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(project)(config)(importer)(typescript_1.default.factory.createIdentifier("input"), MetadataArray_1.MetadataArray.create({
109
+ type: type,
110
+ tags: [],
111
+ }), {
108
112
  tracable: config.trace,
109
113
  source: "function",
110
114
  from: "array",
111
115
  postfix: "",
112
- }, [], [])));
116
+ })));
113
117
  });
114
118
  };
115
119
  };
@@ -128,7 +132,7 @@ var CheckerProgrammer;
128
132
  source: "function",
129
133
  from: "array",
130
134
  postfix: "",
131
- }, [], [])));
135
+ })));
132
136
  });
133
137
  };
134
138
  };
@@ -150,14 +154,18 @@ var CheckerProgrammer;
150
154
  prefix: config.prefix,
151
155
  initializer: function (_a) {
152
156
  var checker = _a.checker;
153
- return function (type) {
154
- var collection = new MetadataCollection_1.MetadataCollection();
155
- var meta = MetadataFactory_1.MetadataFactory.analyze(checker)({
156
- escape: false,
157
- constant: true,
158
- absorb: true,
159
- })(collection)(type);
160
- return [collection, meta];
157
+ return function (importer) {
158
+ return function (type) {
159
+ var collection = new MetadataCollection_1.MetadataCollection();
160
+ var result = MetadataFactory_1.MetadataFactory.analyze(checker)({
161
+ escape: false,
162
+ constant: true,
163
+ absorb: true,
164
+ })(collection)(type);
165
+ if (result.success === false)
166
+ throw TransformerError_1.TransformerError.from("typia.".concat(importer.method))(result.errors);
167
+ return [collection, result.data];
168
+ };
161
169
  };
162
170
  },
163
171
  addition: config.addition,
@@ -202,7 +210,7 @@ var CheckerProgrammer;
202
210
  CheckerProgrammer.decode = function (project) {
203
211
  return function (config) {
204
212
  return function (importer) {
205
- return function (input, meta, explore, metaTags, jsDocTags) {
213
+ return function (input, meta, explore) {
206
214
  var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
207
215
  if (meta.any)
208
216
  return config.success;
@@ -210,9 +218,11 @@ var CheckerProgrammer;
210
218
  var binaries = [];
211
219
  var add = create_add(binaries)(input);
212
220
  var getConstantValue = function (value) {
213
- return typeof value === "string"
214
- ? typescript_1.default.factory.createStringLiteral(value)
215
- : typescript_1.default.factory.createIdentifier(value.toString());
221
+ if (typeof value === "string")
222
+ return typescript_1.default.factory.createStringLiteral(value);
223
+ else if (typeof value === "bigint")
224
+ return ExpressionFactory_1.ExpressionFactory.bigint(value);
225
+ return typescript_1.default.factory.createIdentifier(value.toString());
216
226
  };
217
227
  var checkOptional = meta.empty() || meta.isUnionBucket();
218
228
  if (checkOptional || meta.nullable)
@@ -261,17 +271,17 @@ var CheckerProgrammer;
261
271
  continue;
262
272
  else if (atom.type === "number")
263
273
  binaries.push({
264
- expression: config.atomist(explore)((0, check_number_1.check_number)(project, config.numeric)(importer)(metaTags)(jsDocTags)(input))(input),
274
+ expression: config.atomist(explore)((0, check_number_1.check_number)(project, config.numeric)(atom)(input))(input),
265
275
  combined: false,
266
276
  });
267
277
  else if (atom.type === "bigint")
268
278
  binaries.push({
269
- expression: config.atomist(explore)((0, check_bigint_1.check_bigint)(importer)(metaTags)(jsDocTags)(input))(input),
279
+ expression: config.atomist(explore)((0, check_bigint_1.check_bigint)(project)(atom)(input))(input),
270
280
  combined: false,
271
281
  });
272
282
  else if (atom.type === "string")
273
283
  binaries.push({
274
- expression: config.atomist(explore)((0, check_string_1.check_string)(importer)(metaTags)(jsDocTags)(input))(input),
284
+ expression: config.atomist(explore)((0, check_string_1.check_string)(project)(atom)(input))(input),
275
285
  combined: false,
276
286
  });
277
287
  else
@@ -288,7 +298,7 @@ var CheckerProgrammer;
288
298
  if (meta.templates.length)
289
299
  if (AtomicPredicator_1.AtomicPredicator.template(meta))
290
300
  binaries.push({
291
- expression: config.atomist(explore)((0, check_template_1.check_template)(importer)(metaTags)(jsDocTags)(meta.templates)(input))(input),
301
+ expression: config.atomist(explore)((0, check_template_1.check_template)(meta.templates)(input))(input),
292
302
  combined: false,
293
303
  });
294
304
  try {
@@ -324,7 +334,7 @@ var CheckerProgrammer;
324
334
  if (meta.sets.some(function (elem) { return elem.any; }))
325
335
  install(null);
326
336
  else
327
- install(explore_sets(project)(config)(importer)(input, meta.sets, __assign(__assign({}, explore), { from: "array" }), [], []));
337
+ install(explore_sets(project)(config)(importer)(input, meta.sets, __assign(__assign({}, explore), { from: "array" })));
328
338
  }
329
339
  if (meta.maps.length) {
330
340
  var install = prepare((0, check_native_1.check_native)("Map")(input), meta.maps
@@ -336,25 +346,29 @@ var CheckerProgrammer;
336
346
  if (meta.maps.some(function (elem) { return elem.key.any && elem.value.any; }))
337
347
  install(null);
338
348
  else
339
- install(explore_maps(project)(config)(importer)(input, meta.maps, __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
349
+ install(explore_maps(project)(config)(importer)(input, meta.maps, __assign(__assign({}, explore), { from: "array" })));
340
350
  }
341
351
  if (meta.tuples.length + meta.arrays.length > 0) {
342
- var install = prepare(config.atomist(explore)((0, check_array_1.check_array)(importer)(meta.tuples.length === 0 ? metaTags : [])(jsDocTags)(input))(input), __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false).map(function (elem) { return elem.name; })
352
+ var install = prepare(config.atomist(explore)({
353
+ expected: __spreadArray(__spreadArray([], __read(meta.tuples.map(function (t) { return t.type.name; })), false), __read(meta.arrays.map(function (a) { return a.getName(); })), false).join(" | "),
354
+ expression: ExpressionFactory_1.ExpressionFactory.isArray(input),
355
+ conditions: [],
356
+ })(input), __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false).map(function (elem) { return elem.type.name; })
343
357
  .join(" | "));
344
358
  if (meta.arrays.length === 0)
345
359
  if (meta.tuples.length === 1)
346
- install(decode_tuple(project)(config)(importer)(input, meta.tuples[0], __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
360
+ install(decode_tuple(project)(config)(importer)(input, meta.tuples[0], __assign(__assign({}, explore), { from: "array" })));
347
361
  else
348
- install(explore_tuples(project)(config)(importer)(input, meta.tuples, __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
349
- else if (meta.arrays.some(function (elem) { return elem.value.any; }))
362
+ install(explore_tuples(project)(config)(importer)(input, meta.tuples, __assign(__assign({}, explore), { from: "array" })));
363
+ else if (meta.arrays.some(function (elem) { return elem.type.value.any; }))
350
364
  install(null);
351
365
  else if (meta.tuples.length === 0)
352
366
  if (meta.arrays.length === 1)
353
- install(decode_array(project)(config)(importer)(input, meta.arrays[0], __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
367
+ install(decode_array(project)(config)(importer)(input, meta.arrays[0], __assign(__assign({}, explore), { from: "array" })));
354
368
  else
355
- install(explore_arrays(project)(config)(importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
369
+ install(explore_arrays(project)(config)(importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" })));
356
370
  else
357
- install(explore_arrays_and_tuples(project)(config)(importer)(input, __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false), explore, metaTags, jsDocTags));
371
+ install(explore_arrays_and_tuples(project)(config)(importer)(input, __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false), explore));
358
372
  }
359
373
  if (meta.objects.length > 0)
360
374
  prepare(ExpressionFactory_1.ExpressionFactory.isObject({
@@ -417,11 +431,11 @@ var CheckerProgrammer;
417
431
  var decode_array = function (project) {
418
432
  return function (config) {
419
433
  return function (importer) {
420
- return function (input, array, explore, metaTags, jsDocTags) {
421
- if (array.recursive === false)
422
- return decode_array_inline(project)(config)(importer)(input, array, explore, metaTags, jsDocTags);
434
+ return function (input, array, explore) {
435
+ if (array.type.recursive === false)
436
+ return decode_array_inline(project)(config)(importer)(input, array, explore);
423
437
  explore = __assign(__assign({}, explore), { source: "function", from: "array" });
424
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "a").concat(array.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(__assign(__assign({}, explore), { source: "function", from: "array" }))(input)), config.joiner.failure(input, array.name, explore));
438
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "a").concat(array.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(__assign(__assign({}, explore), { source: "function", from: "array" }))(input)), config.joiner.failure(input, array.type.name, explore));
425
439
  };
426
440
  };
427
441
  };
@@ -429,23 +443,29 @@ var CheckerProgrammer;
429
443
  var decode_array_inline = function (project) {
430
444
  return function (config) {
431
445
  return function (importer) {
432
- return FeatureProgrammer_1.FeatureProgrammer.decode_array({
433
- prefix: config.prefix,
434
- trace: config.trace,
435
- path: config.path,
436
- decoder: function () { return CheckerProgrammer.decode(project)(config)(importer); },
437
- })(importer)(config.joiner.array);
446
+ return function (input, array, explore) {
447
+ var length = (0, check_array_length_1.check_array_length)(project)(array)(input);
448
+ var main = FeatureProgrammer_1.FeatureProgrammer.decode_array({
449
+ prefix: config.prefix,
450
+ trace: config.trace,
451
+ path: config.path,
452
+ decoder: function () { return CheckerProgrammer.decode(project)(config)(importer); },
453
+ })(importer)(config.joiner.array)(input, array, explore);
454
+ return length.expression === null && length.conditions.length === 0
455
+ ? main
456
+ : typescript_1.default.factory.createLogicalAnd(config.atomist(explore)(length)(input), main);
457
+ };
438
458
  };
439
459
  };
440
460
  };
441
461
  var decode_tuple = function (project) {
442
462
  return function (config) {
443
463
  return function (importer) {
444
- return function (input, tuple, explore, tagList, jsDocTags) {
445
- if (tuple.recursive === false)
446
- return decode_tuple_inline(project)(config)(importer)(input, tuple, explore, tagList, jsDocTags);
464
+ return function (input, tuple, explore) {
465
+ if (tuple.type.recursive === false)
466
+ return decode_tuple_inline(project)(config)(importer)(input, tuple.type, explore);
447
467
  explore = __assign(__assign({}, explore), { source: "function", from: "array" });
448
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "t").concat(tuple.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(__assign(__assign({}, explore), { source: "function" }))(input)), config.joiner.failure(input, tuple.name, explore));
468
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "t").concat(tuple.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(__assign(__assign({}, explore), { source: "function" }))(input)), config.joiner.failure(input, tuple.type.name, explore));
449
469
  };
450
470
  };
451
471
  };
@@ -453,18 +473,18 @@ var CheckerProgrammer;
453
473
  var decode_tuple_inline = function (project) {
454
474
  return function (config) {
455
475
  return function (importer) {
456
- return function (input, tuple, explore, tagList, jsDocTags) {
476
+ return function (input, tuple, explore) {
457
477
  var binaries = tuple.elements
458
478
  .filter(function (meta) { return meta.rest === null; })
459
479
  .map(function (meta, index) {
460
480
  return CheckerProgrammer.decode(project)(config)(importer)(typescript_1.default.factory.createElementAccessExpression(input, index), meta, __assign(__assign({}, explore), { from: "array", postfix: explore.postfix.length
461
481
  ? "".concat(explore.postfix.slice(0, -1), "[").concat(index, "]\"")
462
- : "\"[".concat(index, "]\"") }), tuple.of_map === true && index !== 1 ? [] : tagList, tuple.of_map === true && index !== 1 ? [] : jsDocTags);
482
+ : "\"[".concat(index, "]\"") }));
463
483
  });
464
484
  var rest = tuple.elements.length && tuple.elements.at(-1).rest !== null
465
485
  ? CheckerProgrammer.decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [
466
486
  typescript_1.default.factory.createNumericLiteral(tuple.elements.length - 1),
467
- ]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }), tagList, jsDocTags)
487
+ ]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }))
468
488
  : null;
469
489
  var arrayLength = typescript_1.default.factory.createPropertyAccessExpression(input, "length");
470
490
  return config.combiner(explore)("and")(input, __spreadArray(__spreadArray(__spreadArray([], __read((rest === null
@@ -508,7 +528,7 @@ var CheckerProgrammer;
508
528
  var explore_sets = function (project) {
509
529
  return function (config) {
510
530
  return function (importer) {
511
- return function (input, sets, explore, tags, jsDocTags) {
531
+ return function (input, sets, explore) {
512
532
  return typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.set({
513
533
  checker: CheckerProgrammer.decode(project)(config)(importer),
514
534
  decoder: decode_array(project)(config)(importer),
@@ -517,7 +537,7 @@ var CheckerProgrammer;
517
537
  failure: function (input, expected, explore) {
518
538
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
519
539
  },
520
- })([])(input, sets, explore, tags, jsDocTags), undefined, undefined);
540
+ })([])(input, sets, explore), undefined, undefined);
521
541
  };
522
542
  };
523
543
  };
@@ -525,11 +545,11 @@ var CheckerProgrammer;
525
545
  var explore_maps = function (project) {
526
546
  return function (config) {
527
547
  return function (importer) {
528
- return function (input, maps, explore, tags, jsDocTags) {
548
+ return function (input, maps, explore) {
529
549
  return typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.map({
530
550
  checker: function (input, entry, explore) {
531
551
  var func = CheckerProgrammer.decode(project)(config)(importer);
532
- return typescript_1.default.factory.createLogicalAnd(func(typescript_1.default.factory.createElementAccessExpression(input, 0), entry[0], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[0]") }), [], []), func(typescript_1.default.factory.createElementAccessExpression(input, 1), entry[1], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[1]") }), [], []));
552
+ return typescript_1.default.factory.createLogicalAnd(func(typescript_1.default.factory.createElementAccessExpression(input, 0), entry[0], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[0]") })), func(typescript_1.default.factory.createElementAccessExpression(input, 1), entry[1], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[1]") })));
533
553
  },
534
554
  decoder: decode_array(project)(config)(importer),
535
555
  empty: config.success,
@@ -537,7 +557,7 @@ var CheckerProgrammer;
537
557
  failure: function (input, expected, explore) {
538
558
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
539
559
  },
540
- })([])(input, maps, explore, tags, jsDocTags), undefined, undefined);
560
+ })([])(input, maps, explore), undefined, undefined);
541
561
  };
542
562
  };
543
563
  };
@@ -545,7 +565,7 @@ var CheckerProgrammer;
545
565
  var explore_tuples = function (project) {
546
566
  return function (config) {
547
567
  return function (importer) {
548
- return function (input, tuples, explore, tags, jsDocTags) {
568
+ return function (input, tuples, explore) {
549
569
  return explore_array_like_union_types(config)(importer)(UnionExplorer_1.UnionExplorer.tuple({
550
570
  checker: decode_tuple(project)(config)(importer),
551
571
  decoder: decode_tuple(project)(config)(importer),
@@ -554,7 +574,7 @@ var CheckerProgrammer;
554
574
  failure: function (input, expected, explore) {
555
575
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
556
576
  },
557
- }))(input, tuples, explore, tags, jsDocTags);
577
+ }))(input, tuples, explore);
558
578
  };
559
579
  };
560
580
  };
@@ -562,7 +582,7 @@ var CheckerProgrammer;
562
582
  var explore_arrays = function (project) {
563
583
  return function (config) {
564
584
  return function (importer) {
565
- return function (input, arrays, explore, tags, jsDocTags) {
585
+ return function (input, arrays, explore) {
566
586
  return explore_array_like_union_types(config)(importer)(UnionExplorer_1.UnionExplorer.array({
567
587
  checker: CheckerProgrammer.decode(project)(config)(importer),
568
588
  decoder: decode_array(project)(config)(importer),
@@ -571,7 +591,7 @@ var CheckerProgrammer;
571
591
  failure: function (input, expected, explore) {
572
592
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
573
593
  },
574
- }))(input, arrays, explore, tags, jsDocTags);
594
+ }))(input, arrays, explore);
575
595
  };
576
596
  };
577
597
  };
@@ -579,27 +599,34 @@ var CheckerProgrammer;
579
599
  var explore_arrays_and_tuples = function (project) {
580
600
  return function (config) {
581
601
  return function (importer) {
582
- return function (input, elements, explore, tags, jsDocTags) {
602
+ return function (input, elements, explore) {
583
603
  return explore_array_like_union_types(config)(importer)(UnionExplorer_1.UnionExplorer.array_or_tuple({
584
- checker: function (front, target, explore, tags, jsDocTags, array) {
604
+ checker: function (front, target, explore, array) {
585
605
  return target instanceof MetadataTuple_1.MetadataTuple
586
- ? decode_tuple(project)(config)(importer)(front, target, explore, tags, jsDocTags)
606
+ ? decode_tuple(project)(config)(importer)(front, target, explore)
587
607
  : config.atomist(explore)({
588
- expression: CheckerProgrammer.decode(project)(config)(importer)(front, target, explore, tags, jsDocTags),
589
- tags: (0, check_array_length_1.check_array_length)(tags)(array),
608
+ expected: elements
609
+ .map(function (elem) {
610
+ return elem instanceof MetadataArray_1.MetadataArray
611
+ ? elem.getName()
612
+ : elem.type.name;
613
+ })
614
+ .join(" | "),
615
+ expression: CheckerProgrammer.decode(project)(config)(importer)(front, target, explore),
616
+ conditions: [],
590
617
  })(array);
591
618
  },
592
- decoder: function (input, target, explore, tags, jsDocTags) {
619
+ decoder: function (input, target, explore) {
593
620
  return target instanceof MetadataTuple_1.MetadataTuple
594
- ? decode_tuple(project)(config)(importer)(input, target, explore, tags, jsDocTags)
595
- : decode_array(project)(config)(importer)(input, target, explore, tags, jsDocTags);
621
+ ? decode_tuple(project)(config)(importer)(input, target, explore)
622
+ : decode_array(project)(config)(importer)(input, target, explore);
596
623
  },
597
624
  empty: config.success,
598
625
  success: config.success,
599
626
  failure: function (input, expected, explore) {
600
627
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
601
628
  },
602
- }))(input, elements, explore, tags, jsDocTags);
629
+ }))(input, elements, explore);
603
630
  };
604
631
  };
605
632
  };
@@ -607,20 +634,20 @@ var CheckerProgrammer;
607
634
  var explore_array_like_union_types = function (config) {
608
635
  return function (importer) {
609
636
  return function (factory) {
610
- return function (input, elements, explore, tags, jsDocTags) {
637
+ return function (input, elements, explore) {
611
638
  var arrow = function (parameters) {
612
639
  return function (explore) {
613
640
  return function (input) {
614
- return factory(parameters)(input, elements, explore, tags, jsDocTags);
641
+ return factory(parameters)(input, elements, explore);
615
642
  };
616
643
  };
617
644
  };
618
- if (elements.every(function (e) { return e.recursive === false; }))
645
+ if (elements.every(function (e) { return e.type.recursive === false; }))
619
646
  typescript_1.default.factory.createCallExpression(arrow([])(explore)(input), undefined, []);
620
647
  explore = __assign(__assign({}, explore), { source: "function", from: "array" });
621
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.emplaceUnion(config.prefix, elements.map(function (e) { return e.name; }).join(" | "), function () {
648
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.emplaceUnion(config.prefix, elements.map(function (e) { return e.type.name; }).join(" | "), function () {
622
649
  return arrow(FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")))(__assign(__assign({}, explore), { postfix: "" }))(typescript_1.default.factory.createIdentifier("input"));
623
- })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(explore)(input)), config.joiner.failure(input, elements.map(function (e) { return e.name; }).join(" | "), explore));
650
+ })), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(explore)(input)), config.joiner.failure(input, elements.map(function (e) { return e.type.name; }).join(" | "), explore));
624
651
  };
625
652
  };
626
653
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CheckerProgrammer.js","sourceRoot":"","sources":["../../src/programmers/CheckerProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckerProgrammer.js","sourceRoot":"","sources":["../../src/programmers/CheckerProgrammer.ts"],"names":[],"mappings":"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"}