typia 3.8.0-dev.20230417 → 3.8.0-dev.20230420

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 (571) hide show
  1. package/README.md +2 -2
  2. package/lib/executable/TypiaGenerateWizard.js +2 -2
  3. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  4. package/lib/executable/setup/CommandExecutor.d.ts +1 -1
  5. package/lib/executable/setup/CommandExecutor.js +2 -3
  6. package/lib/executable/setup/CommandExecutor.js.map +1 -1
  7. package/lib/executable/setup/PackageManager.d.ts +1 -1
  8. package/lib/executable/typia.d.ts +2 -2
  9. package/lib/executable/typia.js +58 -60
  10. package/lib/executable/typia.js.map +1 -1
  11. package/lib/factories/CommentFactory.d.ts +1 -1
  12. package/lib/factories/CommentFactory.js +3 -3
  13. package/lib/factories/CommentFactory.js.map +1 -1
  14. package/lib/factories/ExpressionFactory.d.ts +6 -6
  15. package/lib/factories/ExpressionFactory.js +30 -27
  16. package/lib/factories/ExpressionFactory.js.map +1 -1
  17. package/lib/factories/IdentifierFactory.d.ts +4 -4
  18. package/lib/factories/IdentifierFactory.js +9 -13
  19. package/lib/factories/IdentifierFactory.js.map +1 -1
  20. package/lib/factories/LiteralFactory.d.ts +1 -1
  21. package/lib/factories/LiteralFactory.js +14 -16
  22. package/lib/factories/LiteralFactory.js.map +1 -1
  23. package/lib/factories/MetadataCollection.d.ts +2 -2
  24. package/lib/factories/MetadataCollection.js +8 -10
  25. package/lib/factories/MetadataCollection.js.map +1 -1
  26. package/lib/factories/MetadataFactory.d.ts +5 -1
  27. package/lib/factories/MetadataFactory.js +44 -36
  28. package/lib/factories/MetadataFactory.js.map +1 -1
  29. package/lib/factories/MetadataTagFactory.d.ts +1 -1
  30. package/lib/factories/MetadataTagFactory.js +46 -42
  31. package/lib/factories/MetadataTagFactory.js.map +1 -1
  32. package/lib/factories/StatementFactory.d.ts +2 -2
  33. package/lib/factories/StatementFactory.js +4 -6
  34. package/lib/factories/StatementFactory.js.map +1 -1
  35. package/lib/factories/TemplateFactory.d.ts +1 -1
  36. package/lib/factories/TemplateFactory.js +15 -14
  37. package/lib/factories/TemplateFactory.js.map +1 -1
  38. package/lib/factories/TypeFactory.d.ts +4 -4
  39. package/lib/factories/TypeFactory.js +59 -52
  40. package/lib/factories/TypeFactory.js.map +1 -1
  41. package/lib/factories/internal/metadata/MetadataHelper.d.ts +1 -1
  42. package/lib/factories/internal/metadata/MetadataHelper.js +2 -3
  43. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  44. package/lib/factories/internal/metadata/emplace_metadata_object.js +4 -2
  45. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  46. package/lib/factories/internal/metadata/iterate_metadata_map.js +1 -1
  47. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  48. package/lib/factories/internal/metadata/iterate_metadata_native.js +2 -2
  49. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  50. package/lib/factories/internal/metadata/iterate_metadata_resolve.js +1 -1
  51. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
  52. package/lib/factories/internal/metadata/iterate_metadata_set.js +1 -1
  53. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  54. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +2 -2
  55. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  56. package/lib/factories/internal/metadata/iterate_metadata_union.js +1 -1
  57. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  58. package/lib/functional/$any.d.ts +1 -1
  59. package/lib/functional/$any.js +2 -2
  60. package/lib/functional/$any.js.map +1 -1
  61. package/lib/functional/$is_between.d.ts +1 -1
  62. package/lib/functional/$is_between.js +2 -2
  63. package/lib/functional/$is_between.js.map +1 -1
  64. package/lib/functional/$is_custom.d.ts +1 -1
  65. package/lib/functional/$is_custom.js +2 -2
  66. package/lib/functional/$is_custom.js.map +1 -1
  67. package/lib/functional/$is_date.d.ts +1 -1
  68. package/lib/functional/$is_date.js +1 -3
  69. package/lib/functional/$is_date.js.map +1 -1
  70. package/lib/functional/$is_datetime.d.ts +1 -1
  71. package/lib/functional/$is_datetime.js +2 -2
  72. package/lib/functional/$is_datetime.js.map +1 -1
  73. package/lib/functional/$is_email.d.ts +1 -1
  74. package/lib/functional/$is_email.js +1 -3
  75. package/lib/functional/$is_email.js.map +1 -1
  76. package/lib/functional/$is_ipv4.d.ts +1 -1
  77. package/lib/functional/$is_ipv4.js +1 -3
  78. package/lib/functional/$is_ipv4.js.map +1 -1
  79. package/lib/functional/$is_ipv6.d.ts +1 -1
  80. package/lib/functional/$is_ipv6.js +1 -3
  81. package/lib/functional/$is_ipv6.js.map +1 -1
  82. package/lib/functional/$is_url.d.ts +1 -1
  83. package/lib/functional/$is_url.js +1 -3
  84. package/lib/functional/$is_url.js.map +1 -1
  85. package/lib/functional/$is_uuid.d.ts +1 -1
  86. package/lib/functional/$is_uuid.js +1 -3
  87. package/lib/functional/$is_uuid.js.map +1 -1
  88. package/lib/functional/$join.d.ts +1 -1
  89. package/lib/functional/$join.js +5 -7
  90. package/lib/functional/$join.js.map +1 -1
  91. package/lib/functional/$number.d.ts +1 -1
  92. package/lib/functional/$number.js +2 -2
  93. package/lib/functional/$number.js.map +1 -1
  94. package/lib/functional/$rest.d.ts +1 -1
  95. package/lib/functional/$rest.js +2 -2
  96. package/lib/functional/$rest.js.map +1 -1
  97. package/lib/functional/$string.js +2 -2
  98. package/lib/functional/$string.js.map +1 -1
  99. package/lib/functional/$tail.js +2 -2
  100. package/lib/functional/$tail.js.map +1 -1
  101. package/lib/metadata/Metadata.d.ts +3 -3
  102. package/lib/metadata/Metadata.js +16 -19
  103. package/lib/metadata/Metadata.js.map +1 -1
  104. package/lib/metadata/MetadataConstant.d.ts +1 -1
  105. package/lib/metadata/MetadataObject.js +6 -8
  106. package/lib/metadata/MetadataObject.js.map +1 -1
  107. package/lib/module.js +1 -1
  108. package/lib/module.js.map +1 -1
  109. package/lib/programmers/ApplicationProgrammer.d.ts +5 -1
  110. package/lib/programmers/ApplicationProgrammer.js +17 -16
  111. package/lib/programmers/ApplicationProgrammer.js.map +1 -1
  112. package/lib/programmers/AssertCloneProgrammer.d.ts +4 -0
  113. package/lib/programmers/AssertCloneProgrammer.js +16 -9
  114. package/lib/programmers/AssertCloneProgrammer.js.map +1 -1
  115. package/lib/programmers/AssertParseProgrammer.d.ts +4 -0
  116. package/lib/programmers/AssertParseProgrammer.js +14 -7
  117. package/lib/programmers/AssertParseProgrammer.js.map +1 -1
  118. package/lib/programmers/AssertProgrammer.d.ts +4 -0
  119. package/lib/programmers/AssertProgrammer.js +45 -36
  120. package/lib/programmers/AssertProgrammer.js.map +1 -1
  121. package/lib/programmers/AssertPruneProgrammer.d.ts +4 -0
  122. package/lib/programmers/AssertPruneProgrammer.js +16 -9
  123. package/lib/programmers/AssertPruneProgrammer.js.map +1 -1
  124. package/lib/programmers/AssertStringifyProgrammer.d.ts +4 -0
  125. package/lib/programmers/AssertStringifyProgrammer.js +16 -9
  126. package/lib/programmers/AssertStringifyProgrammer.js.map +1 -1
  127. package/lib/programmers/CheckerProgrammer.d.ts +7 -7
  128. package/lib/programmers/CheckerProgrammer.js +403 -364
  129. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  130. package/lib/programmers/CloneProgrammer.d.ts +5 -1
  131. package/lib/programmers/CloneProgrammer.js +37 -31
  132. package/lib/programmers/CloneProgrammer.js.map +1 -1
  133. package/lib/programmers/FeatureProgrammer.d.ts +6 -14
  134. package/lib/programmers/FeatureProgrammer.js +54 -47
  135. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  136. package/lib/programmers/IsCloneProgrammer.d.ts +4 -0
  137. package/lib/programmers/IsCloneProgrammer.js +19 -12
  138. package/lib/programmers/IsCloneProgrammer.js.map +1 -1
  139. package/lib/programmers/IsParseProgrammer.d.ts +4 -0
  140. package/lib/programmers/IsParseProgrammer.js +14 -7
  141. package/lib/programmers/IsParseProgrammer.js.map +1 -1
  142. package/lib/programmers/IsProgrammer.d.ts +12 -8
  143. package/lib/programmers/IsProgrammer.js +69 -52
  144. package/lib/programmers/IsProgrammer.js.map +1 -1
  145. package/lib/programmers/IsPruneProgrammer.d.ts +4 -0
  146. package/lib/programmers/IsPruneProgrammer.js +16 -9
  147. package/lib/programmers/IsPruneProgrammer.js.map +1 -1
  148. package/lib/programmers/IsStringifyProgrammer.d.ts +4 -0
  149. package/lib/programmers/IsStringifyProgrammer.js +17 -10
  150. package/lib/programmers/IsStringifyProgrammer.js.map +1 -1
  151. package/lib/programmers/LiteralsProgrammer.d.ts +4 -0
  152. package/lib/programmers/LiteralsProgrammer.js +6 -4
  153. package/lib/programmers/LiteralsProgrammer.js.map +1 -1
  154. package/lib/programmers/PruneProgrammer.d.ts +5 -1
  155. package/lib/programmers/PruneProgrammer.js +189 -171
  156. package/lib/programmers/PruneProgrammer.js.map +1 -1
  157. package/lib/programmers/RandomProgrammer.d.ts +5 -1
  158. package/lib/programmers/RandomProgrammer.js +28 -20
  159. package/lib/programmers/RandomProgrammer.js.map +1 -1
  160. package/lib/programmers/StringifyProgrammer.d.ts +5 -1
  161. package/lib/programmers/StringifyProgrammer.js +124 -110
  162. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  163. package/lib/programmers/TypiaProgrammer.d.ts +8 -0
  164. package/lib/{factories/TypiaFileFactory.js → programmers/TypiaProgrammer.js} +108 -111
  165. package/lib/programmers/TypiaProgrammer.js.map +1 -0
  166. package/lib/programmers/ValidateCloneProgrammer.d.ts +4 -0
  167. package/lib/programmers/ValidateCloneProgrammer.js +16 -9
  168. package/lib/programmers/ValidateCloneProgrammer.js.map +1 -1
  169. package/lib/programmers/ValidateParseProgrammer.d.ts +4 -0
  170. package/lib/programmers/ValidateParseProgrammer.js +15 -8
  171. package/lib/programmers/ValidateParseProgrammer.js.map +1 -1
  172. package/lib/programmers/ValidateProgrammer.d.ts +4 -0
  173. package/lib/programmers/ValidateProgrammer.js +51 -42
  174. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  175. package/lib/programmers/ValidatePruneProgrammer.d.ts +4 -0
  176. package/lib/programmers/ValidatePruneProgrammer.js +16 -9
  177. package/lib/programmers/ValidatePruneProgrammer.js.map +1 -1
  178. package/lib/programmers/ValidateStringifyProgrammer.d.ts +4 -0
  179. package/lib/programmers/ValidateStringifyProgrammer.js +16 -9
  180. package/lib/programmers/ValidateStringifyProgrammer.js.map +1 -1
  181. package/lib/programmers/helpers/CloneJoiner.d.ts +1 -2
  182. package/lib/programmers/helpers/CloneJoiner.js +1 -1
  183. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  184. package/lib/programmers/helpers/FunctionImporeter.js +1 -1
  185. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  186. package/lib/programmers/helpers/OptionPredicator.d.ts +4 -4
  187. package/lib/programmers/helpers/OptionPredicator.js +9 -13
  188. package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
  189. package/lib/programmers/helpers/PruneJoiner.js +1 -1
  190. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  191. package/lib/programmers/helpers/StringifyJoinder.d.ts +2 -2
  192. package/lib/programmers/helpers/StringifyJoinder.js +5 -7
  193. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  194. package/lib/programmers/helpers/StringifyPredicator.d.ts +2 -2
  195. package/lib/programmers/helpers/StringifyPredicator.js +7 -11
  196. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  197. package/lib/programmers/helpers/UnionExplorer.js +7 -7
  198. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  199. package/lib/programmers/helpers/UnionPredicator.d.ts +1 -1
  200. package/lib/programmers/helpers/UnionPredicator.js +3 -4
  201. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  202. package/lib/programmers/internal/application_array.js +20 -18
  203. package/lib/programmers/internal/application_array.js.map +1 -1
  204. package/lib/programmers/internal/application_boolean.js +1 -1
  205. package/lib/programmers/internal/application_boolean.js.map +1 -1
  206. package/lib/programmers/internal/application_constant.js +11 -9
  207. package/lib/programmers/internal/application_constant.js.map +1 -1
  208. package/lib/programmers/internal/application_default_string.js +39 -37
  209. package/lib/programmers/internal/application_default_string.js.map +1 -1
  210. package/lib/programmers/internal/application_native.js +4 -4
  211. package/lib/programmers/internal/application_native.js.map +1 -1
  212. package/lib/programmers/internal/application_number.js +5 -5
  213. package/lib/programmers/internal/application_number.js.map +1 -1
  214. package/lib/programmers/internal/application_object.js +97 -95
  215. package/lib/programmers/internal/application_object.js.map +1 -1
  216. package/lib/programmers/internal/application_schema.js +160 -122
  217. package/lib/programmers/internal/application_schema.js.map +1 -1
  218. package/lib/programmers/internal/application_string.js +1 -1
  219. package/lib/programmers/internal/application_string.js.map +1 -1
  220. package/lib/programmers/internal/application_templates.js +7 -5
  221. package/lib/programmers/internal/application_templates.js.map +1 -1
  222. package/lib/programmers/internal/application_tuple.js +6 -4
  223. package/lib/programmers/internal/application_tuple.js.map +1 -1
  224. package/lib/programmers/internal/check_array.js +1 -1
  225. package/lib/programmers/internal/check_array.js.map +1 -1
  226. package/lib/programmers/internal/check_custom.js +2 -2
  227. package/lib/programmers/internal/check_custom.js.map +1 -1
  228. package/lib/programmers/internal/check_dynamic_properties.js +3 -3
  229. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  230. package/lib/programmers/internal/check_everything.js +1 -1
  231. package/lib/programmers/internal/check_everything.js.map +1 -1
  232. package/lib/programmers/internal/check_native.js +1 -1
  233. package/lib/programmers/internal/check_native.js.map +1 -1
  234. package/lib/programmers/internal/check_string_tags.js +3 -3
  235. package/lib/programmers/internal/check_string_tags.js.map +1 -1
  236. package/lib/programmers/internal/check_union_array_like.js +1 -1
  237. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  238. package/lib/programmers/internal/check_union_tuple.js +7 -3
  239. package/lib/programmers/internal/check_union_tuple.js.map +1 -1
  240. package/lib/programmers/internal/random_custom.js +1 -1
  241. package/lib/programmers/internal/random_custom.js.map +1 -1
  242. package/lib/programmers/internal/stringify_dynamic_properties.js +8 -8
  243. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  244. package/lib/programmers/internal/stringify_native.js +2 -2
  245. package/lib/programmers/internal/stringify_native.js.map +1 -1
  246. package/lib/programmers/internal/stringify_regular_properties.js +4 -4
  247. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  248. package/lib/transform.d.ts +1 -1
  249. package/lib/transform.js +5 -8
  250. package/lib/transform.js.map +1 -1
  251. package/lib/transformers/CallExpressionTransformer.d.ts +1 -1
  252. package/lib/transformers/CallExpressionTransformer.js +23 -20
  253. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  254. package/lib/transformers/FileTransformer.d.ts +1 -1
  255. package/lib/transformers/FileTransformer.js +30 -21
  256. package/lib/transformers/FileTransformer.js.map +1 -1
  257. package/lib/transformers/NodeTransformer.d.ts +1 -1
  258. package/lib/transformers/NodeTransformer.js +7 -6
  259. package/lib/transformers/NodeTransformer.js.map +1 -1
  260. package/lib/transformers/features/miscellaneous/ApplicationTransformer.d.ts +1 -1
  261. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +42 -41
  262. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
  263. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.d.ts +1 -1
  264. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.js +1 -1
  265. package/lib/transformers/features/miscellaneous/AssertCloneTransformer.js.map +1 -1
  266. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.d.ts +1 -1
  267. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js +1 -1
  268. package/lib/transformers/features/miscellaneous/AssertPruneTransformer.js.map +1 -1
  269. package/lib/transformers/features/miscellaneous/CloneTransformer.d.ts +1 -1
  270. package/lib/transformers/features/miscellaneous/CloneTransformer.js +1 -1
  271. package/lib/transformers/features/miscellaneous/CloneTransformer.js.map +1 -1
  272. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.d.ts +1 -1
  273. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.js +1 -1
  274. package/lib/transformers/features/miscellaneous/CreateAssertCloneTransformer.js.map +1 -1
  275. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.d.ts +1 -1
  276. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js +1 -1
  277. package/lib/transformers/features/miscellaneous/CreateAssertPruneTransformer.js.map +1 -1
  278. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.d.ts +1 -1
  279. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.js +1 -1
  280. package/lib/transformers/features/miscellaneous/CreateCloneTransformer.js.map +1 -1
  281. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.d.ts +1 -1
  282. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.js +1 -1
  283. package/lib/transformers/features/miscellaneous/CreateIsCloneTransformer.js.map +1 -1
  284. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.d.ts +1 -1
  285. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js +1 -1
  286. package/lib/transformers/features/miscellaneous/CreateIsPruneTransformer.js.map +1 -1
  287. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.d.ts +1 -1
  288. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js +1 -1
  289. package/lib/transformers/features/miscellaneous/CreatePruneTransformer.js.map +1 -1
  290. package/lib/transformers/features/miscellaneous/CreateRandomTransformer.d.ts +1 -1
  291. package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js +14 -11
  292. package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js.map +1 -1
  293. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.d.ts +1 -1
  294. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.js +1 -1
  295. package/lib/transformers/features/miscellaneous/CreateValidateCloneTransformer.js.map +1 -1
  296. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.d.ts +1 -1
  297. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js +1 -1
  298. package/lib/transformers/features/miscellaneous/CreateValidatePruneTransformer.js.map +1 -1
  299. package/lib/transformers/features/miscellaneous/IsCloneTransformer.d.ts +1 -1
  300. package/lib/transformers/features/miscellaneous/IsCloneTransformer.js +1 -1
  301. package/lib/transformers/features/miscellaneous/IsCloneTransformer.js.map +1 -1
  302. package/lib/transformers/features/miscellaneous/IsPruneTransformer.d.ts +1 -1
  303. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js +1 -1
  304. package/lib/transformers/features/miscellaneous/IsPruneTransformer.js.map +1 -1
  305. package/lib/transformers/features/miscellaneous/LiteralsTransformer.d.ts +1 -1
  306. package/lib/transformers/features/miscellaneous/LiteralsTransformer.js +12 -11
  307. package/lib/transformers/features/miscellaneous/LiteralsTransformer.js.map +1 -1
  308. package/lib/transformers/features/miscellaneous/MetadataTransformer.d.ts +1 -1
  309. package/lib/transformers/features/miscellaneous/MetadataTransformer.js +27 -26
  310. package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -1
  311. package/lib/transformers/features/miscellaneous/PruneTransformer.d.ts +1 -1
  312. package/lib/transformers/features/miscellaneous/PruneTransformer.js +1 -1
  313. package/lib/transformers/features/miscellaneous/PruneTransformer.js.map +1 -1
  314. package/lib/transformers/features/miscellaneous/RandomTransformer.d.ts +1 -1
  315. package/lib/transformers/features/miscellaneous/RandomTransformer.js +16 -13
  316. package/lib/transformers/features/miscellaneous/RandomTransformer.js.map +1 -1
  317. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.d.ts +1 -1
  318. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.js +1 -1
  319. package/lib/transformers/features/miscellaneous/ValidateCloneTransformer.js.map +1 -1
  320. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.d.ts +1 -1
  321. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js +1 -1
  322. package/lib/transformers/features/miscellaneous/ValidatePruneTransformer.js.map +1 -1
  323. package/lib/transformers/features/parsers/AssertParseTransformer.d.ts +1 -1
  324. package/lib/transformers/features/parsers/AssertParseTransformer.js +1 -1
  325. package/lib/transformers/features/parsers/AssertParseTransformer.js.map +1 -1
  326. package/lib/transformers/features/parsers/CreateAssertParseTransformer.d.ts +1 -1
  327. package/lib/transformers/features/parsers/CreateAssertParseTransformer.js +1 -1
  328. package/lib/transformers/features/parsers/CreateAssertParseTransformer.js.map +1 -1
  329. package/lib/transformers/features/parsers/CreateIsParseTransformer.d.ts +1 -1
  330. package/lib/transformers/features/parsers/CreateIsParseTransformer.js +1 -1
  331. package/lib/transformers/features/parsers/CreateIsParseTransformer.js.map +1 -1
  332. package/lib/transformers/features/parsers/CreateValidateParseTransformer.d.ts +1 -1
  333. package/lib/transformers/features/parsers/CreateValidateParseTransformer.js +1 -1
  334. package/lib/transformers/features/parsers/CreateValidateParseTransformer.js.map +1 -1
  335. package/lib/transformers/features/parsers/IsParseTransformer.d.ts +1 -1
  336. package/lib/transformers/features/parsers/IsParseTransformer.js +1 -1
  337. package/lib/transformers/features/parsers/IsParseTransformer.js.map +1 -1
  338. package/lib/transformers/features/parsers/ValidateParseTransformer.d.ts +1 -1
  339. package/lib/transformers/features/parsers/ValidateParseTransformer.js +1 -1
  340. package/lib/transformers/features/parsers/ValidateParseTransformer.js.map +1 -1
  341. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.d.ts +1 -1
  342. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.js +3 -3
  343. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.js.map +1 -1
  344. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.d.ts +1 -1
  345. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.js +3 -1
  346. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.js.map +1 -1
  347. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.d.ts +1 -1
  348. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.js +1 -1
  349. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.js.map +1 -1
  350. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.d.ts +1 -1
  351. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.js +1 -1
  352. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.js.map +1 -1
  353. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.d.ts +1 -1
  354. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.js +3 -3
  355. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.js.map +1 -1
  356. package/lib/transformers/features/stringifiers/IsStringifyTransformer.d.ts +1 -1
  357. package/lib/transformers/features/stringifiers/IsStringifyTransformer.js +1 -1
  358. package/lib/transformers/features/stringifiers/IsStringifyTransformer.js.map +1 -1
  359. package/lib/transformers/features/stringifiers/StringifyTransformer.d.ts +1 -1
  360. package/lib/transformers/features/stringifiers/StringifyTransformer.js +1 -1
  361. package/lib/transformers/features/stringifiers/StringifyTransformer.js.map +1 -1
  362. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.d.ts +1 -1
  363. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.js +3 -3
  364. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.js.map +1 -1
  365. package/lib/transformers/features/validators/AssertTransformer.d.ts +1 -1
  366. package/lib/transformers/features/validators/AssertTransformer.js +3 -3
  367. package/lib/transformers/features/validators/AssertTransformer.js.map +1 -1
  368. package/lib/transformers/features/validators/CreateAssertTransformer.d.ts +1 -1
  369. package/lib/transformers/features/validators/CreateAssertTransformer.js +3 -3
  370. package/lib/transformers/features/validators/CreateAssertTransformer.js.map +1 -1
  371. package/lib/transformers/features/validators/CreateIsTransformer.d.ts +1 -1
  372. package/lib/transformers/features/validators/CreateIsTransformer.js +3 -1
  373. package/lib/transformers/features/validators/CreateIsTransformer.js.map +1 -1
  374. package/lib/transformers/features/validators/CreateValidateTransformer.d.ts +1 -1
  375. package/lib/transformers/features/validators/CreateValidateTransformer.js +3 -3
  376. package/lib/transformers/features/validators/CreateValidateTransformer.js.map +1 -1
  377. package/lib/transformers/features/validators/IsTransformer.d.ts +1 -1
  378. package/lib/transformers/features/validators/IsTransformer.js +3 -3
  379. package/lib/transformers/features/validators/IsTransformer.js.map +1 -1
  380. package/lib/transformers/features/validators/ValidateTransformer.d.ts +1 -1
  381. package/lib/transformers/features/validators/ValidateTransformer.js +3 -3
  382. package/lib/transformers/features/validators/ValidateTransformer.js.map +1 -1
  383. package/lib/transformers/internal/GenericTransformer.d.ts +2 -2
  384. package/lib/transformers/internal/GenericTransformer.js +36 -28
  385. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  386. package/lib/typings/Customizable.d.ts +2 -2
  387. package/lib/utils/ArrayUtil.d.ts +6 -6
  388. package/lib/utils/ArrayUtil.js +13 -21
  389. package/lib/utils/ArrayUtil.js.map +1 -1
  390. package/lib/utils/Escaper.d.ts +1 -1
  391. package/lib/utils/Escaper.js +4 -7
  392. package/lib/utils/Escaper.js.map +1 -1
  393. package/lib/utils/MapUtil.d.ts +1 -1
  394. package/lib/utils/MapUtil.js +10 -9
  395. package/lib/utils/MapUtil.js.map +1 -1
  396. package/lib/utils/PatternUtil.d.ts +2 -2
  397. package/lib/utils/PatternUtil.js +4 -6
  398. package/lib/utils/PatternUtil.js.map +1 -1
  399. package/lib/utils/RandomGenerator.d.ts +1 -17
  400. package/lib/utils/RandomGenerator.js +33 -58
  401. package/lib/utils/RandomGenerator.js.map +1 -1
  402. package/package.json +6 -7
  403. package/src/IRandomGenerator.ts +33 -33
  404. package/src/executable/TypiaGenerateWizard.ts +85 -85
  405. package/src/executable/TypiaSetupWizard.ts +118 -118
  406. package/src/executable/setup/ArgumentParser.ts +45 -45
  407. package/src/executable/setup/CommandExecutor.ts +8 -8
  408. package/src/executable/setup/FileRetriever.ts +22 -22
  409. package/src/executable/setup/PackageManager.ts +71 -71
  410. package/src/executable/setup/PluginConfigurator.ts +59 -59
  411. package/src/executable/typia.ts +52 -52
  412. package/src/factories/CommentFactory.ts +8 -3
  413. package/src/factories/ExpressionFactory.ts +52 -59
  414. package/src/factories/IdentifierFactory.ts +57 -59
  415. package/src/factories/LiteralFactory.ts +18 -23
  416. package/src/factories/MetadataCollection.ts +8 -9
  417. package/src/factories/MetadataFactory.ts +42 -31
  418. package/src/factories/MetadataTagFactory.ts +297 -302
  419. package/src/factories/StatementFactory.ts +4 -40
  420. package/src/factories/TemplateFactory.ts +20 -18
  421. package/src/factories/TypeFactory.ts +69 -74
  422. package/src/factories/internal/metadata/MetadataHelper.ts +2 -2
  423. package/src/factories/internal/metadata/emplace_metadata_object.ts +3 -5
  424. package/src/factories/internal/metadata/iterate_metadata_map.ts +1 -1
  425. package/src/factories/internal/metadata/iterate_metadata_native.ts +2 -5
  426. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +1 -1
  427. package/src/factories/internal/metadata/iterate_metadata_set.ts +1 -1
  428. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +2 -3
  429. package/src/factories/internal/metadata/iterate_metadata_union.ts +2 -4
  430. package/src/functional/$any.ts +2 -3
  431. package/src/functional/$is_between.ts +2 -7
  432. package/src/functional/$is_custom.ts +3 -3
  433. package/src/functional/$is_date.ts +2 -3
  434. package/src/functional/$is_datetime.ts +2 -3
  435. package/src/functional/$is_email.ts +2 -3
  436. package/src/functional/$is_ipv4.ts +2 -3
  437. package/src/functional/$is_ipv6.ts +2 -3
  438. package/src/functional/$is_url.ts +2 -3
  439. package/src/functional/$is_uuid.ts +2 -3
  440. package/src/functional/$join.ts +5 -9
  441. package/src/functional/$number.ts +2 -2
  442. package/src/functional/$rest.ts +2 -2
  443. package/src/functional/$string.ts +2 -2
  444. package/src/functional/$tail.ts +2 -3
  445. package/src/metadata/ICommentTag.ts +4 -4
  446. package/src/metadata/Metadata.ts +533 -533
  447. package/src/metadata/MetadataConstant.ts +1 -1
  448. package/src/metadata/MetadataObject.ts +8 -12
  449. package/src/module.ts +2043 -2043
  450. package/src/programmers/ApplicationProgrammer.ts +28 -21
  451. package/src/programmers/AssertCloneProgrammer.ts +21 -12
  452. package/src/programmers/AssertParseProgrammer.ts +17 -11
  453. package/src/programmers/AssertProgrammer.ts +47 -46
  454. package/src/programmers/AssertPruneProgrammer.ts +21 -12
  455. package/src/programmers/AssertStringifyProgrammer.ts +23 -20
  456. package/src/programmers/CheckerProgrammer.ts +224 -269
  457. package/src/programmers/CloneProgrammer.ts +56 -55
  458. package/src/programmers/FeatureProgrammer.ts +500 -512
  459. package/src/programmers/IsCloneProgrammer.ts +18 -12
  460. package/src/programmers/IsParseProgrammer.ts +17 -11
  461. package/src/programmers/IsProgrammer.ts +108 -102
  462. package/src/programmers/IsPruneProgrammer.ts +18 -12
  463. package/src/programmers/IsStringifyProgrammer.ts +24 -21
  464. package/src/programmers/LiteralsProgrammer.ts +65 -65
  465. package/src/programmers/PruneProgrammer.ts +127 -123
  466. package/src/programmers/RandomProgrammer.ts +423 -413
  467. package/src/programmers/StringifyProgrammer.ts +109 -112
  468. package/src/{factories/TypiaFileFactory.ts → programmers/TypiaProgrammer.ts} +5 -5
  469. package/src/programmers/ValidateCloneProgrammer.ts +24 -21
  470. package/src/programmers/ValidateParseProgrammer.ts +17 -11
  471. package/src/programmers/ValidateProgrammer.ts +50 -51
  472. package/src/programmers/ValidatePruneProgrammer.ts +24 -21
  473. package/src/programmers/ValidateStringifyProgrammer.ts +24 -21
  474. package/src/programmers/helpers/CloneJoiner.ts +0 -3
  475. package/src/programmers/helpers/FunctionImporeter.ts +1 -2
  476. package/src/programmers/helpers/OptionPredicator.ts +8 -12
  477. package/src/programmers/helpers/PruneJoiner.ts +1 -1
  478. package/src/programmers/helpers/RandomJoiner.ts +161 -161
  479. package/src/programmers/helpers/RandomRanger.ts +216 -216
  480. package/src/programmers/helpers/StringifyJoinder.ts +7 -8
  481. package/src/programmers/helpers/StringifyPredicator.ts +5 -11
  482. package/src/programmers/helpers/UnionExplorer.ts +12 -18
  483. package/src/programmers/helpers/UnionPredicator.ts +3 -3
  484. package/src/programmers/internal/application_array.ts +10 -11
  485. package/src/programmers/internal/application_boolean.ts +7 -7
  486. package/src/programmers/internal/application_constant.ts +22 -21
  487. package/src/programmers/internal/application_default_string.ts +2 -1
  488. package/src/programmers/internal/application_native.ts +32 -32
  489. package/src/programmers/internal/application_number.ts +9 -9
  490. package/src/programmers/internal/application_object.ts +11 -10
  491. package/src/programmers/internal/application_schema.ts +49 -30
  492. package/src/programmers/internal/application_string.ts +1 -1
  493. package/src/programmers/internal/application_templates.ts +15 -16
  494. package/src/programmers/internal/application_tuple.ts +9 -9
  495. package/src/programmers/internal/check_array.ts +30 -30
  496. package/src/programmers/internal/check_array_length.ts +35 -35
  497. package/src/programmers/internal/check_custom.ts +15 -17
  498. package/src/programmers/internal/check_dynamic_properties.ts +194 -197
  499. package/src/programmers/internal/check_everything.ts +1 -1
  500. package/src/programmers/internal/check_native.ts +1 -1
  501. package/src/programmers/internal/check_number.ts +177 -177
  502. package/src/programmers/internal/check_string_tags.ts +67 -67
  503. package/src/programmers/internal/check_template.ts +56 -56
  504. package/src/programmers/internal/check_union_array_like.ts +271 -272
  505. package/src/programmers/internal/check_union_tuple.ts +4 -6
  506. package/src/programmers/internal/feature_object_entries.ts +63 -63
  507. package/src/programmers/internal/get_comment_tags.ts +23 -23
  508. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  509. package/src/programmers/internal/random_custom.ts +29 -30
  510. package/src/programmers/internal/stringify_dynamic_properties.ts +167 -168
  511. package/src/programmers/internal/stringify_native.ts +2 -3
  512. package/src/programmers/internal/stringify_regular_properties.ts +83 -84
  513. package/src/transform.ts +4 -8
  514. package/src/transformers/CallExpressionTransformer.ts +177 -174
  515. package/src/transformers/FileTransformer.ts +37 -39
  516. package/src/transformers/ImportTransformer.ts +66 -66
  517. package/src/transformers/NodeTransformer.ts +6 -12
  518. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +114 -119
  519. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +1 -1
  520. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +1 -1
  521. package/src/transformers/features/miscellaneous/CloneTransformer.ts +1 -1
  522. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +1 -1
  523. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +1 -1
  524. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +1 -1
  525. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +1 -1
  526. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +1 -1
  527. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +1 -1
  528. package/src/transformers/features/miscellaneous/CreateRandomTransformer.ts +39 -41
  529. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +1 -1
  530. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +1 -1
  531. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +1 -1
  532. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +1 -1
  533. package/src/transformers/features/miscellaneous/LiteralsTransformer.ts +28 -30
  534. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +52 -54
  535. package/src/transformers/features/miscellaneous/PruneTransformer.ts +1 -1
  536. package/src/transformers/features/miscellaneous/RandomTransformer.ts +42 -46
  537. package/src/transformers/features/miscellaneous/ValidateCloneTransformer.ts +1 -1
  538. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +1 -1
  539. package/src/transformers/features/parsers/AssertParseTransformer.ts +1 -1
  540. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +1 -1
  541. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +1 -1
  542. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +1 -1
  543. package/src/transformers/features/parsers/IsParseTransformer.ts +1 -1
  544. package/src/transformers/features/parsers/ValidateParseTransformer.ts +1 -1
  545. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +2 -2
  546. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +4 -1
  547. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +1 -1
  548. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +1 -1
  549. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +3 -2
  550. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +1 -1
  551. package/src/transformers/features/stringifiers/StringifyTransformer.ts +1 -1
  552. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +2 -2
  553. package/src/transformers/features/validators/AssertTransformer.ts +2 -2
  554. package/src/transformers/features/validators/CreateAssertTransformer.ts +3 -2
  555. package/src/transformers/features/validators/CreateIsTransformer.ts +2 -1
  556. package/src/transformers/features/validators/CreateValidateTransformer.ts +3 -2
  557. package/src/transformers/features/validators/IsTransformer.ts +3 -2
  558. package/src/transformers/features/validators/ValidateTransformer.ts +2 -2
  559. package/src/transformers/internal/GenericTransformer.ts +10 -12
  560. package/src/typings/Customizable.ts +5 -5
  561. package/src/utils/ArrayUtil.ts +16 -21
  562. package/src/utils/Escaper.ts +3 -8
  563. package/src/utils/MapUtil.ts +9 -11
  564. package/src/utils/PatternUtil.ts +4 -4
  565. package/src/utils/RandomGenerator.ts +81 -93
  566. package/lib/factories/TypiaFileFactory.d.ts +0 -8
  567. package/lib/factories/TypiaFileFactory.js.map +0 -1
  568. package/lib/transformers/ExpressionWithArgumentTransformer.d.ts +0 -0
  569. package/lib/transformers/ExpressionWithArgumentTransformer.js +0 -2
  570. package/lib/transformers/ExpressionWithArgumentTransformer.js.map +0 -1
  571. package/src/transformers/ExpressionWithArgumentTransformer.ts +0 -66
@@ -66,152 +66,160 @@ var UnionExplorer_1 = require("./helpers/UnionExplorer");
66
66
  var decode_union_object_1 = require("./internal/decode_union_object");
67
67
  var PruneProgrammer;
68
68
  (function (PruneProgrammer) {
69
- function generate(project, modulo) {
69
+ PruneProgrammer.generate = function (project, modulo) {
70
+ return function (type, name) {
71
+ return PruneProgrammer.write(project)(modulo)(type, name);
72
+ };
73
+ };
74
+ PruneProgrammer.write = function (project) { return function (modulo) {
70
75
  var importer = new FunctionImporeter_1.FunctionImporter();
71
- return FeatureProgrammer_1.FeatureProgrammer.generate(project, CONFIG(project, importer), importer, function (collection) {
72
- var isFunctors = IsProgrammer_1.IsProgrammer.generate_functors(project, importer)(collection);
73
- var isUnioners = IsProgrammer_1.IsProgrammer.generate_unioners(project, importer)(collection);
74
- return __spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(isFunctors.filter(function (_, i) {
75
- return importer.hasLocal("$io".concat(i));
76
- })), false), __read(isUnioners.filter(function (_, i) {
77
- return importer.hasLocal("$iu".concat(i));
78
- })), false);
79
- });
80
- }
81
- PruneProgrammer.generate = generate;
82
- var decode = function (project, importer) {
83
- return function (input, meta, explore) {
84
- var e_1, _a, e_2, _b;
85
- if (filter(meta) === false)
86
- return typescript_1.default.factory.createBlock([]);
87
- var unions = [];
88
- var _loop_1 = function (tuple) {
89
- unions.push({
90
- type: "tuple",
91
- is: function () {
92
- return IsProgrammer_1.IsProgrammer.decode(project, importer)(input, (function () {
93
- var partial = Metadata_1.Metadata.initialize();
94
- partial.tuples.push(tuple);
95
- return partial;
96
- })(), explore, [], []);
97
- },
98
- value: function () {
99
- return decode_tuple(project, importer)(input, tuple, explore);
100
- },
101
- });
102
- };
103
- try {
104
- for (var _c = __values(meta.tuples.filter(function (t) {
105
- return t.some(function (e) { var _a; return filter((_a = e.rest) !== null && _a !== void 0 ? _a : e); });
106
- })), _d = _c.next(); !_d.done; _d = _c.next()) {
107
- var tuple = _d.value;
108
- _loop_1(tuple);
109
- }
110
- }
111
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
112
- finally {
113
- try {
114
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
115
- }
116
- finally { if (e_1) throw e_1.error; }
117
- }
118
- if (meta.arrays.filter(filter).length)
119
- unions.push({
120
- type: "array",
121
- is: function () { return ExpressionFactory_1.ExpressionFactory.isArray(input); },
122
- value: function () {
123
- return explore_arrays(project, importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), [], []);
124
- },
125
- });
126
- if (meta.natives.length) {
127
- var _loop_2 = function (native) {
76
+ return FeatureProgrammer_1.FeatureProgrammer.analyze(project)(__assign(__assign({}, configure(project)(importer)), { addition: function (collection) {
77
+ var isFunctors = IsProgrammer_1.IsProgrammer.write_functors(project)(importer)(collection);
78
+ var isUnioners = IsProgrammer_1.IsProgrammer.write_unioners(project)(importer)(collection);
79
+ return __spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(isFunctors.filter(function (_, i) {
80
+ return importer.hasLocal("$io".concat(i));
81
+ })), false), __read(isUnioners.filter(function (_, i) {
82
+ return importer.hasLocal("$iu".concat(i));
83
+ })), false);
84
+ } }))(importer);
85
+ }; };
86
+ var decode = function (project) {
87
+ return function (importer) {
88
+ return function (input, meta, explore) {
89
+ var e_1, _a, e_2, _b;
90
+ if (filter(meta) === false)
91
+ return typescript_1.default.factory.createBlock([]);
92
+ var unions = [];
93
+ var _loop_1 = function (tuple) {
128
94
  unions.push({
129
- type: "native",
130
- is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, native); },
131
- value: function () { return typescript_1.default.factory.createReturnStatement(); },
95
+ type: "tuple",
96
+ is: function () {
97
+ return IsProgrammer_1.IsProgrammer.decode(project, importer)(input, (function () {
98
+ var partial = Metadata_1.Metadata.initialize();
99
+ partial.tuples.push(tuple);
100
+ return partial;
101
+ })(), explore, [], []);
102
+ },
103
+ value: function () {
104
+ return decode_tuple(project)(importer)(input, tuple, explore);
105
+ },
132
106
  });
133
107
  };
134
108
  try {
135
- for (var _e = __values(meta.natives), _f = _e.next(); !_f.done; _f = _e.next()) {
136
- var native = _f.value;
137
- _loop_2(native);
109
+ for (var _c = __values(meta.tuples.filter(function (t) {
110
+ return t.some(function (e) { var _a; return filter((_a = e.rest) !== null && _a !== void 0 ? _a : e); });
111
+ })), _d = _c.next(); !_d.done; _d = _c.next()) {
112
+ var tuple = _d.value;
113
+ _loop_1(tuple);
138
114
  }
139
115
  }
140
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
116
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
141
117
  finally {
142
118
  try {
143
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
119
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
144
120
  }
145
- finally { if (e_2) throw e_2.error; }
121
+ finally { if (e_1) throw e_1.error; }
146
122
  }
147
- }
148
- if (meta.sets.length)
149
- unions.push({
150
- type: "set",
151
- is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, "Set"); },
152
- value: function () { return typescript_1.default.factory.createReturnStatement(); },
153
- });
154
- if (meta.maps.length)
155
- unions.push({
156
- type: "map",
157
- is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(input, "Map"); },
158
- value: function () { return typescript_1.default.factory.createReturnStatement(); },
159
- });
160
- if (meta.objects.length)
161
- unions.push({
162
- type: "object",
163
- is: function () {
164
- return ExpressionFactory_1.ExpressionFactory.isObject(input, {
165
- checkNull: true,
166
- checkArray: false,
123
+ if (meta.arrays.filter(filter).length)
124
+ unions.push({
125
+ type: "array",
126
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isArray(input); },
127
+ value: function () {
128
+ return explore_arrays(project)(importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), [], []);
129
+ },
130
+ });
131
+ if (meta.natives.length) {
132
+ var _loop_2 = function (native) {
133
+ unions.push({
134
+ type: "native",
135
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf(native)(input); },
136
+ value: function () { return typescript_1.default.factory.createReturnStatement(); },
167
137
  });
168
- },
169
- value: function () {
170
- return explore_objects(importer)(input, meta, __assign(__assign({}, explore), { from: "object" }));
171
- },
138
+ };
139
+ try {
140
+ for (var _e = __values(meta.natives), _f = _e.next(); !_f.done; _f = _e.next()) {
141
+ var native = _f.value;
142
+ _loop_2(native);
143
+ }
144
+ }
145
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
146
+ finally {
147
+ try {
148
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
149
+ }
150
+ finally { if (e_2) throw e_2.error; }
151
+ }
152
+ }
153
+ if (meta.sets.length)
154
+ unions.push({
155
+ type: "set",
156
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf("Set")(input); },
157
+ value: function () { return typescript_1.default.factory.createReturnStatement(); },
158
+ });
159
+ if (meta.maps.length)
160
+ unions.push({
161
+ type: "map",
162
+ is: function () { return ExpressionFactory_1.ExpressionFactory.isInstanceOf("Map")(input); },
163
+ value: function () { return typescript_1.default.factory.createReturnStatement(); },
164
+ });
165
+ if (meta.objects.length)
166
+ unions.push({
167
+ type: "object",
168
+ is: function () {
169
+ return ExpressionFactory_1.ExpressionFactory.isObject({
170
+ checkNull: true,
171
+ checkArray: false,
172
+ })(input);
173
+ },
174
+ value: function () {
175
+ return explore_objects(importer)(input, meta, __assign(__assign({}, explore), { from: "object" }));
176
+ },
177
+ });
178
+ var converter = function (v) {
179
+ return typescript_1.default.isReturnStatement(v) || typescript_1.default.isBlock(v)
180
+ ? v
181
+ : typescript_1.default.factory.createExpressionStatement(v);
182
+ };
183
+ var statements = unions.map(function (u) {
184
+ return typescript_1.default.factory.createIfStatement(u.is(), converter(u.value()));
172
185
  });
173
- var converter = function (v) {
174
- return typescript_1.default.isReturnStatement(v) || typescript_1.default.isBlock(v)
175
- ? v
176
- : typescript_1.default.factory.createExpressionStatement(v);
186
+ return typescript_1.default.factory.createBlock(statements, true);
177
187
  };
178
- var statements = unions.map(function (u) {
179
- return typescript_1.default.factory.createIfStatement(u.is(), converter(u.value()));
180
- });
181
- return typescript_1.default.factory.createBlock(statements, true);
182
188
  };
183
189
  };
184
- var decode_tuple = function (project, importer) {
185
- return function (input, tuple, explore) {
186
- var children = tuple
187
- .map(function (elem, index) { return [elem, index]; })
188
- .filter(function (_a) {
189
- var _b = __read(_a, 1), elem = _b[0];
190
- return filter(elem) && elem.rest === null;
191
- })
192
- .map(function (_a) {
193
- var _b = __read(_a, 2), elem = _b[0], index = _b[1];
194
- return decode(project, importer)(typescript_1.default.factory.createElementAccessExpression(input, index), elem, __assign(__assign({}, explore), { from: "array" }));
195
- });
196
- var rest = (function () {
197
- if (tuple.length === 0)
198
- return null;
199
- var last = tuple[tuple.length - 1];
200
- var rest = last.rest;
201
- if (rest === null || filter(rest) === false)
202
- return null;
203
- return decode(project, importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "slice"), undefined, [typescript_1.default.factory.createNumericLiteral(tuple.length - 1)]), (function () {
204
- var wrapper = Metadata_1.Metadata.initialize();
205
- wrapper.arrays.push(rest);
206
- return wrapper;
207
- })(), __assign(__assign({}, explore), { start: tuple.length - 1 }));
208
- })();
209
- return PruneJoiner_1.PruneJoiner.tuple(children, rest);
190
+ var decode_tuple = function (project) {
191
+ return function (importer) {
192
+ return function (input, tuple, explore) {
193
+ var children = tuple
194
+ .map(function (elem, index) { return [elem, index]; })
195
+ .filter(function (_a) {
196
+ var _b = __read(_a, 1), elem = _b[0];
197
+ return filter(elem) && elem.rest === null;
198
+ })
199
+ .map(function (_a) {
200
+ var _b = __read(_a, 2), elem = _b[0], index = _b[1];
201
+ return decode(project)(importer)(typescript_1.default.factory.createElementAccessExpression(input, index), elem, __assign(__assign({}, explore), { from: "array" }));
202
+ });
203
+ var rest = (function () {
204
+ if (tuple.length === 0)
205
+ return null;
206
+ var last = tuple[tuple.length - 1];
207
+ var rest = last.rest;
208
+ if (rest === null || filter(rest) === false)
209
+ return null;
210
+ return decode(project)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input)("slice"), undefined, [typescript_1.default.factory.createNumericLiteral(tuple.length - 1)]), (function () {
211
+ var wrapper = Metadata_1.Metadata.initialize();
212
+ wrapper.arrays.push(rest);
213
+ return wrapper;
214
+ })(), __assign(__assign({}, explore), { start: tuple.length - 1 }));
215
+ })();
216
+ return PruneJoiner_1.PruneJoiner.tuple(children, rest);
217
+ };
210
218
  };
211
219
  };
212
- var decode_array = function (project, importer) {
213
- return FeatureProgrammer_1.FeatureProgrammer.decode_array(CONFIG(project, importer), importer, PruneJoiner_1.PruneJoiner.array);
214
- };
220
+ var decode_array = function (project) { return function (importer) {
221
+ return FeatureProgrammer_1.FeatureProgrammer.decode_array(configure(project)(importer))(importer)(PruneJoiner_1.PruneJoiner.array);
222
+ }; };
215
223
  var decode_object = function (importer) {
216
224
  return FeatureProgrammer_1.FeatureProgrammer.decode_object({
217
225
  trace: false,
@@ -219,17 +227,17 @@ var PruneProgrammer;
219
227
  functors: FUNCTORS,
220
228
  })(importer);
221
229
  };
222
- var explore_arrays = function (project, importer) {
230
+ var explore_arrays = function (project) { return function (importer) {
223
231
  return UnionExplorer_1.UnionExplorer.array({
224
232
  checker: IsProgrammer_1.IsProgrammer.decode(project, importer),
225
- decoder: decode_array(project, importer),
233
+ decoder: decode_array(project)(importer),
226
234
  empty: typescript_1.default.factory.createReturnStatement(),
227
235
  success: typescript_1.default.factory.createTrue(),
228
236
  failure: function (input, expected) {
229
- return create_throw_error(importer, input, expected);
237
+ return create_throw_error(importer)(expected)(input);
230
238
  },
231
239
  });
232
- };
240
+ }; };
233
241
  var explore_objects = function (importer) {
234
242
  return function (input, meta, explore) {
235
243
  if (meta.objects.length === 1)
@@ -245,48 +253,58 @@ var PruneProgrammer;
245
253
  };
246
254
  var FUNCTORS = "$po";
247
255
  var UNIONERS = "$pu";
248
- var CONFIG = function (project, importer) { return ({
249
- types: {
250
- input: function (type, name) {
251
- return typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type));
256
+ var configure = function (project) {
257
+ return function (importer) { return ({
258
+ types: {
259
+ input: function (type, name) {
260
+ return typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type));
261
+ },
262
+ output: function () { return TypeFactory_1.TypeFactory.keyword("void"); },
263
+ },
264
+ functors: FUNCTORS,
265
+ unioners: UNIONERS,
266
+ trace: false,
267
+ path: false,
268
+ initializer: initializer,
269
+ decoder: decode(project)(importer),
270
+ objector: objector(project)(importer),
271
+ }); };
272
+ };
273
+ var objector = function (project) {
274
+ return function (importer) { return ({
275
+ checker: IsProgrammer_1.IsProgrammer.decode(project, importer),
276
+ decoder: decode_object(importer),
277
+ joiner: PruneJoiner_1.PruneJoiner.object,
278
+ unionizer: (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(importer))(decode_object(importer))(function (exp) { return exp; })(function (value, expected) {
279
+ return create_throw_error(importer)(expected)(value);
280
+ }),
281
+ failure: function (input, expected) {
282
+ return create_throw_error(importer)(expected)(input);
252
283
  },
253
- output: function () { return TypeFactory_1.TypeFactory.keyword("void"); },
254
- },
255
- functors: FUNCTORS,
256
- unioners: UNIONERS,
257
- trace: false,
258
- path: false,
259
- initializer: initializer,
260
- decoder: decode(project, importer),
261
- objector: OBJECTOR(project, importer),
262
- }); };
263
- var OBJECTOR = function (project, importer) { return ({
264
- checker: IsProgrammer_1.IsProgrammer.decode(project, importer),
265
- decoder: decode_object(importer),
266
- joiner: PruneJoiner_1.PruneJoiner.object,
267
- unionizer: (0, decode_union_object_1.decode_union_object)(IsProgrammer_1.IsProgrammer.decode_object(importer))(decode_object(importer))(function (exp) { return exp; })(function (value, expected) {
268
- return create_throw_error(importer, value, expected);
269
- }),
270
- failure: function (input, expected) {
271
- return create_throw_error(importer, input, expected);
272
- },
273
- }); };
274
- var initializer = function (_a, type) {
284
+ }); };
285
+ };
286
+ var initializer = function (_a) {
275
287
  var checker = _a.checker;
276
- var collection = new MetadataCollection_1.MetadataCollection();
277
- var meta = MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
278
- resolve: false,
279
- constant: true,
280
- });
281
- return [collection, meta];
288
+ return function (type) {
289
+ var collection = new MetadataCollection_1.MetadataCollection();
290
+ var meta = MetadataFactory_1.MetadataFactory.analyze(checker)({
291
+ resolve: false,
292
+ constant: true,
293
+ })(collection)(type);
294
+ return [collection, meta];
295
+ };
282
296
  };
283
- var create_throw_error = function (importer, value, expected) {
284
- return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(importer.use("throws"), [], [
285
- typescript_1.default.factory.createObjectLiteralExpression([
286
- typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
287
- typescript_1.default.factory.createPropertyAssignment("value", value),
288
- ], true),
289
- ]));
297
+ var create_throw_error = function (importer) {
298
+ return function (expected) {
299
+ return function (value) {
300
+ return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(importer.use("throws"), [], [
301
+ typescript_1.default.factory.createObjectLiteralExpression([
302
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
303
+ typescript_1.default.factory.createPropertyAssignment("value", value),
304
+ ], true),
305
+ ]));
306
+ };
307
+ };
290
308
  };
291
309
  })(PruneProgrammer = exports.PruneProgrammer || (exports.PruneProgrammer = {}));
292
310
  //# sourceMappingURL=PruneProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PruneProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PruneProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace RandomProgrammer {
4
- function generate(project: IProject, modulo: ts.LeftHandSideExpression, init?: ts.Expression): (type: ts.Type, name?: string) => ts.ArrowFunction;
4
+ /**
5
+ * @deprecated Use `write()` function instead
6
+ */
7
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression, init?: ts.Expression) => (type: ts.Type, name?: string) => ts.ArrowFunction;
8
+ const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (init?: ts.Expression) => (type: ts.Type, name?: string) => ts.ArrowFunction;
5
9
  }
@@ -54,27 +54,35 @@ var RandomRanger_1 = require("./helpers/RandomRanger");
54
54
  var random_custom_1 = require("./internal/random_custom");
55
55
  var RandomProgrammer;
56
56
  (function (RandomProgrammer) {
57
- function generate(project, modulo, init) {
58
- var importer = new FunctionImporeter_1.FunctionImporter();
57
+ RandomProgrammer.generate = function (project, modulo, init) {
59
58
  return function (type, name) {
60
- var collection = new MetadataCollection_1.MetadataCollection();
61
- var meta = MetadataFactory_1.MetadataFactory.generate(project.checker, collection, type, {
62
- resolve: true,
63
- constant: true,
64
- });
65
- var functors = generate_functors(importer)(collection);
66
- var output = decode(importer)({
67
- object: false,
68
- recursive: false,
69
- })(meta, [], []);
70
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
71
- IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial<typia.IRandomGenerator>"), init !== null && init !== void 0 ? init : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)),
72
- ], typescript_1.default.factory.createTypeReferenceNode("typia.Primitive<".concat(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">")), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(functors), false), [
73
- typescript_1.default.factory.createReturnStatement(output),
74
- ], false), true));
59
+ return RandomProgrammer.write(project)(modulo)(init)(type, name);
75
60
  };
76
- }
77
- RandomProgrammer.generate = generate;
61
+ };
62
+ RandomProgrammer.write = function (project) {
63
+ return function (modulo) {
64
+ return function (init) {
65
+ var importer = new FunctionImporeter_1.FunctionImporter();
66
+ return function (type, name) {
67
+ var collection = new MetadataCollection_1.MetadataCollection();
68
+ var meta = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
69
+ resolve: true,
70
+ constant: true,
71
+ })(collection)(type);
72
+ var functors = generate_functors(importer)(collection);
73
+ var output = decode(importer)({
74
+ object: false,
75
+ recursive: false,
76
+ })(meta, [], []);
77
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
78
+ IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial<typia.IRandomGenerator>"), init !== null && init !== void 0 ? init : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)),
79
+ ], typescript_1.default.factory.createTypeReferenceNode("typia.Primitive<".concat(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type), ">")), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(functors), false), [
80
+ typescript_1.default.factory.createReturnStatement(output),
81
+ ], false), true));
82
+ };
83
+ };
84
+ };
85
+ };
78
86
  var generate_functors = function (importer) { return function (collection) {
79
87
  return collection.objects().map(function (obj, i) {
80
88
  return StatementFactory_1.StatementFactory.constant(FUNCTOR(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, [
@@ -352,6 +360,6 @@ var RandomProgrammer;
352
360
  })(RandomProgrammer = exports.RandomProgrammer || (exports.RandomProgrammer = {}));
353
361
  var FUNCTOR = function (i) { return "$ro".concat(i); };
354
362
  var COALESCE = function (importer) { return function (name) {
355
- return ExpressionFactory_1.ExpressionFactory.coalesce(typescript_1.default.factory.createPropertyAccessChain(typescript_1.default.factory.createIdentifier("generator"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createIdentifier(name)), IdentifierFactory_1.IdentifierFactory.join(importer.use("generator"), name));
363
+ return ExpressionFactory_1.ExpressionFactory.coalesce(typescript_1.default.factory.createPropertyAccessChain(typescript_1.default.factory.createIdentifier("generator"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createIdentifier(name)))(IdentifierFactory_1.IdentifierFactory.join(importer.use("generator"))(name));
356
364
  }; };
357
365
  //# sourceMappingURL=RandomProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RandomProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RandomProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RandomProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RandomProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace StringifyProgrammer {
4
- function generate(project: IProject, modulo: ts.LeftHandSideExpression): (type: ts.Type, name?: string | undefined) => ts.ArrowFunction;
4
+ /**
5
+ * @deprecated Use `write()` function instead
6
+ */
7
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression) => (type: ts.Type, name?: string) => ts.ArrowFunction;
8
+ const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name?: string | undefined) => ts.ArrowFunction;
5
9
  }