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
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace IsParseProgrammer {
4
+ /**
5
+ * @deprecated Use `write()` function instead
6
+ */
4
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) => ts.ArrowFunction;
5
9
  }
@@ -24,13 +24,20 @@ var IsParseProgrammer;
24
24
  (function (IsParseProgrammer) {
25
25
  IsParseProgrammer.generate = function (project, modulo) {
26
26
  return function (type, name) {
27
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
28
- IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
29
- ], 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([
30
- StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type, name)),
31
- typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("input"), typescript_1.default.SyntaxKind.EqualsToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.parse"), undefined, [typescript_1.default.factory.createIdentifier("input")]))),
32
- typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createIdentifier("input"), TypeFactory_1.TypeFactory.keyword("any")), undefined, typescript_1.default.factory.createNull())),
33
- ]));
27
+ return IsParseProgrammer.write(project)(modulo)(type, name);
28
+ };
29
+ };
30
+ IsParseProgrammer.write = function (project) {
31
+ return function (modulo) {
32
+ return function (type, name) {
33
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
34
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
35
+ ], 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([
36
+ StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(false)(type, name)),
37
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("input"), typescript_1.default.SyntaxKind.EqualsToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.parse"), undefined, [typescript_1.default.factory.createIdentifier("input")]))),
38
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createIdentifier("input"), TypeFactory_1.TypeFactory.keyword("any")), undefined, typescript_1.default.factory.createNull())),
39
+ ]));
40
+ };
34
41
  };
35
42
  };
36
43
  })(IsParseProgrammer = exports.IsParseProgrammer || (exports.IsParseProgrammer = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"IsParseProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsParseProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAE9C,IAAiB,iBAAiB,CA+DjC;AA/DD,WAAiB,iBAAiB;IACjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa,EAAE,IAAa;YACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,0BACI,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MACvD,CACN,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,uBAEV,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,EAAE,IAAI,CAAC,CAChB;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;aACJ,CAAC,CACL;QA1DD,CA0DC;IA3DL,CA2DK,CAAC;AACd,CAAC,EA/DgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA+DjC"}
1
+ {"version":3,"file":"IsParseProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsParseProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAE9C,IAAiB,iBAAiB,CAqEjC;AArED,WAAiB,iBAAiB;IAIjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa,EAAE,IAAa;YACzB,OAAA,kBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QAAlC,CAAkC;IADtC,CACsC,CAAC;IAE9B,uBAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa;gBACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;oBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;iBACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,0BACI,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MACvD,CACN,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,KAAK,uBACX,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAChC;oBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,UAAU,CAAC,WAAW,EACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,CACJ;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;iBACJ,CAAC,CACL;YAvDD,CAuDC;QAxDL,CAwDK;IAzDL,CAyDK,CAAC;AACd,CAAC,EArEgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAqEjC"}
@@ -5,7 +5,7 @@ import { CheckerProgrammer } from "./CheckerProgrammer";
5
5
  import { FunctionImporter } from "./helpers/FunctionImporeter";
6
6
  import { IExpressionEntry } from "./helpers/IExpressionEntry";
7
7
  export declare namespace IsProgrammer {
8
- const CONFIG: (options?: Partial<CONFIG.IOptions>) => (importer: FunctionImporter) => CheckerProgrammer.IConfig;
8
+ const configure: (options?: Partial<CONFIG.IOptions>) => (importer: FunctionImporter) => CheckerProgrammer.IConfig;
9
9
  namespace CONFIG {
10
10
  interface IOptions {
11
11
  numeric: boolean;
@@ -13,11 +13,15 @@ export declare namespace IsProgrammer {
13
13
  object: (input: ts.Expression, entries: IExpressionEntry<ts.Expression>[]) => ts.Expression;
14
14
  }
15
15
  }
16
- function generate(project: IProject, modulo: ts.LeftHandSideExpression, equals?: boolean): (type: ts.Type, name?: string | undefined) => ts.ArrowFunction;
17
- const generate_functors: (project: IProject, importer: FunctionImporter) => (collection: import("../factories/MetadataCollection").MetadataCollection) => ts.VariableStatement[];
18
- const generate_unioners: (project: IProject, importer: FunctionImporter) => (collection: import("../factories/MetadataCollection").MetadataCollection) => ts.VariableStatement[];
19
- const decode: (project: IProject, importer: FunctionImporter) => (input: ts.Expression, meta: import("../metadata/Metadata").Metadata, explore: CheckerProgrammer.IExplore, tags: import("../metadata/IMetadataTag").IMetadataTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression;
20
- const decode_object: (importer: FunctionImporter) => (input: ts.Expression, obj: MetadataObject, explore: CheckerProgrammer.IExplore) => ts.CallExpression;
21
- function decode_to_json(input: ts.Expression, checkNull: boolean): ts.Expression;
22
- function decode_functional(input: ts.Expression): ts.BinaryExpression;
16
+ /**
17
+ * @deprecated Use `write()` function instead
18
+ */
19
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression, equals?: boolean) => (type: ts.Type, name?: string) => ts.ArrowFunction;
20
+ const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (equals: boolean) => (type: ts.Type, name?: string | undefined) => ts.ArrowFunction;
21
+ const write_functors: (project: IProject) => (importer: FunctionImporter) => (collection: import("../factories/MetadataCollection").MetadataCollection) => ts.VariableStatement[];
22
+ const write_unioners: (project: IProject) => (importer: FunctionImporter) => (collection: import("../factories/MetadataCollection").MetadataCollection) => ts.VariableStatement[];
23
+ const decode: (project: IProject, importer: FunctionImporter) => (input: ts.Expression, meta: import("../metadata/Metadata").Metadata, explore: import("./FeatureProgrammer").FeatureProgrammer.IExplore, metaTags: import("../metadata/IMetadataTag").IMetadataTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression;
24
+ const decode_object: (importer: FunctionImporter) => (input: ts.Expression, obj: MetadataObject, explore: import("./FeatureProgrammer").FeatureProgrammer.IExplore) => ts.CallExpression;
25
+ const decode_to_json: (checkNull: boolean) => (input: ts.Expression) => ts.Expression;
26
+ const decode_functional: (input: ts.Expression) => ts.BinaryExpression;
23
27
  }
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __read = (this && this.__read) || function (o, n) {
3
14
  var m = typeof Symbol === "function" && o[Symbol.iterator];
4
15
  if (!m) return o;
@@ -40,7 +51,7 @@ var check_object_1 = require("./internal/check_object");
40
51
  var feature_object_entries_1 = require("./internal/feature_object_entries");
41
52
  var IsProgrammer;
42
53
  (function (IsProgrammer) {
43
- IsProgrammer.CONFIG = function (options) {
54
+ IsProgrammer.configure = function (options) {
44
55
  return function (importer) { return ({
45
56
  functors: "$io",
46
57
  unioners: "$iu",
@@ -83,71 +94,77 @@ var IsProgrammer;
83
94
  superfluous: function () { return typescript_1.default.factory.createFalse(); },
84
95
  })(importer),
85
96
  array: function (input, arrow) {
86
- return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "every"), undefined, [arrow]);
97
+ return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input)("every"), undefined, [arrow]);
87
98
  },
88
99
  failure: function () { return typescript_1.default.factory.createFalse(); },
89
100
  },
90
101
  success: typescript_1.default.factory.createTrue(),
91
102
  }); };
92
103
  };
93
- function generate(project, modulo, equals) {
104
+ IsProgrammer.generate = function (project, modulo, equals) {
94
105
  if (equals === void 0) { equals = false; }
95
- var importer = new FunctionImporeter_1.FunctionImporter();
96
- var config = IsProgrammer.CONFIG({
97
- object: (0, check_object_1.check_object)({
98
- equals: equals,
99
- undefined: OptionPredicator_1.OptionPredicator.undefined(project.options),
100
- assert: true,
101
- reduce: typescript_1.default.factory.createLogicalAnd,
102
- positive: typescript_1.default.factory.createTrue(),
103
- superfluous: function () { return typescript_1.default.factory.createFalse(); },
104
- })(importer),
105
- numeric: OptionPredicator_1.OptionPredicator.numeric(project.options),
106
- })(importer);
107
- config.trace = equals;
108
- config.decoder = function (input, target, explore, tags, jsDocTags) {
109
- if (target.size() === 1 &&
110
- target.objects.length === 1 &&
111
- target.required === true &&
112
- target.nullable === false) {
113
- var obj = target.objects[0];
114
- if (obj._Is_simple() &&
115
- (equals === false ||
116
- OptionPredicator_1.OptionPredicator.undefined(project.options) === false))
117
- return typescript_1.default.factory.createLogicalAnd(ExpressionFactory_1.ExpressionFactory.isObject(input, {
118
- checkNull: true,
119
- checkArray: false,
120
- }), config.joiner.object(input, (0, feature_object_entries_1.feature_object_entries)(config)(importer)(obj)(input)));
121
- }
122
- return CheckerProgrammer_1.CheckerProgrammer.decode(project, config, importer)(input, target, explore, tags, jsDocTags);
106
+ return function (type, name) {
107
+ return IsProgrammer.write(project)(modulo)(equals)(type, name);
123
108
  };
124
- return CheckerProgrammer_1.CheckerProgrammer.generate(project, config, importer, function () {
125
- return importer.declare(modulo);
126
- });
127
- }
128
- IsProgrammer.generate = generate;
129
- IsProgrammer.generate_functors = function (project, importer) {
130
- return CheckerProgrammer_1.CheckerProgrammer.generate_functors(project, IsProgrammer.CONFIG()(importer), importer);
131
109
  };
132
- IsProgrammer.generate_unioners = function (project, importer) {
133
- return CheckerProgrammer_1.CheckerProgrammer.generate_unioners(project, IsProgrammer.CONFIG()(importer), importer);
110
+ IsProgrammer.write = function (project) {
111
+ return function (modulo) {
112
+ return function (equals) {
113
+ var importer = new FunctionImporeter_1.FunctionImporter();
114
+ var config = __assign(__assign({}, IsProgrammer.configure({
115
+ object: (0, check_object_1.check_object)({
116
+ equals: equals,
117
+ undefined: OptionPredicator_1.OptionPredicator.undefined(project.options),
118
+ assert: true,
119
+ reduce: typescript_1.default.factory.createLogicalAnd,
120
+ positive: typescript_1.default.factory.createTrue(),
121
+ superfluous: function () { return typescript_1.default.factory.createFalse(); },
122
+ })(importer),
123
+ numeric: OptionPredicator_1.OptionPredicator.numeric(project.options),
124
+ })(importer)), { trace: equals, addition: function () { return importer.declare(modulo); } });
125
+ config.decoder = function (input, target, explore, tags, jsDocTags) {
126
+ if (target.size() === 1 &&
127
+ target.objects.length === 1 &&
128
+ target.required === true &&
129
+ target.nullable === false) {
130
+ var obj = target.objects[0];
131
+ if (obj._Is_simple() &&
132
+ (equals === false ||
133
+ OptionPredicator_1.OptionPredicator.undefined(project.options) ===
134
+ false))
135
+ return typescript_1.default.factory.createLogicalAnd(ExpressionFactory_1.ExpressionFactory.isObject({
136
+ checkNull: true,
137
+ checkArray: false,
138
+ })(input), config.joiner.object(input, (0, feature_object_entries_1.feature_object_entries)(config)(importer)(obj)(input)));
139
+ }
140
+ return CheckerProgrammer_1.CheckerProgrammer.decode(project)(config)(importer)(input, target, explore, tags, jsDocTags);
141
+ };
142
+ return CheckerProgrammer_1.CheckerProgrammer.write(project)(config)(importer);
143
+ };
144
+ };
134
145
  };
146
+ IsProgrammer.write_functors = function (project) { return function (importer) {
147
+ return CheckerProgrammer_1.CheckerProgrammer.write_functors(project)(IsProgrammer.configure()(importer))(importer);
148
+ }; };
149
+ IsProgrammer.write_unioners = function (project) { return function (importer) {
150
+ return CheckerProgrammer_1.CheckerProgrammer.write_unioners(project, IsProgrammer.configure()(importer), importer);
151
+ }; };
135
152
  IsProgrammer.decode = function (project, importer) {
136
- return CheckerProgrammer_1.CheckerProgrammer.decode(project, IsProgrammer.CONFIG()(importer), importer);
153
+ return CheckerProgrammer_1.CheckerProgrammer.decode(project)(IsProgrammer.configure()(importer))(importer);
137
154
  };
138
155
  IsProgrammer.decode_object = function (importer) {
139
- return CheckerProgrammer_1.CheckerProgrammer.decode_object(IsProgrammer.CONFIG()(importer))(importer);
156
+ return CheckerProgrammer_1.CheckerProgrammer.decode_object(IsProgrammer.configure()(importer))(importer);
140
157
  };
141
- function decode_to_json(input, checkNull) {
142
- return typescript_1.default.factory.createLogicalAnd(ExpressionFactory_1.ExpressionFactory.isObject(input, {
143
- checkArray: false,
144
- checkNull: checkNull,
145
- }), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("function"), ValueFactory_1.ValueFactory.TYPEOF(IdentifierFactory_1.IdentifierFactory.join(input, "toJSON"))));
146
- }
147
- IsProgrammer.decode_to_json = decode_to_json;
148
- function decode_functional(input) {
158
+ IsProgrammer.decode_to_json = function (checkNull) {
159
+ return function (input) {
160
+ return typescript_1.default.factory.createLogicalAnd(ExpressionFactory_1.ExpressionFactory.isObject({
161
+ checkArray: false,
162
+ checkNull: checkNull,
163
+ })(input), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("function"), ValueFactory_1.ValueFactory.TYPEOF(IdentifierFactory_1.IdentifierFactory.join(input)("toJSON"))));
164
+ };
165
+ };
166
+ IsProgrammer.decode_functional = function (input) {
149
167
  return typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("function"), ValueFactory_1.ValueFactory.TYPEOF(input));
150
- }
151
- IsProgrammer.decode_functional = decode_functional;
168
+ };
152
169
  })(IsProgrammer = exports.IsProgrammer || (exports.IsProgrammer = {}));
153
170
  //# sourceMappingURL=IsProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,oEAAmE;AACnE,0DAAyD;AAMzD,yDAAwD;AACxD,iEAA+D;AAE/D,+DAA8D;AAC9D,wDAAuD;AACvD,4EAA2E;AAE3E,IAAiB,YAAY,CAkM5B;AAlMD,WAAiB,YAAY;IACZ,sBAAS,GAClB,UAAC,OAAkC;QACnC,OAAA,UAAC,QAA0B,IAAgC,OAAA,CAAC;YACxD,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA;YACzB,OAAO,EAAE,mCAAgB,CAAC,OAAO,CAAC;gBAC9B,OAAO,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO;aAC5B,CAAC;YACF,OAAO,EAAE,cAAM,OAAA,UAAC,KAAK,IAAK,OAAA;gBACtB,OAAA;oBACI,KAAK,CAAC,UAAU;0BACb,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,UAAU,EAAd,CAAc,CAAC,UAC5C,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAjC,CAAiC,CAAC;YAHrD,CAGqD,EAJ/B,CAI+B,EAJ1C,CAI0C;YACzD,QAAQ,EAAE,cAAM,OAAA,UAAC,IAAkB;gBAC/B,IAAM,OAAO,GACT,IAAI,KAAK,KAAK;oBACV,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBACnC,IAAM,MAAM,GACR,IAAI,KAAK,KAAK;oBACV,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB;oBAC7B,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC;gBACrC,OAAO,UACH,MAAqB,EACrB,QAAqC;oBAErC,OAAA,QAAQ,CAAC,MAAM;wBACX,CAAC,CAAC,QAAQ;6BACH,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,UAAU,EAAjB,CAAiB,CAAC;6BAClC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAZ,CAAY,CAAC;wBACrC,CAAC,CAAC,OAAO;gBAJb,CAIa,CAAC;YACtB,CAAC,EAlBe,CAkBf;YACD,MAAM,EAAE;gBACJ,MAAM,EACF,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;oBACf,IAAA,2BAAY,EAAC;wBACT,MAAM,EAAE,CAAC,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA;wBACzB,SAAS,EAAE,mCAAgB,CAAC,SAAS,CAAC;4BAClC,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS;yBAChC,CAAC;wBACF,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,oBAAE,CAAC,OAAO,CAAC,gBAAgB;wBACnC,QAAQ,EAAE,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;wBACjC,WAAW,EAAE,cAAM,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAxB,CAAwB;qBAC9C,CAAC,CAAC,QAAQ,CAAC;gBAChB,KAAK,EAAE,UAAC,KAAK,EAAE,KAAK;oBAChB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,qCAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EACtC,SAAS,EACT,CAAC,KAAK,CAAC,CACV;gBAJD,CAIC;gBACL,OAAO,EAAE,cAAM,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAxB,CAAwB;aAC1C;YACD,OAAO,EAAE,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;SACnC,CAAC,EAvDyD,CAuDzD;IAvDF,CAuDE,CAAC;IAmBM,qBAAQ,GACjB,UACI,OAAiB,EACjB,MAAiC,EACjC,MAAuB;QAAvB,uBAAA,EAAA,cAAuB;QAE3B,OAAA,UAAC,IAAa,EAAE,IAAa;YACzB,OAAA,aAAA,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QAA1C,CAA0C;IAD9C,CAC8C,CAAC;IAEtC,kBAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,MAAe;gBACZ,IAAM,QAAQ,GAAqB,IAAI,oCAAgB,EAAE,CAAC;gBAG1D,IAAM,MAAM,yBACL,aAAA,SAAS,CAAC;oBACT,MAAM,EAAE,IAAA,2BAAY,EAAC;wBACjB,MAAM,QAAA;wBACN,SAAS,EAAE,mCAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;wBACtD,MAAM,EAAE,IAAI;wBACZ,MAAM,EAAE,oBAAE,CAAC,OAAO,CAAC,gBAAgB;wBACnC,QAAQ,EAAE,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;wBACjC,WAAW,EAAE,cAAM,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAxB,CAAwB;qBAC9C,CAAC,CAAC,QAAQ,CAAC;oBACZ,OAAO,EAAE,mCAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;iBACrD,CAAC,CAAC,QAAQ,CAAC,KACZ,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,cAAM,OAAA,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAxB,CAAwB,GAC3C,CAAC;gBAEF,MAAM,CAAC,OAAO,GAAG,UAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;oBACrD,IACI,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;wBACnB,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;wBAC3B,MAAM,CAAC,QAAQ,KAAK,IAAI;wBACxB,MAAM,CAAC,QAAQ,KAAK,KAAK,EAC3B;wBAEE,IAAM,GAAG,GAAmB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC;wBAC/C,IACI,GAAG,CAAC,UAAU,EAAE;4BAChB,CAAC,MAAM,KAAK,KAAK;gCACb,mCAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC;oCACvC,KAAK,CAAC;4BAEd,OAAO,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAC9B,qCAAiB,CAAC,QAAQ,CAAC;gCACvB,SAAS,EAAE,IAAI;gCACf,UAAU,EAAE,KAAK;6BACpB,CAAC,CAAC,KAAK,CAAC,EACT,MAAM,CAAC,MAAM,CAAC,MAAM,CAChB,KAAK,EACL,IAAA,+CAAsB,EAAC,MAAa,CAAC,CAAC,QAAQ,CAAC,CAC3C,GAAG,CACN,CAAC,KAAK,CAAC,CACX,CACJ,CAAC;qBACT;oBACD,OAAO,qCAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CACtD,KAAK,EACL,MAAM,EACN,OAAO,EACP,IAAI,EACJ,SAAS,CACZ,CAAC;gBACN,CAAC,CAAC;gBAGF,OAAO,qCAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9D,CAAC;QA3DD,CA2DC;IA5DD,CA4DC,CAAC;IAEO,2BAAc,GACvB,UAAC,OAAiB,IAAK,OAAA,UAAC,QAA0B;QAC9C,OAAA,qCAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,aAAA,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAC5D,QAAQ,CACX;IAFD,CAEC,EAHkB,CAGlB,CAAC;IAEG,2BAAc,GACvB,UAAC,OAAiB,IAAK,OAAA,UAAC,QAA0B;QAC9C,OAAA,qCAAiB,CAAC,cAAc,CAC5B,OAAO,EACP,aAAA,SAAS,EAAE,CAAC,QAAQ,CAAC,EACrB,QAAQ,CACX;IAJD,CAIC,EALkB,CAKlB,CAAC;IAKG,mBAAM,GAAG,UAAC,OAAiB,EAAE,QAA0B;QAChE,OAAA,qCAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAA,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAAlE,CAAkE,CAAC;IAE1D,0BAAa,GAAG,UAAC,QAA0B;QACpD,OAAA,qCAAiB,CAAC,aAAa,CAAC,aAAA,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAAhE,CAAgE,CAAC;IAExD,2BAAc,GACvB,UAAC,SAAkB;QACnB,OAAA,UAAC,KAAoB;YACjB,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,qCAAiB,CAAC,QAAQ,CAAC;gBACvB,UAAU,EAAE,KAAK;gBACjB,SAAS,WAAA;aACZ,CAAC,CAAC,KAAK,CAAC,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAC1C,2BAAY,CAAC,MAAM,CACf,qCAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAC1C,CACJ,CACJ;QAXD,CAWC;IAZL,CAYK,CAAC;IAEG,8BAAiB,GAAG,UAAC,KAAoB;QAClD,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAC1C,2BAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAC7B;IAHD,CAGC,CAAC;AACV,CAAC,EAlMgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAkM5B"}
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace IsPruneProgrammer {
4
+ /**
5
+ * @deprecated Use `write()` function instead
6
+ */
4
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) => ts.ArrowFunction;
5
9
  }
@@ -25,15 +25,22 @@ var IsPruneProgrammer;
25
25
  (function (IsPruneProgrammer) {
26
26
  IsPruneProgrammer.generate = function (project, modulo) {
27
27
  return function (type, name) {
28
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
29
- IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
30
- ], typescript_1.default.factory.createTypePredicateNode(undefined, "input", typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type))), undefined, typescript_1.default.factory.createBlock([
31
- StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.generate(project, modulo)(type, name)),
32
- StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type, name)),
33
- typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createPrefixUnaryExpression(typescript_1.default.SyntaxKind.ExclamationToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")])), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createFalse())),
34
- typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("prune"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
35
- typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createTrue()),
36
- ]));
28
+ return IsPruneProgrammer.write(project)(modulo)(type, name);
29
+ };
30
+ };
31
+ IsPruneProgrammer.write = function (project) {
32
+ return function (modulo) {
33
+ return function (type, name) {
34
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
35
+ IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
36
+ ], typescript_1.default.factory.createTypePredicateNode(undefined, "input", typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type))), undefined, typescript_1.default.factory.createBlock([
37
+ StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.write(project)(modulo)(false)(type, name)),
38
+ StatementFactory_1.StatementFactory.constant("prune", PruneProgrammer_1.PruneProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type, name)),
39
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createPrefixUnaryExpression(typescript_1.default.SyntaxKind.ExclamationToken, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")])), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createFalse())),
40
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("prune"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
41
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createTrue()),
42
+ ]));
43
+ };
37
44
  };
38
45
  };
39
46
  })(IsPruneProgrammer = exports.IsPruneProgrammer || (exports.IsPruneProgrammer = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"IsPruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsPruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAC9C,qDAAoD;AAEpD,IAAiB,iBAAiB,CA+DjC;AA/DD,WAAiB,iBAAiB;IACjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa,EAAE,IAAa;YACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,SAAS,EACT,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CACzD,CACJ,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACrD;gBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,QAAQ,uBAEb,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,EAAE,IAAI,CAAC,CAChB;gBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,UAAU,CAAC,gBAAgB,EAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3B,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC5D,CAAC,CACL;QA1DD,CA0DC;IA3DL,CA2DK,CAAC;AACd,CAAC,EA/DgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA+DjC"}
1
+ {"version":3,"file":"IsPruneProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsPruneProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAC9C,qDAAoD;AAEpD,IAAiB,iBAAiB,CAqEjC;AArED,WAAiB,iBAAiB;IAIjB,0BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa,EAAE,IAAa;YACzB,OAAA,kBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QAAlC,CAAkC;IADtC,CACsC,CAAC;IAE9B,uBAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa;gBACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;oBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B;iBACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,SAAS,EACT,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CACzD,CACJ,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACzD;oBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,iCAAe,CAAC,KAAK,uBACd,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACzB;oBACD,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,UAAU,CAAC,gBAAgB,EAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAC3B,CACJ;oBACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;iBAC5D,CAAC,CACL;YAvDD,CAuDC;QAxDL,CAwDK;IAzDL,CAyDK,CAAC;AACd,CAAC,EArEgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAqEjC"}
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace IsStringifyProgrammer {
4
+ /**
5
+ * @deprecated Use `write()` function instead
6
+ */
4
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) => ts.ArrowFunction;
5
9
  }
@@ -25,16 +25,23 @@ var IsStringifyProgrammer;
25
25
  (function (IsStringifyProgrammer) {
26
26
  IsStringifyProgrammer.generate = function (project, modulo) {
27
27
  return function (type, name) {
28
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
29
- IdentifierFactory_1.IdentifierFactory.parameter("input", typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type))),
30
- ], typescript_1.default.factory.createUnionTypeNode([
31
- TypeFactory_1.TypeFactory.keyword("string"),
32
- typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createNull()),
33
- ]), undefined, typescript_1.default.factory.createBlock([
34
- StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }), modulo)(type, name)),
35
- StatementFactory_1.StatementFactory.constant("stringify", StringifyProgrammer_1.StringifyProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type, name)),
36
- typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("stringify"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createNull())),
37
- ]));
28
+ return IsStringifyProgrammer.write(project)(modulo)(type, name);
29
+ };
30
+ };
31
+ IsStringifyProgrammer.write = function (project) {
32
+ return function (modulo) {
33
+ return function (type, name) {
34
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
35
+ IdentifierFactory_1.IdentifierFactory.parameter("input", typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type))),
36
+ ], typescript_1.default.factory.createUnionTypeNode([
37
+ TypeFactory_1.TypeFactory.keyword("string"),
38
+ typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createNull()),
39
+ ]), undefined, typescript_1.default.factory.createBlock([
40
+ StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }))(modulo)(false)(type, name)),
41
+ StatementFactory_1.StatementFactory.constant("stringify", StringifyProgrammer_1.StringifyProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type, name)),
42
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("stringify"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createNull())),
43
+ ]));
44
+ };
38
45
  };
39
46
  };
40
47
  })(IsStringifyProgrammer = exports.IsStringifyProgrammer || (exports.IsStringifyProgrammer = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"IsStringifyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsStringifyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAC9C,6DAA4D;AAE5D,IAAiB,qBAAqB,CAqErC;AArED,WAAiB,qBAAqB;IACrB,8BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa,EAAE,IAAa;YACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,IAAI,aAAJ,IAAI,cAAJ,IAAI,GACA,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CACrD,CACJ;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;gBAC3B,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAC7B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;aAC5D,CAAC,EACF,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,QAAQ,uBAEV,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,QAGrB,MAAM,CACT,CAAC,IAAI,EAAE,IAAI,CAAC,CAChB;gBACD,mCAAgB,CAAC,QAAQ,CACrB,WAAW,EACX,yCAAmB,CAAC,QAAQ,uBAEjB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,EAAE,IAAI,CAAC,CAChB;gBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;aACJ,CAAC,CACL;QAhED,CAgEC;IAjEL,CAiEK,CAAC;AACd,CAAC,EArEgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAqErC"}
1
+ {"version":3,"file":"IsStringifyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsStringifyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,+CAA8C;AAC9C,6DAA4D;AAE5D,IAAiB,qBAAqB,CAwErC;AAxED,WAAiB,qBAAqB;IAIrB,8BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa,EAAE,IAAa;YACzB,OAAA,sBAAA,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;QAAlC,CAAkC;IADtC,CACsC,CAAC;IAE9B,2BAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa;gBACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;oBACI,qCAAiB,CAAC,SAAS,CACvB,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,IAAI,aAAJ,IAAI,cAAJ,IAAI,GACA,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CACrD,CACJ;iBACJ,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;oBAC3B,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;oBAC7B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;iBAC5D,CAAC,EACF,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,KAAK,uBACX,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,OAEnB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAChC;oBACD,mCAAgB,CAAC,QAAQ,CACrB,WAAW,EACX,yCAAmB,CAAC,KAAK,uBAClB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACzB;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;iBACJ,CAAC,CACL;YA1DD,CA0DC;QA3DL,CA2DK;IA5DL,CA4DK,CAAC;AACd,CAAC,EAxEgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAwErC"}
@@ -1,5 +1,9 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace LiteralsProgrammer {
4
+ /**
5
+ * @deprecated Use `write()` function instead
6
+ */
4
7
  const generate: (project: IProject) => (type: ts.Type) => ts.AsExpression;
8
+ const write: (project: IProject) => (type: ts.Type) => ts.AsExpression;
5
9
  }
@@ -36,21 +36,23 @@ var ArrayUtil_1 = require("../utils/ArrayUtil");
36
36
  var LiteralsProgrammer;
37
37
  (function (LiteralsProgrammer) {
38
38
  LiteralsProgrammer.generate = function (project) { return function (type) {
39
- var meta = MetadataFactory_1.MetadataFactory.generate(project.checker, new MetadataCollection_1.MetadataCollection(), type, {
39
+ return LiteralsProgrammer.write(project)(type);
40
+ }; };
41
+ LiteralsProgrammer.write = function (project) { return function (type) {
42
+ var meta = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
40
43
  resolve: true,
41
44
  constant: true,
42
45
  validate: function (meta) {
43
46
  var length = meta.constants
44
47
  .map(function (c) { return c.values.length; })
45
48
  .reduce(function (a, b) { return a + b; }, 0) +
46
- meta.atomics.filter(function (type) { return type === "boolean"; })
47
- .length;
49
+ meta.atomics.filter(function (type) { return type === "boolean"; }).length;
48
50
  if (0 === length)
49
51
  throw new Error(ErrorMessages.NO);
50
52
  else if (meta.size() !== length)
51
53
  throw new Error(ErrorMessages.ONLY);
52
54
  },
53
- });
55
+ })(new MetadataCollection_1.MetadataCollection())(type);
54
56
  var values = new Set(__spreadArray(__spreadArray([], __read(ArrayUtil_1.ArrayUtil.flat(meta.constants.map(function (c) { return c.values; }))), false), __read((meta.atomics.filter(function (type) { return type === "boolean"; }).length
55
57
  ? [true, false]
56
58
  : [])), false));
@@ -1 +1 @@
1
- {"version":3,"file":"LiteralsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/LiteralsProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,sEAAqE;AACrE,gEAA+D;AAQ/D,gDAA+C;AAE/C,IAAiB,kBAAkB,CA8ClC;AA9CD,WAAiB,kBAAkB;IAClB,2BAAQ,GAAG,UAAC,OAAiB,IAAK,OAAA,UAAC,IAAa;QACzD,IAAM,IAAI,GAAa,iCAAe,CAAC,QAAQ,CAC3C,OAAO,CAAC,OAAO,EACf,IAAI,uCAAkB,EAAE,EACxB,IAAI,EACJ;YACI,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,UAAC,IAAI;gBACX,IAAM,MAAM,GACR,IAAI,CAAC,SAAS;qBACT,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,MAAM,EAAf,CAAe,CAAC;qBAC3B,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,EAAlB,CAAkB,CAAC;yBAC5C,MAAM,CAAC;gBAChB,IAAI,CAAC,KAAK,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;qBAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM;oBAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;SACJ,CACJ,CAAC;QACF,IAAM,MAAM,GAAqB,IAAI,GAAG,wCACjC,qBAAS,CAAC,IAAI,CAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,CAAC,kBAChE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC,MAAM;YACxD,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,UACX,CAAC;QACH,OAAO,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAChC,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CACnC,yBAAI,MAAM,UAAE,GAAG,CAAC,UAAC,CAAC;YACd,OAAA,OAAO,CAAC,KAAK,SAAS;gBAClB,CAAC,CAAC,CAAC;oBACC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC9B,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;oBACvB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;wBACvB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC9C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QARvC,CAQuC,CAC1C,EACD,IAAI,CACP,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAC9C,CAAC;IACN,CAAC,EA5C8C,CA4C9C,CAAC;AACN,CAAC,EA9CgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QA8ClC;AAED,IAAK,aAGJ;AAHD,WAAK,aAAa;IACd,yEAAwD,CAAA;IACxD,+EAA8D,CAAA;AAClE,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB"}
1
+ {"version":3,"file":"LiteralsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/LiteralsProgrammer.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 PruneProgrammer {
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
  }