typia 3.3.12 → 3.4.0-dev.20221212-2

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 (422) hide show
  1. package/README.md +169 -403
  2. package/lib/IValidation.d.ts +10 -4
  3. package/lib/Primitive.d.ts +45 -0
  4. package/lib/Primitive.js +3 -0
  5. package/lib/Primitive.js.map +1 -0
  6. package/lib/executable/internal/TypiaSetupWizard.d.ts +4 -0
  7. package/lib/executable/internal/TypiaSetupWizard.js +200 -0
  8. package/lib/executable/internal/TypiaSetupWizard.js.map +1 -0
  9. package/lib/executable/typia.d.ts +1 -0
  10. package/lib/executable/typia.js +98 -0
  11. package/lib/executable/typia.js.map +1 -0
  12. package/lib/factories/CommentFactory.js +1 -1
  13. package/lib/factories/CommentFactory.js.map +1 -1
  14. package/lib/factories/ExpressionFactory.d.ts +1 -0
  15. package/lib/factories/ExpressionFactory.js +4 -0
  16. package/lib/factories/ExpressionFactory.js.map +1 -1
  17. package/lib/factories/IdentifierFactory.d.ts +1 -1
  18. package/lib/factories/IdentifierFactory.js +4 -2
  19. package/lib/factories/IdentifierFactory.js.map +1 -1
  20. package/lib/factories/MetadataCollection.d.ts +2 -1
  21. package/lib/factories/MetadataCollection.js +24 -5
  22. package/lib/factories/MetadataCollection.js.map +1 -1
  23. package/lib/factories/MetadataTagFactory.js +1 -1
  24. package/lib/factories/MetadataTagFactory.js.map +1 -1
  25. package/lib/factories/StatementFactory.d.ts +1 -3
  26. package/lib/factories/StatementFactory.js +3 -13
  27. package/lib/factories/StatementFactory.js.map +1 -1
  28. package/lib/factories/TemplateFactory.js +4 -0
  29. package/lib/factories/TemplateFactory.js.map +1 -1
  30. package/lib/factories/TypeFactory.d.ts +2 -1
  31. package/lib/factories/TypeFactory.js +14 -7
  32. package/lib/factories/TypeFactory.js.map +1 -1
  33. package/lib/factories/internal/explore_metadata.js +1 -1
  34. package/lib/factories/internal/explore_metadata.js.map +1 -1
  35. package/lib/factories/internal/iterate_metadata.js +12 -3
  36. package/lib/factories/internal/iterate_metadata.js.map +1 -1
  37. package/lib/factories/internal/iterate_metadata_array.js +2 -3
  38. package/lib/factories/internal/iterate_metadata_array.js.map +1 -1
  39. package/lib/factories/internal/iterate_metadata_atomic.js +30 -55
  40. package/lib/factories/internal/iterate_metadata_atomic.js.map +1 -1
  41. package/lib/factories/internal/iterate_metadata_coalesce.js +2 -3
  42. package/lib/factories/internal/iterate_metadata_coalesce.js.map +1 -1
  43. package/lib/factories/internal/iterate_metadata_map.d.ts +5 -0
  44. package/lib/factories/internal/iterate_metadata_map.js +30 -0
  45. package/lib/factories/internal/iterate_metadata_map.js.map +1 -0
  46. package/lib/factories/internal/iterate_metadata_native.d.ts +3 -0
  47. package/lib/factories/internal/iterate_metadata_native.js +230 -0
  48. package/lib/factories/internal/iterate_metadata_native.js.map +1 -0
  49. package/lib/factories/internal/iterate_metadata_set.d.ts +5 -0
  50. package/lib/factories/internal/iterate_metadata_set.js +26 -0
  51. package/lib/factories/internal/iterate_metadata_set.js.map +1 -0
  52. package/lib/factories/internal/iterate_metadata_tuple.d.ts +1 -1
  53. package/lib/factories/internal/iterate_metadata_tuple.js +25 -3
  54. package/lib/factories/internal/iterate_metadata_tuple.js.map +1 -1
  55. package/lib/functional/$every.d.ts +2 -0
  56. package/lib/functional/$every.js +12 -0
  57. package/lib/functional/$every.js.map +1 -0
  58. package/lib/functional/$guard.d.ts +1 -0
  59. package/lib/functional/$guard.js +18 -0
  60. package/lib/functional/$guard.js.map +1 -0
  61. package/lib/functional/$number.js +4 -4
  62. package/lib/functional/$number.js.map +1 -1
  63. package/lib/functional/$report.d.ts +2 -0
  64. package/lib/functional/$report.js +18 -0
  65. package/lib/functional/$report.js.map +1 -0
  66. package/lib/functional/$rest.d.ts +1 -0
  67. package/lib/functional/$rest.js +8 -0
  68. package/lib/functional/$rest.js.map +1 -0
  69. package/lib/index.d.ts +2 -2
  70. package/lib/index.js +2 -2
  71. package/lib/index.js.map +1 -1
  72. package/lib/metadata/IMetadata.d.ts +5 -0
  73. package/lib/metadata/IMetadataApplication.d.ts +6 -0
  74. package/lib/metadata/IMetadataApplication.js +3 -0
  75. package/lib/metadata/IMetadataApplication.js.map +1 -0
  76. package/lib/metadata/IMetadataConstant.d.ts +1 -1
  77. package/lib/metadata/IMetadataEntry.d.ts +5 -0
  78. package/lib/metadata/IMetadataEntry.js +3 -0
  79. package/lib/metadata/IMetadataEntry.js.map +1 -0
  80. package/lib/metadata/IMetadataTag.d.ts +1 -1
  81. package/lib/metadata/Metadata.d.ts +10 -0
  82. package/lib/metadata/Metadata.js +156 -59
  83. package/lib/metadata/Metadata.js.map +1 -1
  84. package/lib/metadata/MetadataObject.d.ts +0 -1
  85. package/lib/metadata/MetadataObject.js +10 -0
  86. package/lib/metadata/MetadataObject.js.map +1 -1
  87. package/lib/module.d.ts +603 -72
  88. package/lib/module.js +185 -23
  89. package/lib/module.js.map +1 -1
  90. package/lib/programmers/ApplicationProgrammer.js +2 -2
  91. package/lib/programmers/ApplicationProgrammer.js.map +1 -1
  92. package/lib/programmers/AssertParseProgrammer.d.ts +5 -0
  93. package/lib/programmers/AssertParseProgrammer.js +23 -0
  94. package/lib/programmers/AssertParseProgrammer.js.map +1 -0
  95. package/lib/programmers/AssertProgrammer.d.ts +1 -1
  96. package/lib/programmers/AssertProgrammer.js +133 -58
  97. package/lib/programmers/AssertProgrammer.js.map +1 -1
  98. package/lib/programmers/AssertStringifyProgrammer.d.ts +5 -0
  99. package/lib/programmers/AssertStringifyProgrammer.js +26 -0
  100. package/lib/programmers/AssertStringifyProgrammer.js.map +1 -0
  101. package/lib/programmers/CheckerProgrammer.d.ts +17 -7
  102. package/lib/programmers/CheckerProgrammer.js +284 -79
  103. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  104. package/lib/programmers/FeatureProgrammer.d.ts +14 -9
  105. package/lib/programmers/FeatureProgrammer.js +76 -116
  106. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  107. package/lib/programmers/IsParseProgrammer.d.ts +5 -0
  108. package/lib/programmers/IsParseProgrammer.js +23 -0
  109. package/lib/programmers/IsParseProgrammer.js.map +1 -0
  110. package/lib/programmers/IsProgrammer.d.ts +5 -4
  111. package/lib/programmers/IsProgrammer.js +69 -44
  112. package/lib/programmers/IsProgrammer.js.map +1 -1
  113. package/lib/programmers/IsStringifyProgrammer.d.ts +5 -0
  114. package/lib/programmers/IsStringifyProgrammer.js +24 -0
  115. package/lib/programmers/IsStringifyProgrammer.js.map +1 -0
  116. package/lib/programmers/StringifyProgrammer.js +118 -47
  117. package/lib/programmers/StringifyProgrammer.js.map +1 -1
  118. package/lib/programmers/ValidateParseProgrammer.d.ts +5 -0
  119. package/lib/programmers/ValidateParseProgrammer.js +24 -0
  120. package/lib/programmers/ValidateParseProgrammer.js.map +1 -0
  121. package/lib/programmers/ValidateProgrammer.d.ts +1 -1
  122. package/lib/programmers/ValidateProgrammer.js +124 -68
  123. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  124. package/lib/programmers/ValidateStringifyProgrammer.d.ts +5 -0
  125. package/lib/programmers/ValidateStringifyProgrammer.js +26 -0
  126. package/lib/programmers/ValidateStringifyProgrammer.js.map +1 -0
  127. package/lib/programmers/helpers/AtomicPredicator.d.ts +6 -0
  128. package/lib/programmers/helpers/AtomicPredicator.js +16 -0
  129. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -0
  130. package/lib/programmers/helpers/FunctionImporeter.js +1 -1
  131. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
  132. package/lib/programmers/helpers/OptionPredicator.d.ts +1 -1
  133. package/lib/programmers/helpers/OptionPredicator.js +7 -7
  134. package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
  135. package/lib/programmers/helpers/StringifyJoinder.d.ts +2 -2
  136. package/lib/programmers/helpers/StringifyJoinder.js +5 -2
  137. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  138. package/lib/programmers/helpers/UnionExplorer.d.ts +33 -4
  139. package/lib/programmers/helpers/UnionExplorer.js +85 -47
  140. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  141. package/lib/programmers/internal/application_array.js +1 -1
  142. package/lib/programmers/internal/application_array.js.map +1 -1
  143. package/lib/programmers/internal/application_default.js +1 -1
  144. package/lib/programmers/internal/application_default.js.map +1 -1
  145. package/lib/programmers/internal/application_native.d.ts +4 -0
  146. package/lib/programmers/internal/application_native.js +35 -0
  147. package/lib/programmers/internal/application_native.js.map +1 -0
  148. package/lib/programmers/internal/application_number.js +6 -2
  149. package/lib/programmers/internal/application_number.js.map +1 -1
  150. package/lib/programmers/internal/application_object.js +44 -31
  151. package/lib/programmers/internal/application_object.js.map +1 -1
  152. package/lib/programmers/internal/application_schema.js +70 -36
  153. package/lib/programmers/internal/application_schema.js.map +1 -1
  154. package/lib/programmers/internal/application_string.js +2 -2
  155. package/lib/programmers/internal/application_string.js.map +1 -1
  156. package/lib/programmers/internal/check_array.js +4 -10
  157. package/lib/programmers/internal/check_array.js.map +1 -1
  158. package/lib/programmers/internal/check_dynamic_properties.js +40 -50
  159. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  160. package/lib/programmers/internal/check_everything.js +1 -3
  161. package/lib/programmers/internal/check_everything.js.map +1 -1
  162. package/lib/programmers/internal/check_length.js +2 -2
  163. package/lib/programmers/internal/check_length.js.map +1 -1
  164. package/lib/programmers/internal/check_native.d.ts +1 -0
  165. package/lib/programmers/internal/check_native.js +9 -0
  166. package/lib/programmers/internal/check_native.js.map +1 -0
  167. package/lib/programmers/internal/check_number.js +1 -1
  168. package/lib/programmers/internal/check_number.js.map +1 -1
  169. package/lib/programmers/internal/check_object.d.ts +12 -1
  170. package/lib/programmers/internal/check_object.js +12 -22
  171. package/lib/programmers/internal/check_object.js.map +1 -1
  172. package/lib/programmers/internal/decode_union_object.js +9 -7
  173. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  174. package/lib/programmers/internal/feature_object_entries.d.ts +9 -0
  175. package/lib/programmers/internal/feature_object_entries.js +38 -0
  176. package/lib/programmers/internal/feature_object_entries.js.map +1 -0
  177. package/lib/programmers/internal/stringify_dynamic_properties.js +4 -2
  178. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  179. package/lib/programmers/internal/stringify_native.d.ts +1 -0
  180. package/lib/programmers/internal/stringify_native.js +12 -0
  181. package/lib/programmers/internal/stringify_native.js.map +1 -0
  182. package/lib/schemas/IJsonComponents.d.ts +1 -1
  183. package/lib/schemas/IJsonSchema.d.ts +10 -8
  184. package/lib/transformers/CallExpressionTransformer.js +47 -10
  185. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  186. package/lib/transformers/FileTransformer.js +1 -1
  187. package/lib/transformers/features/{ApplicationTransformer.d.ts → miscellaneous/ApplicationTransformer.d.ts} +1 -1
  188. package/lib/transformers/features/{ApplicationTransformer.js → miscellaneous/ApplicationTransformer.js} +8 -8
  189. package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -0
  190. package/lib/transformers/features/{CreateTransformer.d.ts → miscellaneous/CreateInstanceTransformer.d.ts} +2 -2
  191. package/lib/transformers/features/{CreateTransformer.js → miscellaneous/CreateInstanceTransformer.js} +8 -8
  192. package/lib/transformers/features/miscellaneous/CreateInstanceTransformer.js.map +1 -0
  193. package/lib/transformers/features/miscellaneous/MetadataTransformer.d.ts +5 -0
  194. package/lib/transformers/features/miscellaneous/MetadataTransformer.js +43 -0
  195. package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -0
  196. package/lib/transformers/features/parsers/AssertParseTransformer.d.ts +5 -0
  197. package/lib/transformers/features/parsers/AssertParseTransformer.js +21 -0
  198. package/lib/transformers/features/parsers/AssertParseTransformer.js.map +1 -0
  199. package/lib/transformers/features/parsers/CreateAssertParseTransformer.d.ts +5 -0
  200. package/lib/transformers/features/parsers/CreateAssertParseTransformer.js +17 -0
  201. package/lib/transformers/features/parsers/CreateAssertParseTransformer.js.map +1 -0
  202. package/lib/transformers/features/parsers/CreateIsParseTransformer.d.ts +5 -0
  203. package/lib/transformers/features/parsers/CreateIsParseTransformer.js +17 -0
  204. package/lib/transformers/features/parsers/CreateIsParseTransformer.js.map +1 -0
  205. package/lib/transformers/features/parsers/CreateValidateParseTransformer.d.ts +5 -0
  206. package/lib/transformers/features/parsers/CreateValidateParseTransformer.js +17 -0
  207. package/lib/transformers/features/parsers/CreateValidateParseTransformer.js.map +1 -0
  208. package/lib/transformers/features/parsers/IsParseTransformer.d.ts +5 -0
  209. package/lib/transformers/features/parsers/IsParseTransformer.js +21 -0
  210. package/lib/transformers/features/parsers/IsParseTransformer.js.map +1 -0
  211. package/lib/transformers/features/parsers/ValidateParseTransformer.d.ts +5 -0
  212. package/lib/transformers/features/parsers/ValidateParseTransformer.js +21 -0
  213. package/lib/transformers/features/parsers/ValidateParseTransformer.js.map +1 -0
  214. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.d.ts +5 -0
  215. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.js +23 -0
  216. package/lib/transformers/features/stringifiers/AssertStringifyTransformer.js.map +1 -0
  217. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.d.ts +5 -0
  218. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.js +17 -0
  219. package/lib/transformers/features/stringifiers/CreateAssertStringifyTransformer.js.map +1 -0
  220. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.d.ts +5 -0
  221. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.js +17 -0
  222. package/lib/transformers/features/stringifiers/CreateIsStringifyTransformer.js.map +1 -0
  223. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.d.ts +5 -0
  224. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.js +17 -0
  225. package/lib/transformers/features/stringifiers/CreateStringifyTransformer.js.map +1 -0
  226. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.d.ts +5 -0
  227. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.js +17 -0
  228. package/lib/transformers/features/stringifiers/CreateValidateStringifyProgrammer.js.map +1 -0
  229. package/lib/transformers/features/stringifiers/IsStringifyTransformer.d.ts +5 -0
  230. package/lib/transformers/features/stringifiers/IsStringifyTransformer.js +23 -0
  231. package/lib/transformers/features/stringifiers/IsStringifyTransformer.js.map +1 -0
  232. package/lib/transformers/features/{StringifyTransformer.d.ts → stringifiers/StringifyTransformer.d.ts} +1 -1
  233. package/lib/transformers/features/{StringifyTransformer.js → stringifiers/StringifyTransformer.js} +3 -3
  234. package/lib/transformers/features/stringifiers/StringifyTransformer.js.map +1 -0
  235. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.d.ts +5 -0
  236. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.js +23 -0
  237. package/lib/transformers/features/stringifiers/ValidateStringifyTransformer.js.map +1 -0
  238. package/lib/transformers/features/{AssertTransformer.d.ts → validators/AssertTransformer.d.ts} +1 -1
  239. package/lib/transformers/features/{AssertTransformer.js → validators/AssertTransformer.js} +4 -4
  240. package/lib/transformers/features/validators/AssertTransformer.js.map +1 -0
  241. package/lib/transformers/features/validators/CreateAssertTransformer.d.ts +5 -0
  242. package/lib/transformers/features/validators/CreateAssertTransformer.js +24 -0
  243. package/lib/transformers/features/validators/CreateAssertTransformer.js.map +1 -0
  244. package/lib/transformers/features/validators/CreateIsTransformer.d.ts +5 -0
  245. package/lib/transformers/features/validators/CreateIsTransformer.js +24 -0
  246. package/lib/transformers/features/validators/CreateIsTransformer.js.map +1 -0
  247. package/lib/transformers/features/validators/CreateValidateTransformer.d.ts +5 -0
  248. package/lib/transformers/features/validators/CreateValidateTransformer.js +24 -0
  249. package/lib/transformers/features/validators/CreateValidateTransformer.js.map +1 -0
  250. package/lib/transformers/features/{IsTransformer.d.ts → validators/IsTransformer.d.ts} +1 -1
  251. package/lib/transformers/features/{IsTransformer.js → validators/IsTransformer.js} +3 -3
  252. package/lib/transformers/features/validators/IsTransformer.js.map +1 -0
  253. package/lib/transformers/features/{ValidateTransformer.d.ts → validators/ValidateTransformer.d.ts} +1 -1
  254. package/lib/transformers/features/{ValidateTransformer.js → validators/ValidateTransformer.js} +3 -3
  255. package/lib/transformers/features/validators/ValidateTransformer.js.map +1 -0
  256. package/lib/typings/ClassProperties.d.ts +1 -1
  257. package/lib/typings/OmitNever.d.ts +1 -1
  258. package/lib/typings/SpecialFields.d.ts +1 -1
  259. package/lib/typings/Writable.d.ts +1 -1
  260. package/lib/utils/PatternUtil.js +1 -1
  261. package/lib/utils/PatternUtil.js.map +1 -1
  262. package/package.json +114 -78
  263. package/src/IValidation.ts +21 -0
  264. package/src/Primitive.ts +82 -0
  265. package/src/TypeGuardError.ts +36 -0
  266. package/src/executable/internal/TypiaSetupWizard.ts +130 -0
  267. package/src/executable/typia.ts +34 -0
  268. package/src/factories/CommentFactory.ts +10 -0
  269. package/src/factories/ExpressionFactory.ts +52 -0
  270. package/src/factories/IdentifierFactory.ts +72 -0
  271. package/src/factories/LiteralFactory.ts +44 -0
  272. package/src/factories/MetadataCollection.ts +122 -0
  273. package/src/factories/MetadataFactory.ts +46 -0
  274. package/src/factories/MetadataTagFactory.ts +347 -0
  275. package/src/factories/StatementFactory.ts +60 -0
  276. package/src/factories/TemplateFactory.ts +56 -0
  277. package/src/factories/TypeFactory.ts +101 -0
  278. package/src/factories/ValueFactory.ts +12 -0
  279. package/src/factories/internal/MetadataHelper.ts +12 -0
  280. package/src/factories/internal/emplace_metadata_object.ts +140 -0
  281. package/src/factories/internal/explore_metadata.ts +91 -0
  282. package/src/factories/internal/iterate_metadata.ts +81 -0
  283. package/src/factories/internal/iterate_metadata_array.ts +29 -0
  284. package/src/factories/internal/iterate_metadata_atomic.ts +59 -0
  285. package/src/factories/internal/iterate_metadata_coalesce.ts +33 -0
  286. package/src/factories/internal/iterate_metadata_constant.ts +58 -0
  287. package/src/factories/internal/iterate_metadata_map.ts +41 -0
  288. package/src/factories/internal/iterate_metadata_native.ts +227 -0
  289. package/src/factories/internal/iterate_metadata_object.ts +45 -0
  290. package/src/factories/internal/iterate_metadata_resolve.ts +27 -0
  291. package/src/factories/internal/iterate_metadata_set.ts +33 -0
  292. package/src/factories/internal/iterate_metadata_template.ts +38 -0
  293. package/src/factories/internal/iterate_metadata_tuple.ts +51 -0
  294. package/src/factories/internal/iterate_metadata_union.ts +59 -0
  295. package/src/functional/$every.ts +11 -0
  296. package/src/functional/$guard.ts +35 -0
  297. package/src/functional/$is_email.ts +5 -0
  298. package/src/functional/$is_ipv4.ts +5 -0
  299. package/src/functional/$is_ipv6.ts +5 -0
  300. package/src/functional/$is_url.ts +5 -0
  301. package/src/functional/$is_uuid.ts +5 -0
  302. package/src/functional/$join.ts +50 -0
  303. package/src/functional/$number.ts +19 -0
  304. package/src/functional/$report.ts +15 -0
  305. package/src/functional/$rest.ts +3 -0
  306. package/src/functional/$string.ts +37 -0
  307. package/src/functional/$tail.ts +6 -0
  308. package/src/index.ts +4 -0
  309. package/src/metadata/IJsDocTagInfo.ts +10 -0
  310. package/src/metadata/IMetadata.ts +25 -0
  311. package/src/metadata/IMetadataApplication.ts +7 -0
  312. package/src/metadata/IMetadataConstant.ts +16 -0
  313. package/src/metadata/IMetadataEntry.ts +6 -0
  314. package/src/metadata/IMetadataObject.ts +29 -0
  315. package/src/metadata/IMetadataProperty.ts +11 -0
  316. package/src/metadata/IMetadataTag.ts +122 -0
  317. package/src/metadata/Metadata.ts +477 -0
  318. package/src/metadata/MetadataConstant.ts +3 -0
  319. package/src/metadata/MetadataObject.ts +131 -0
  320. package/src/metadata/MetadataProperty.ts +64 -0
  321. package/src/module.ts +1535 -0
  322. package/src/programmers/ApplicationProgrammer.ts +55 -0
  323. package/src/programmers/AssertParseProgrammer.ts +45 -0
  324. package/src/programmers/AssertProgrammer.ts +444 -0
  325. package/src/programmers/AssertStringifyProgrammer.ts +45 -0
  326. package/src/programmers/CheckerProgrammer.ts +798 -0
  327. package/src/programmers/FeatureProgrammer.ts +327 -0
  328. package/src/programmers/IsParseProgrammer.ts +51 -0
  329. package/src/programmers/IsProgrammer.ts +169 -0
  330. package/src/programmers/IsStringifyProgrammer.ts +49 -0
  331. package/src/programmers/StringifyProgrammer.ts +746 -0
  332. package/src/programmers/ValidateParseProgrammer.ts +49 -0
  333. package/src/programmers/ValidateProgrammer.ts +236 -0
  334. package/src/programmers/ValidateStringifyProgrammer.ts +60 -0
  335. package/src/programmers/helpers/AtomicPredicator.ts +15 -0
  336. package/src/programmers/helpers/FunctionImporeter.ts +31 -0
  337. package/src/programmers/helpers/IExpressionEntry.ts +10 -0
  338. package/src/programmers/helpers/OptionPredicator.ts +18 -0
  339. package/src/programmers/helpers/StringifyJoinder.ts +111 -0
  340. package/src/programmers/helpers/StringifyPredicator.ts +18 -0
  341. package/src/programmers/helpers/UnionExplorer.ts +437 -0
  342. package/src/programmers/helpers/UnionPredicator.ts +81 -0
  343. package/src/programmers/internal/application_array.ts +45 -0
  344. package/src/programmers/internal/application_boolean.ts +17 -0
  345. package/src/programmers/internal/application_constant.ts +29 -0
  346. package/src/programmers/internal/application_default.ts +17 -0
  347. package/src/programmers/internal/application_default_string.ts +32 -0
  348. package/src/programmers/internal/application_native.ts +29 -0
  349. package/src/programmers/internal/application_number.ts +76 -0
  350. package/src/programmers/internal/application_object.ts +103 -0
  351. package/src/programmers/internal/application_schema.ts +221 -0
  352. package/src/programmers/internal/application_string.ts +49 -0
  353. package/src/programmers/internal/application_templates.ts +27 -0
  354. package/src/programmers/internal/application_tuple.ts +25 -0
  355. package/src/programmers/internal/check_array.ts +44 -0
  356. package/src/programmers/internal/check_dynamic_properties.ts +146 -0
  357. package/src/programmers/internal/check_everything.ts +25 -0
  358. package/src/programmers/internal/check_length.ts +46 -0
  359. package/src/programmers/internal/check_native.ts +9 -0
  360. package/src/programmers/internal/check_number.ts +181 -0
  361. package/src/programmers/internal/check_object.ts +42 -0
  362. package/src/programmers/internal/check_string.ts +24 -0
  363. package/src/programmers/internal/check_string_tags.ts +63 -0
  364. package/src/programmers/internal/check_template.ts +50 -0
  365. package/src/programmers/internal/decode_union_object.ts +73 -0
  366. package/src/programmers/internal/feature_object_entries.ts +49 -0
  367. package/src/programmers/internal/metadata_to_pattern.ts +31 -0
  368. package/src/programmers/internal/stringify_dynamic_properties.ts +164 -0
  369. package/src/programmers/internal/stringify_native.ts +8 -0
  370. package/src/programmers/internal/stringify_regular_properties.ts +81 -0
  371. package/src/programmers/internal/template_to_pattern.ts +15 -0
  372. package/src/schemas/IJsonApplication.ts +9 -0
  373. package/src/schemas/IJsonComponents.ts +24 -0
  374. package/src/schemas/IJsonSchema.ts +92 -0
  375. package/src/transform.ts +20 -0
  376. package/src/transformers/CallExpressionTransformer.ts +124 -0
  377. package/src/transformers/ExpressionWithArgumentTransformer.ts +66 -0
  378. package/src/transformers/FileTransformer.ts +49 -0
  379. package/src/transformers/IProject.ts +11 -0
  380. package/src/transformers/ITransformOptions.ts +4 -0
  381. package/src/transformers/NodeTransformer.ts +19 -0
  382. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +114 -0
  383. package/src/transformers/features/miscellaneous/CreateInstanceTransformer.ts +41 -0
  384. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +55 -0
  385. package/src/transformers/features/parsers/AssertParseTransformer.ts +36 -0
  386. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +32 -0
  387. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +32 -0
  388. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +32 -0
  389. package/src/transformers/features/parsers/IsParseTransformer.ts +36 -0
  390. package/src/transformers/features/parsers/ValidateParseTransformer.ts +36 -0
  391. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +38 -0
  392. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +32 -0
  393. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +32 -0
  394. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +31 -0
  395. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +32 -0
  396. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +38 -0
  397. package/src/transformers/features/stringifiers/StringifyTransformer.ts +36 -0
  398. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +38 -0
  399. package/src/transformers/features/validators/AssertTransformer.ts +43 -0
  400. package/src/transformers/features/validators/CreateAssertTransformer.ts +35 -0
  401. package/src/transformers/features/validators/CreateIsTransformer.ts +35 -0
  402. package/src/transformers/features/validators/CreateValidateTransformer.ts +35 -0
  403. package/src/transformers/features/validators/IsTransformer.ts +43 -0
  404. package/src/transformers/features/validators/ValidateTransformer.ts +43 -0
  405. package/src/typings/Atomic.ts +17 -0
  406. package/src/typings/ClassProperties.ts +5 -0
  407. package/src/typings/OmitNever.ts +3 -0
  408. package/src/typings/SpecialFields.ts +3 -0
  409. package/src/typings/Writable.ts +11 -0
  410. package/src/utils/ArrayUtil.ts +49 -0
  411. package/src/utils/Escaper.ts +50 -0
  412. package/src/utils/MapUtil.ts +14 -0
  413. package/src/utils/PatternUtil.ts +30 -0
  414. package/src/utils/Singleton.ts +17 -0
  415. package/CODE_OF_CONDUCT.md +0 -133
  416. package/CONTRIBUTING.md +0 -104
  417. package/lib/transformers/features/ApplicationTransformer.js.map +0 -1
  418. package/lib/transformers/features/AssertTransformer.js.map +0 -1
  419. package/lib/transformers/features/CreateTransformer.js.map +0 -1
  420. package/lib/transformers/features/IsTransformer.js.map +0 -1
  421. package/lib/transformers/features/StringifyTransformer.js.map +0 -1
  422. package/lib/transformers/features/ValidateTransformer.js.map +0 -1
package/lib/module.js CHANGED
@@ -25,7 +25,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
25
25
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.application = exports.create = exports.stringify = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assertType = void 0;
28
+ exports.metadata = exports.createValidateStringify = exports.createIsStringify = exports.createAssertStringify = exports.createStringify = exports.createValidateParse = exports.createAssertParse = exports.createIsParse = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssertType = exports.createAssert = exports.validateStringify = exports.isStringify = exports.assertStringify = exports.stringify = exports.validateParse = exports.isParse = exports.assertParse = exports.application = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assertType = exports.assert = void 0;
29
+ var _every_1 = require("./functional/$every");
30
+ var _guard_1 = require("./functional/$guard");
29
31
  var _is_email_1 = require("./functional/$is_email");
30
32
  var _is_ipv4_1 = require("./functional/$is_ipv4");
31
33
  var _is_ipv6_1 = require("./functional/$is_ipv6");
@@ -33,32 +35,44 @@ var _is_url_1 = require("./functional/$is_url");
33
35
  var _is_uuid_1 = require("./functional/$is_uuid");
34
36
  var _join_1 = require("./functional/$join");
35
37
  var _number_1 = require("./functional/$number");
38
+ var _report_1 = require("./functional/$report");
39
+ var _rest_1 = require("./functional/$rest");
36
40
  var _string_1 = require("./functional/$string");
37
41
  var _tail_1 = require("./functional/$tail");
38
42
  var TypeGuardError_1 = require("./TypeGuardError");
39
43
  __exportStar(require("./schemas/IJsonApplication"), exports);
40
44
  __exportStar(require("./schemas/IJsonComponents"), exports);
41
45
  __exportStar(require("./schemas/IJsonSchema"), exports);
46
+ __exportStar(require("./Primitive"), exports);
42
47
  __exportStar(require("./TypeGuardError"), exports);
43
48
  __exportStar(require("./IValidation"), exports);
49
+ function assert() {
50
+ halt("assert");
51
+ }
52
+ exports.assert = assert;
53
+ (function (assert) {
54
+ assert.is_uuid = _is_uuid_1.$is_uuid;
55
+ assert.is_email = _is_email_1.$is_email;
56
+ assert.is_url = _is_url_1.$is_url;
57
+ assert.is_ipv4 = _is_ipv4_1.$is_ipv4;
58
+ assert.is_ipv6 = _is_ipv6_1.$is_ipv6;
59
+ assert.join = _join_1.$join;
60
+ assert.every = _every_1.$every;
61
+ assert.guard = (0, _guard_1.$guard)("typia.assert");
62
+ })(assert = exports.assert || (exports.assert = {}));
44
63
  function assertType() {
45
64
  halt("assertType");
46
65
  }
47
66
  exports.assertType = assertType;
48
67
  (function (assertType) {
49
- assertType.is_uuid = _is_uuid_1.$is_uuid;
50
- assertType.is_email = _is_email_1.$is_email;
51
- assertType.is_url = _is_url_1.$is_url;
52
- assertType.is_ipv4 = _is_ipv4_1.$is_ipv4;
53
- assertType.is_ipv6 = _is_ipv6_1.$is_ipv6;
54
- assertType.join = _join_1.$join;
55
68
  function predicate(matched, exceptionable, closure) {
56
69
  if (matched === false && exceptionable === true)
57
- throw new TypeGuardError_1.TypeGuardError(__assign({ method: "TSON.assertType" }, closure()));
70
+ throw new TypeGuardError_1.TypeGuardError(__assign({ method: "typia.assertType" }, closure()));
58
71
  return matched;
59
72
  }
60
73
  assertType.predicate = predicate;
61
74
  })(assertType = exports.assertType || (exports.assertType = {}));
75
+ Object.assign(assertType, assert);
62
76
  function is() {
63
77
  halt("is");
64
78
  }
@@ -81,19 +95,21 @@ exports.validate = validate;
81
95
  validate.is_ipv4 = _is_ipv4_1.$is_ipv4;
82
96
  validate.is_ipv6 = _is_ipv6_1.$is_ipv6;
83
97
  validate.join = _join_1.$join;
98
+ validate.report = _report_1.$report;
84
99
  validate.predicate = function (res) {
85
100
  return function (matched, exceptionable, closure) {
86
101
  if (matched === false && exceptionable === true)
87
102
  (function () {
88
103
  res.success && (res.success = false);
104
+ var errorList = res.errors;
89
105
  var error = closure();
90
- if (res.errors.length) {
91
- var last = res.errors[res.errors.length - 1].path;
106
+ if (errorList.length) {
107
+ var last = errorList[errorList.length - 1].path;
92
108
  if (last.length >= error.path.length &&
93
109
  last.substring(0, error.path.length) === error.path)
94
110
  return;
95
111
  }
96
- res.errors.push(error);
112
+ errorList.push(error);
97
113
  return;
98
114
  })();
99
115
  return matched;
@@ -111,9 +127,11 @@ exports.assertEquals = assertEquals;
111
127
  assertEquals.is_ipv4 = _is_ipv4_1.$is_ipv4;
112
128
  assertEquals.is_ipv6 = _is_ipv6_1.$is_ipv6;
113
129
  assertEquals.join = _join_1.$join;
130
+ assertEquals.every = _every_1.$every;
131
+ assertEquals.guard = (0, _guard_1.$guard)("typia.assertEquals");
114
132
  function predicate(matched, exceptionable, closure) {
115
133
  if (matched === false && exceptionable === true)
116
- throw new TypeGuardError_1.TypeGuardError(__assign({ method: "TSON.assertEquals" }, closure()));
134
+ throw new TypeGuardError_1.TypeGuardError(__assign({ method: "typia.assertEquals" }, closure()));
117
135
  return matched;
118
136
  }
119
137
  assertEquals.predicate = predicate;
@@ -141,25 +159,55 @@ exports.validateEquals = validateEquals;
141
159
  validateEquals.is_ipv4 = _is_ipv4_1.$is_ipv4;
142
160
  validateEquals.is_ipv6 = _is_ipv6_1.$is_ipv6;
143
161
  validateEquals.join = _join_1.$join;
162
+ validateEquals.report = validate.report;
144
163
  validateEquals.predicate = function (res) {
145
164
  return function (matched, exceptionable, closure) {
146
165
  if (matched === false && exceptionable === true)
147
166
  (function () {
148
167
  res.success && (res.success = false);
168
+ var errorList = res.errors;
149
169
  var error = closure();
150
- if (res.errors.length) {
151
- var last = res.errors[res.errors.length - 1].path;
170
+ if (errorList.length) {
171
+ var last = errorList[errorList.length - 1].path;
152
172
  if (last.length >= error.path.length &&
153
173
  last.substring(0, error.path.length) === error.path)
154
174
  return;
155
175
  }
156
- res.errors.push(error);
176
+ errorList.push(error);
157
177
  return;
158
178
  })();
159
179
  return matched;
160
180
  };
161
181
  };
162
182
  })(validateEquals = exports.validateEquals || (exports.validateEquals = {}));
183
+ function application() {
184
+ halt("application");
185
+ }
186
+ exports.application = application;
187
+ function assertParse() {
188
+ halt("assertParse");
189
+ }
190
+ exports.assertParse = assertParse;
191
+ (function (assertParse) {
192
+ assertParse.is_uuid = _is_uuid_1.$is_uuid;
193
+ assertParse.is_email = _is_email_1.$is_email;
194
+ assertParse.is_url = _is_url_1.$is_url;
195
+ assertParse.is_ipv4 = _is_ipv4_1.$is_ipv4;
196
+ assertParse.is_ipv6 = _is_ipv6_1.$is_ipv6;
197
+ assertParse.join = _join_1.$join;
198
+ assertParse.every = _every_1.$every;
199
+ assertParse.guard = (0, _guard_1.$guard)("typia.assertParse");
200
+ })(assertParse = exports.assertParse || (exports.assertParse = {}));
201
+ function isParse() {
202
+ halt("isParse");
203
+ }
204
+ exports.isParse = isParse;
205
+ Object.assign(isParse, is);
206
+ function validateParse() {
207
+ halt("validateParse");
208
+ }
209
+ exports.validateParse = validateParse;
210
+ Object.assign(validateParse, validate);
163
211
  function stringify() {
164
212
  halt("stringify");
165
213
  }
@@ -168,20 +216,134 @@ exports.stringify = stringify;
168
216
  stringify.number = _number_1.$number;
169
217
  stringify.string = _string_1.$string;
170
218
  stringify.tail = _tail_1.$tail;
219
+ stringify.rest = _rest_1.$rest;
171
220
  function throws(props) {
172
- throw new TypeGuardError_1.TypeGuardError(__assign(__assign({}, props), { method: "TSON.stringify" }));
221
+ throw new TypeGuardError_1.TypeGuardError(__assign(__assign({}, props), { method: "typia.stringify" }));
173
222
  }
174
223
  stringify.throws = throws;
175
224
  })(stringify = exports.stringify || (exports.stringify = {}));
176
- function create() {
177
- halt("create");
225
+ function assertStringify() {
226
+ halt("assertStringify");
178
227
  }
179
- exports.create = create;
180
- function application() {
181
- halt("application");
228
+ exports.assertStringify = assertStringify;
229
+ (function (assertStringify) {
230
+ assertStringify.is_uuid = _is_uuid_1.$is_uuid;
231
+ assertStringify.is_email = _is_email_1.$is_email;
232
+ assertStringify.is_url = _is_url_1.$is_url;
233
+ assertStringify.is_ipv4 = _is_ipv4_1.$is_ipv4;
234
+ assertStringify.is_ipv6 = _is_ipv6_1.$is_ipv6;
235
+ assertStringify.number = _number_1.$number;
236
+ assertStringify.string = _string_1.$string;
237
+ assertStringify.tail = _tail_1.$tail;
238
+ assertStringify.rest = _rest_1.$rest;
239
+ assertStringify.join = _join_1.$join;
240
+ assertStringify.guard = (0, _guard_1.$guard)("typia.assertStringify");
241
+ assertStringify.every = _every_1.$every;
242
+ assertStringify.throws = function () { };
243
+ function predicate(matched, exceptionable, closure) {
244
+ if (matched === false && exceptionable === true)
245
+ throw new TypeGuardError_1.TypeGuardError(__assign({ method: "typia.assertStringify" }, closure()));
246
+ return matched;
247
+ }
248
+ assertStringify.predicate = predicate;
249
+ })(assertStringify = exports.assertStringify || (exports.assertStringify = {}));
250
+ function isStringify() {
251
+ halt("isStringify");
182
252
  }
183
- exports.application = application;
253
+ exports.isStringify = isStringify;
254
+ (function (isStringify) {
255
+ isStringify.is_uuid = _is_uuid_1.$is_uuid;
256
+ isStringify.is_email = _is_email_1.$is_email;
257
+ isStringify.is_url = _is_url_1.$is_url;
258
+ isStringify.is_ipv4 = _is_ipv4_1.$is_ipv4;
259
+ isStringify.is_ipv6 = _is_ipv6_1.$is_ipv6;
260
+ isStringify.number = _number_1.$number;
261
+ isStringify.string = _string_1.$string;
262
+ isStringify.tail = _tail_1.$tail;
263
+ isStringify.rest = _rest_1.$rest;
264
+ isStringify.throws = function () { };
265
+ })(isStringify = exports.isStringify || (exports.isStringify = {}));
266
+ function validateStringify() {
267
+ halt("validateStringify");
268
+ }
269
+ exports.validateStringify = validateStringify;
270
+ Object.assign(validateStringify, validate);
271
+ Object.assign(validateStringify, stringify);
272
+ function createAssert() {
273
+ halt("createAssert");
274
+ }
275
+ exports.createAssert = createAssert;
276
+ Object.assign(createAssert, assert);
277
+ function createAssertType() {
278
+ halt("createAssertType");
279
+ }
280
+ exports.createAssertType = createAssertType;
281
+ Object.assign(createAssertType, assertType);
282
+ function createIs() {
283
+ halt("createIs");
284
+ }
285
+ exports.createIs = createIs;
286
+ Object.assign(createIs, is);
287
+ function createValidate() {
288
+ halt("createValidate");
289
+ }
290
+ exports.createValidate = createValidate;
291
+ Object.assign(createValidate, validate);
292
+ function createAssertEquals() {
293
+ halt("createAssertEquals");
294
+ }
295
+ exports.createAssertEquals = createAssertEquals;
296
+ Object.assign(createAssertEquals, assertEquals);
297
+ function createEquals() {
298
+ halt("createEquals");
299
+ }
300
+ exports.createEquals = createEquals;
301
+ Object.assign(createEquals, equals);
302
+ function createValidateEquals() {
303
+ halt("createValidateEquals");
304
+ }
305
+ exports.createValidateEquals = createValidateEquals;
306
+ Object.assign(createValidateEquals, validateEquals);
307
+ function createIsParse() {
308
+ halt("createIsParse");
309
+ }
310
+ exports.createIsParse = createIsParse;
311
+ Object.assign(createIsParse, isParse);
312
+ function createAssertParse() {
313
+ halt("createAssertParse");
314
+ }
315
+ exports.createAssertParse = createAssertParse;
316
+ Object.assign(createAssertParse, assertParse);
317
+ function createValidateParse() {
318
+ halt("createValidateParse");
319
+ }
320
+ exports.createValidateParse = createValidateParse;
321
+ Object.assign(createValidateParse, validateParse);
322
+ function createStringify() {
323
+ halt("createStringify");
324
+ }
325
+ exports.createStringify = createStringify;
326
+ Object.assign(createStringify, stringify);
327
+ function createAssertStringify() {
328
+ halt("createAssertStringify");
329
+ }
330
+ exports.createAssertStringify = createAssertStringify;
331
+ Object.assign(createAssertStringify, assertStringify);
332
+ function createIsStringify() {
333
+ halt("createIsStringify");
334
+ }
335
+ exports.createIsStringify = createIsStringify;
336
+ Object.assign(createIsStringify, isStringify);
337
+ function createValidateStringify() {
338
+ halt("createValidateStringify");
339
+ }
340
+ exports.createValidateStringify = createValidateStringify;
341
+ Object.assign(createValidateStringify, validateStringify);
342
+ function metadata() {
343
+ halt("metadata");
344
+ }
345
+ exports.metadata = metadata;
184
346
  function halt(name) {
185
- throw new Error("Error on TSON.".concat(name, "(): no transform has been configured. Configure the \"tsconfig.json\" file following the [README.md#setup](https://github.com/samchon/typescript-json#setup)"));
347
+ throw new Error("Error on typia.".concat(name, "(): no transform has been configured. Configure the \"tsconfig.json\" file following the [README.md#setup](https://github.com/samchon/typia#setup)"));
186
348
  }
187
349
  //# sourceMappingURL=module.js.map
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA6C;AAC7C,8CAA6C;AAC7C,oDAAmD;AACnD,kDAAiD;AACjD,kDAAiD;AACjD,gDAA+C;AAC/C,kDAAiD;AACjD,4CAA2C;AAC3C,gDAA+C;AAC/C,gDAA+C;AAC/C,4CAA2C;AAC3C,gDAA+C;AAC/C,4CAA2C;AAM3C,mDAAkD;AAElD,6DAA2C;AAC3C,4DAA0C;AAC1C,wDAAsC;AACtC,8CAA4B;AAC5B,mDAAiC;AACjC,gDAA8B;AA2D9B,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AAKD,WAAiB,MAAM;IACN,cAAO,GAAG,mBAAQ,CAAC;IACnB,eAAQ,GAAG,qBAAS,CAAC;IACrB,aAAM,GAAG,iBAAO,CAAC;IACjB,cAAO,GAAG,mBAAQ,CAAC;IACnB,cAAO,GAAG,mBAAQ,CAAC;IAEnB,WAAI,GAAG,aAAK,CAAC;IACb,YAAK,GAAG,eAAM,CAAC;IACf,YAAK,GAAG,IAAA,eAAM,EAAC,cAAc,CAAC,CAAC;AAChD,CAAC,EAVgB,MAAM,GAAN,cAAM,KAAN,cAAM,QAUtB;AAmCD,SAAgB,UAAU;IACtB,IAAI,CAAC,YAAY,CAAC,CAAC;AACvB,CAAC;AAFD,gCAEC;AAKD,WAAiB,UAAU;IAEvB,SAAgB,SAAS,CACrB,OAAgB,EAChB,aAAsB,EACtB,OAAoD;QAEpD,IAAI,OAAO,KAAK,KAAK,IAAI,aAAa,KAAK,IAAI;YAC3C,MAAM,IAAI,+BAAc,YACpB,MAAM,EAAE,kBAAkB,IACvB,OAAO,EAAE,EACd,CAAC;QACP,OAAO,OAAO,CAAC;IACnB,CAAC;IAXe,oBAAS,YAWxB,CAAA;AACL,CAAC,EAdgB,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAc1B;AACD,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAqDlC,SAAgB,EAAE;IACd,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAFD,gBAEC;AAKD,WAAiB,EAAE;IACF,UAAO,GAAG,mBAAQ,CAAC;IACnB,WAAQ,GAAG,qBAAS,CAAC;IACrB,SAAM,GAAG,iBAAO,CAAC;IACjB,UAAO,GAAG,mBAAQ,CAAC;IACnB,UAAO,GAAG,mBAAQ,CAAC;AACpC,CAAC,EANgB,EAAE,GAAF,UAAE,KAAF,UAAE,QAMlB;AAuDD,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AAKD,WAAiB,QAAQ;IACR,gBAAO,GAAG,mBAAQ,CAAC;IACnB,iBAAQ,GAAG,qBAAS,CAAC;IACrB,eAAM,GAAG,iBAAO,CAAC;IACjB,gBAAO,GAAG,mBAAQ,CAAC;IACnB,gBAAO,GAAG,mBAAQ,CAAC;IAEnB,aAAI,GAAG,aAAK,CAAC;IACb,eAAM,GAAG,iBAAO,CAAC;IAGjB,kBAAS,GAClB,UAAC,GAAgB;QACjB,OAAA,UACI,OAAgB,EAChB,aAAsB,EACtB,OAAiC;YAGjC,IAAI,OAAO,KAAK,KAAK,IAAI,aAAa,KAAK,IAAI;gBAC3C,CAAC;oBACG,GAAG,CAAC,OAAO,KAAX,GAAG,CAAC,OAAO,GAAK,KAAK,EAAC;oBACtB,IAAM,SAAS,GAAI,GAA4B,CAAC,MAAM,CAAC;oBAGvD,IAAM,KAAK,GAAG,OAAO,EAAE,CAAC;oBACxB,IAAI,SAAS,CAAC,MAAM,EAAE;wBAClB,IAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC;wBACnD,IACI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM;4BAChC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI;4BAEnD,OAAO;qBACd;oBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACtB,OAAO;gBACX,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,OAAO,CAAC;QACnB,CAAC;IAzBD,CAyBC,CAAC;AACV,CAAC,EAvCgB,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAuCxB;AA0DD,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AAKD,WAAiB,YAAY;IACZ,oBAAO,GAAG,mBAAQ,CAAC;IACnB,qBAAQ,GAAG,qBAAS,CAAC;IACrB,mBAAM,GAAG,iBAAO,CAAC;IACjB,oBAAO,GAAG,mBAAQ,CAAC;IACnB,oBAAO,GAAG,mBAAQ,CAAC;IAEnB,iBAAI,GAAG,aAAK,CAAC;IACb,kBAAK,GAAG,eAAM,CAAC;IAEf,kBAAK,GAAG,IAAA,eAAM,EAAC,oBAAoB,CAAC,CAAC;IAGlD,SAAgB,SAAS,CACrB,OAAgB,EAChB,aAAsB,EACtB,OAAoD;QAEpD,IAAI,OAAO,KAAK,KAAK,IAAI,aAAa,KAAK,IAAI;YAC3C,MAAM,IAAI,+BAAc,YACpB,MAAM,EAAE,oBAAoB,IACzB,OAAO,EAAE,EACd,CAAC;QACP,OAAO,OAAO,CAAC;IACnB,CAAC;IAXe,sBAAS,YAWxB,CAAA;AACL,CAAC,EAzBgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAyB5B;AAuDD,SAAgB,MAAM;IAClB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACnB,CAAC;AAFD,wBAEC;AAKD,WAAiB,MAAM;IACN,cAAO,GAAG,mBAAQ,CAAC;IACnB,eAAQ,GAAG,qBAAS,CAAC;IACrB,aAAM,GAAG,iBAAO,CAAC;IACjB,cAAO,GAAG,mBAAQ,CAAC;IACnB,cAAO,GAAG,mBAAQ,CAAC;IACnB,WAAI,GAAG,aAAK,CAAC;AAC9B,CAAC,EAPgB,MAAM,GAAN,cAAM,KAAN,cAAM,QAOtB;AAyDD,SAAgB,cAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3B,CAAC;AAFD,wCAEC;AAKD,WAAiB,cAAc;IACd,sBAAO,GAAG,mBAAQ,CAAC;IACnB,uBAAQ,GAAG,qBAAS,CAAC;IACrB,qBAAM,GAAG,iBAAO,CAAC;IACjB,sBAAO,GAAG,mBAAQ,CAAC;IACnB,sBAAO,GAAG,mBAAQ,CAAC;IACnB,mBAAI,GAAG,aAAK,CAAC;IAEb,qBAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAGzB,wBAAS,GAClB,UAAC,GAAgB;QACjB,OAAA,UACI,OAAgB,EAChB,aAAsB,EACtB,OAAiC;YAGjC,IAAI,OAAO,KAAK,KAAK,IAAI,aAAa,KAAK,IAAI;gBAC3C,CAAC;oBACG,GAAG,CAAC,OAAO,KAAX,GAAG,CAAC,OAAO,GAAK,KAAK,EAAC;oBACtB,IAAM,SAAS,GAAI,GAA4B,CAAC,MAAM,CAAC;oBAGvD,IAAM,KAAK,GAAG,OAAO,EAAE,CAAC;oBACxB,IAAI,SAAS,CAAC,MAAM,EAAE;wBAClB,IAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,IAAI,CAAC;wBACnD,IACI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM;4BAChC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI;4BAEnD,OAAO;qBACd;oBACD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACtB,OAAO;gBACX,CAAC,CAAC,EAAE,CAAC;YACT,OAAO,OAAO,CAAC;QACnB,CAAC;IAzBD,CAyBC,CAAC;AACV,CAAC,EAvCgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAuC9B;AAgED,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AA6CD,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AAKD,WAAiB,WAAW;IACX,mBAAO,GAAG,mBAAQ,CAAC;IACnB,oBAAQ,GAAG,qBAAS,CAAC;IACrB,kBAAM,GAAG,iBAAO,CAAC;IACjB,mBAAO,GAAG,mBAAQ,CAAC;IACnB,mBAAO,GAAG,mBAAQ,CAAC;IAEnB,gBAAI,GAAG,aAAK,CAAC;IACb,iBAAK,GAAG,eAAM,CAAC;IACf,iBAAK,GAAG,IAAA,eAAM,EAAC,mBAAmB,CAAC,CAAC;AACrD,CAAC,EAVgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAU3B;AA6CD,SAAgB,OAAO;IACnB,IAAI,CAAC,SAAS,CAAC,CAAC;AACpB,CAAC;AAFD,0BAEC;AACD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AA+C3B,SAAgB,aAAa;IACzB,IAAI,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AA6BvC,SAAgB,SAAS;IACrB,IAAI,CAAC,WAAW,CAAC,CAAC;AACtB,CAAC;AAFD,8BAEC;AAKD,WAAiB,SAAS;IACT,gBAAM,GAAG,iBAAO,CAAC;IACjB,gBAAM,GAAG,iBAAO,CAAC;IACjB,cAAI,GAAG,aAAK,CAAC;IACb,cAAI,GAAG,aAAK,CAAC;IAE1B,SAAgB,MAAM,CAClB,KAAwD;QAExD,MAAM,IAAI,+BAAc,uBACjB,KAAK,KACR,MAAM,EAAE,iBAAiB,IAC3B,CAAC;IACP,CAAC;IAPe,gBAAM,SAOrB,CAAA;AACL,CAAC,EAdgB,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAczB;AAmDD,SAAgB,eAAe;IAC3B,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC5B,CAAC;AAFD,0CAEC;AAKD,WAAiB,eAAe;IACf,uBAAO,GAAG,mBAAQ,CAAC;IACnB,wBAAQ,GAAG,qBAAS,CAAC;IACrB,sBAAM,GAAG,iBAAO,CAAC;IACjB,uBAAO,GAAG,mBAAQ,CAAC;IACnB,uBAAO,GAAG,mBAAQ,CAAC;IAEnB,sBAAM,GAAG,iBAAO,CAAC;IACjB,sBAAM,GAAG,iBAAO,CAAC;IACjB,oBAAI,GAAG,aAAK,CAAC;IACb,oBAAI,GAAG,aAAK,CAAC;IAEb,oBAAI,GAAG,aAAK,CAAC;IACb,qBAAK,GAAG,IAAA,eAAM,EAAC,uBAAuB,CAAC,CAAC;IACxC,qBAAK,GAAG,eAAM,CAAC;IACf,sBAAM,GAAG,cAAO,CAAC,CAAC;IAG/B,SAAgB,SAAS,CACrB,OAAgB,EAChB,aAAsB,EACtB,OAAoD;QAEpD,IAAI,OAAO,KAAK,KAAK,IAAI,aAAa,KAAK,IAAI;YAC3C,MAAM,IAAI,+BAAc,YACpB,MAAM,EAAE,uBAAuB,IAC5B,OAAO,EAAE,EACd,CAAC;QACP,OAAO,OAAO,CAAC;IACnB,CAAC;IAXe,yBAAS,YAWxB,CAAA;AACL,CAAC,EA9BgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA8B/B;AAmDD,SAAgB,WAAW;IACvB,IAAI,CAAC,aAAa,CAAC,CAAC;AACxB,CAAC;AAFD,kCAEC;AAKD,WAAiB,WAAW;IACX,mBAAO,GAAG,mBAAQ,CAAC;IACnB,oBAAQ,GAAG,qBAAS,CAAC;IACrB,kBAAM,GAAG,iBAAO,CAAC;IACjB,mBAAO,GAAG,mBAAQ,CAAC;IACnB,mBAAO,GAAG,mBAAQ,CAAC;IAEnB,kBAAM,GAAG,iBAAO,CAAC;IACjB,kBAAM,GAAG,iBAAO,CAAC;IACjB,gBAAI,GAAG,aAAK,CAAC;IACb,gBAAI,GAAG,aAAK,CAAC;IAEb,kBAAM,GAAG,cAAO,CAAC,CAAC;AACnC,CAAC,EAbgB,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAa3B;AAqDD,SAAgB,iBAAiB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAC3C,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;AAmC5C,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAgCpC,SAAgB,gBAAgB;IAC5B,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC7B,CAAC;AAFD,4CAEC;AACD,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;AA0B5C,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AACD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AA0B5B,SAAgB,cAAc;IAC1B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAC3B,CAAC;AAFD,wCAEC;AACD,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;AA6BxC,SAAgB,kBAAkB;IAC9B,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC/B,CAAC;AAFD,gDAEC;AACD,MAAM,CAAC,MAAM,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;AA0BhD,SAAgB,YAAY;IACxB,IAAI,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC;AAFD,oCAEC;AACD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AA0BpC,SAAgB,oBAAoB;IAChC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACjC,CAAC;AAFD,oDAEC;AACD,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;AA6BpD,SAAgB,aAAa;IACzB,IAAI,CAAC,eAAe,CAAC,CAAC;AAC1B,CAAC;AAFD,sCAEC;AACD,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;AA0BtC,SAAgB,iBAAiB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AA0B9C,SAAgB,mBAAmB;IAC/B,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAChC,CAAC;AAFD,kDAEC;AACD,MAAM,CAAC,MAAM,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AA0BlD,SAAgB,eAAe;IAC3B,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC5B,CAAC;AAFD,0CAEC;AACD,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AA0B1C,SAAgB,qBAAqB;IACjC,IAAI,CAAC,uBAAuB,CAAC,CAAC;AAClC,CAAC;AAFD,sDAEC;AACD,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AA0BtD,SAAgB,iBAAiB;IAC7B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC9B,CAAC;AAFD,8CAEC;AACD,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AA4B9C,SAAgB,uBAAuB;IAGnC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AACpC,CAAC;AAJD,0DAIC;AACD,MAAM,CAAC,MAAM,CAAC,uBAAuB,EAAE,iBAAiB,CAAC,CAAC;AAa1D,SAAgB,QAAQ;IACpB,IAAI,CAAC,UAAU,CAAC,CAAC;AACrB,CAAC;AAFD,4BAEC;AAKD,SAAS,IAAI,CAAC,IAAY;IACtB,MAAM,IAAI,KAAK,CACX,yBAAkB,IAAI,uJAAkJ,CAC3K,CAAC;AACN,CAAC"}
@@ -36,10 +36,10 @@ var ApplicationProgrammer;
36
36
  schemas: {},
37
37
  };
38
38
  var generator = (0, application_schema_1.application_schema)(fullOptions)(components)(true);
39
- return __assign({ schemas: metadatas.map(function (meta) {
39
+ return __assign({ schemas: metadatas.map(function (meta, i) {
40
40
  var schema = generator(meta, {});
41
41
  if (schema === null)
42
- throw new Error("Error on TSON.application(): never type on argument.");
42
+ throw new Error("Error on typia.application(): invalid type on argument - (".concat(meta.getName(), ", ").concat(i, ")"));
43
43
  return schema;
44
44
  }), components: components }, fullOptions);
45
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ApplicationProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,oEAAmE;AAEnE,IAAiB,qBAAqB,CA+CrC;AA/CD,WAAiB,qBAAqB;IACrB,gCAAU,GAAG,qBAAqB,CAAC;IACnC,oCAAc,GAAG,sBAAsB,CAAC;IAUrD,IAAiB,QAAQ,CAUxB;IAVD,WAAiB,QAAQ;QACrB,SAAgB,UAAU,CAAC,OAA2B;;YAClD,IAAM,OAAO,GAAsB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,SAAS,CAAC;YACjE,OAAO;gBACH,OAAO,SAAA;gBACP,MAAM,EACF,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;oBACf,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAA,cAAc,CAAC,CAAC,CAAC,sBAAA,UAAU,CAAC;aAC5D,CAAC;QACN,CAAC;QARe,mBAAU,aAQzB,CAAA;IACL,CAAC,EAVgB,QAAQ,GAAR,8BAAQ,KAAR,8BAAQ,QAUxB;IAED,SAAgB,QAAQ,CACpB,SAA0B,EAC1B,OAA2B;QAE3B,IAAM,WAAW,GAAa,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAM,UAAU,GAAoB;YAChC,OAAO,EAAE,EAAE;SACd,CAAC;QACF,IAAM,SAAS,GAAG,IAAA,uCAAkB,EAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QAEpE,kBACI,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,IAAI;gBACxB,IAAM,MAAM,GAAuB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvD,IAAI,MAAM,KAAK,IAAI;oBACf,MAAM,IAAI,KAAK,CACX,sDAAsD,CACzD,CAAC;gBACN,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC,EACF,UAAU,YAAA,IACP,WAAW,EAChB;IACN,CAAC;IAtBe,8BAAQ,WAsBvB,CAAA;AACL,CAAC,EA/CgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QA+CrC"}
1
+ {"version":3,"file":"ApplicationProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ApplicationProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,oEAAmE;AAEnE,IAAiB,qBAAqB,CA+CrC;AA/CD,WAAiB,qBAAqB;IACrB,gCAAU,GAAG,qBAAqB,CAAC;IACnC,oCAAc,GAAG,sBAAsB,CAAC;IAUrD,IAAiB,QAAQ,CAUxB;IAVD,WAAiB,QAAQ;QACrB,SAAgB,UAAU,CAAC,OAA2B;;YAClD,IAAM,OAAO,GAAsB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,mCAAI,SAAS,CAAC;YACjE,OAAO;gBACH,OAAO,SAAA;gBACP,MAAM,EACF,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM;oBACf,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAA,cAAc,CAAC,CAAC,CAAC,sBAAA,UAAU,CAAC;aAC5D,CAAC;QACN,CAAC;QARe,mBAAU,aAQzB,CAAA;IACL,CAAC,EAVgB,QAAQ,GAAR,8BAAQ,KAAR,8BAAQ,QAUxB;IAED,SAAgB,QAAQ,CACpB,SAA0B,EAC1B,OAA2B;QAE3B,IAAM,WAAW,GAAa,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAM,UAAU,GAAoB;YAChC,OAAO,EAAE,EAAE;SACd,CAAC;QACF,IAAM,SAAS,GAAG,IAAA,uCAAkB,EAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QAEpE,kBACI,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;gBAC3B,IAAM,MAAM,GAAuB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvD,IAAI,MAAM,KAAK,IAAI;oBACf,MAAM,IAAI,KAAK,CACX,oEAA6D,IAAI,CAAC,OAAO,EAAE,eAAK,CAAC,MAAG,CACvF,CAAC;gBACN,OAAO,MAAM,CAAC;YAClB,CAAC,CAAC,EACF,UAAU,YAAA,IACP,WAAW,EAChB;IACN,CAAC;IAtBe,8BAAQ,WAsBvB,CAAA;AACL,CAAC,EA/CgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QA+CrC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../transformers/IProject";
3
+ export declare namespace AssertParseProgrammer {
4
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.ArrowFunction;
5
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.AssertParseProgrammer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var IdentifierFactory_1 = require("../factories/IdentifierFactory");
9
+ var StatementFactory_1 = require("../factories/StatementFactory");
10
+ var AssertProgrammer_1 = require("./AssertProgrammer");
11
+ var AssertParseProgrammer;
12
+ (function (AssertParseProgrammer) {
13
+ AssertParseProgrammer.generate = function (project, modulo) {
14
+ return function (type) {
15
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
16
+ StatementFactory_1.StatementFactory.constant("assert", AssertProgrammer_1.AssertProgrammer.generate(project, modulo)(type)),
17
+ 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")]))),
18
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("assert"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
19
+ ]));
20
+ };
21
+ };
22
+ })(AssertParseProgrammer = exports.AssertParseProgrammer || (exports.AssertParseProgrammer = {}));
23
+ //# sourceMappingURL=AssertParseProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssertParseProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertParseProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AAIjE,uDAAsD;AAEtD,IAAiB,qBAAqB,CAmCrC;AAnCD,WAAiB,qBAAqB;IACrB,8BAAQ,GACjB,UAAC,OAAiB,EAAE,MAAiC;QACrD,OAAA,UAAC,IAAa;YACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACnB,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CACnD;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,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;aACJ,CAAC,CACL;QA9BD,CA8BC;IA/BL,CA+BK,CAAC;AACd,CAAC,EAnCgB,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAmCrC"}
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace AssertProgrammer {
4
- function generate(project: IProject, modulo: ts.LeftHandSideExpression, equals?: boolean): (type: ts.Type) => ts.ArrowFunction;
4
+ const generate: (project: IProject, modulo: ts.LeftHandSideExpression, equals?: boolean) => (type: ts.Type) => ts.ArrowFunction;
5
5
  }
@@ -1,79 +1,154 @@
1
1
  "use strict";
2
+ var __read = (this && this.__read) || function (o, n) {
3
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
4
+ if (!m) return o;
5
+ var i = m.call(o), r, ar = [], e;
6
+ try {
7
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
+ }
9
+ catch (error) { e = { error: error }; }
10
+ finally {
11
+ try {
12
+ if (r && !r.done && (m = i["return"])) m.call(i);
13
+ }
14
+ finally { if (e) throw e.error; }
15
+ }
16
+ return ar;
17
+ };
18
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
+ if (ar || !(i in from)) {
21
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
+ ar[i] = from[i];
23
+ }
24
+ }
25
+ return to.concat(ar || Array.prototype.slice.call(from));
26
+ };
2
27
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
28
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
29
  };
5
30
  Object.defineProperty(exports, "__esModule", { value: true });
6
31
  exports.AssertProgrammer = void 0;
7
32
  var typescript_1 = __importDefault(require("typescript"));
8
- var ValueFactory_1 = require("../factories/ValueFactory");
33
+ var IdentifierFactory_1 = require("../factories/IdentifierFactory");
9
34
  var CheckerProgrammer_1 = require("./CheckerProgrammer");
10
35
  var IsProgrammer_1 = require("./IsProgrammer");
11
36
  var FunctionImporeter_1 = require("./helpers/FunctionImporeter");
12
37
  var check_object_1 = require("./internal/check_object");
13
38
  var AssertProgrammer;
14
39
  (function (AssertProgrammer) {
15
- function generate(project, modulo, equals) {
40
+ AssertProgrammer.generate = function (project, modulo, equals) {
16
41
  if (equals === void 0) { equals = false; }
17
- var importer = new FunctionImporeter_1.FunctionImporter();
18
42
  return function (type) {
19
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
20
- typescript_1.default.factory.createParameterDeclaration(undefined, undefined, undefined, ValueFactory_1.ValueFactory.INPUT()),
21
- ], undefined, undefined, typescript_1.default.factory.createBlock([
22
- typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(CheckerProgrammer_1.CheckerProgrammer.generate(project, {
23
- functors: "$ao",
24
- unioners: "$au",
25
- trace: true,
26
- numeric: !!project.options.numeric,
27
- equals: equals,
28
- combiner: combine(equals)(importer),
29
- joiner: CheckerProgrammer_1.CheckerProgrammer.DEFAULT_JOINER(assert_object(equals)(importer)),
30
- }, modulo, importer)(type), undefined, [ValueFactory_1.ValueFactory.INPUT()])),
31
- typescript_1.default.factory.createReturnStatement(ValueFactory_1.ValueFactory.INPUT()),
32
- ]));
43
+ var importer = new FunctionImporeter_1.FunctionImporter();
44
+ var program = CheckerProgrammer_1.CheckerProgrammer.generate(project, {
45
+ functors: "$ao",
46
+ unioners: "$au",
47
+ path: true,
48
+ trace: true,
49
+ numeric: !!project.options.numeric,
50
+ equals: equals,
51
+ combiner: combiner(equals)(importer),
52
+ joiner: joiner(equals)(importer),
53
+ success: typescript_1.default.factory.createTrue(),
54
+ }, importer)(type);
55
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), [
56
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(program, undefined, [
57
+ typescript_1.default.factory.createIdentifier("input"),
58
+ typescript_1.default.factory.createStringLiteral("$input"),
59
+ typescript_1.default.factory.createTrue(),
60
+ ])),
61
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("input")),
62
+ ], false), true));
33
63
  };
34
- }
35
- AssertProgrammer.generate = generate;
36
- })(AssertProgrammer = exports.AssertProgrammer || (exports.AssertProgrammer = {}));
37
- var combine = function (equals) {
38
- return function (importer) {
39
- return function (explore) {
40
- var combiner = IsProgrammer_1.IsProgrammer.CONFIG({
41
- object: assert_object(equals)(importer),
42
- numeric: true,
43
- }).combiner;
44
- if (explore.tracable === false && explore.from !== "top")
45
- return combiner(explore);
46
- var path = explore.postfix
47
- ? "path + ".concat(explore.postfix)
48
- : "path";
49
- return function (logic) { return function (input, expressions, expected) {
50
- return typescript_1.default.factory.createCallExpression(importer.use("predicate"), [], [
51
- combiner(explore)(logic)(input, expressions, expected),
52
- explore.source === "top"
64
+ };
65
+ var combiner = function (equals) {
66
+ return function (importer) {
67
+ return function (explore) {
68
+ if (explore.tracable === false && explore.from !== "top")
69
+ return IsProgrammer_1.IsProgrammer.CONFIG({
70
+ object: assert_object(equals)(importer),
71
+ numeric: true,
72
+ }).combiner(explore);
73
+ var path = explore.postfix
74
+ ? "path + ".concat(explore.postfix)
75
+ : "path";
76
+ return function (logic) { return function (input, binaries, expected) {
77
+ return logic === "and"
78
+ ? binaries
79
+ .map(function (binary) {
80
+ return binary.combined
81
+ ? binary.expression
82
+ : typescript_1.default.factory.createLogicalOr(binary.expression, create_guard_call(importer)(explore.source === "top"
83
+ ? typescript_1.default.factory.createTrue()
84
+ : typescript_1.default.factory.createIdentifier("exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
85
+ })
86
+ .reduce(typescript_1.default.factory.createLogicalAnd)
87
+ : (function () {
88
+ var addicted = binaries.slice();
89
+ if (addicted[addicted.length - 1].combined === false) {
90
+ addicted.push({
91
+ combined: true,
92
+ expression: create_guard_call(importer)(explore.source === "top"
93
+ ? typescript_1.default.factory.createTrue()
94
+ : typescript_1.default.factory.createIdentifier("exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input),
95
+ });
96
+ }
97
+ return addicted
98
+ .map(function (b) { return b.expression; })
99
+ .reduce(typescript_1.default.factory.createLogicalOr);
100
+ })();
101
+ }; };
102
+ };
103
+ };
104
+ };
105
+ var assert_object = function (equals) { return function (importer) {
106
+ return (0, check_object_1.check_object)({
107
+ equals: equals,
108
+ assert: true,
109
+ reduce: typescript_1.default.factory.createLogicalAnd,
110
+ positive: typescript_1.default.factory.createTrue(),
111
+ superfluous: function (value) {
112
+ return create_guard_call(importer)()(typescript_1.default.factory.createAdd(typescript_1.default.factory.createIdentifier("path"), typescript_1.default.factory.createCallExpression(importer.use("join"), undefined, [typescript_1.default.factory.createIdentifier("key")])), "undefined", value);
113
+ },
114
+ halt: function (expr) {
115
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("exceptionable")), expr);
116
+ },
117
+ });
118
+ }; };
119
+ var joiner = function (equals) {
120
+ return function (importer) { return ({
121
+ object: assert_object(equals)(importer),
122
+ array: function (input, arrow) {
123
+ return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "every"), undefined, [arrow]);
124
+ },
125
+ failure: function (value, expected, explore) {
126
+ return create_guard_call(importer)((explore === null || explore === void 0 ? void 0 : explore.from) === "top"
127
+ ? typescript_1.default.factory.createTrue()
128
+ : typescript_1.default.factory.createIdentifier("exceptionable"))(typescript_1.default.factory.createIdentifier((explore === null || explore === void 0 ? void 0 : explore.postfix) ? "path + ".concat(explore.postfix) : "path"), expected, value);
129
+ },
130
+ full: equals
131
+ ? undefined
132
+ : function (condition) { return function (input, expected, explore) {
133
+ return typescript_1.default.factory.createLogicalOr(condition, create_guard_call(importer)(explore.from === "top"
53
134
  ? typescript_1.default.factory.createTrue()
54
- : typescript_1.default.factory.createIdentifier("exceptionable"),
55
- create_throw_function(typescript_1.default.factory.createIdentifier(path), expected, input),
135
+ : typescript_1.default.factory.createIdentifier("exceptionable"))(typescript_1.default.factory.createIdentifier("path"), expected, input));
136
+ }; },
137
+ }); };
138
+ };
139
+ var create_guard_call = function (importer) {
140
+ return function (exceptionable) {
141
+ return function (path, expected, value) {
142
+ return typescript_1.default.factory.createCallExpression(importer.use("guard"), undefined, [
143
+ exceptionable || typescript_1.default.factory.createIdentifier("exceptionable"),
144
+ typescript_1.default.factory.createObjectLiteralExpression([
145
+ typescript_1.default.factory.createPropertyAssignment("path", path),
146
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
147
+ typescript_1.default.factory.createPropertyAssignment("value", value),
148
+ ], true),
56
149
  ]);
57
- }; };
150
+ };
58
151
  };
59
152
  };
60
- };
61
- var assert_object = function (equals) { return function (importer) {
62
- return (0, check_object_1.check_object)(equals)(true)(function (expr) {
63
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("exceptionable")), expr);
64
- })(function (expr) {
65
- return typescript_1.default.factory.createCallExpression(importer.use("predicate"), undefined, [
66
- expr,
67
- typescript_1.default.factory.createIdentifier("exceptionable"),
68
- create_throw_function(typescript_1.default.factory.createAdd(typescript_1.default.factory.createIdentifier("path"), typescript_1.default.factory.createCallExpression(importer.use("join"), undefined, [typescript_1.default.factory.createIdentifier("key")])), "undefined", typescript_1.default.factory.createIdentifier("value")),
69
- ]);
70
- });
71
- }; };
72
- function create_throw_function(path, expected, value) {
73
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createObjectLiteralExpression([
74
- typescript_1.default.factory.createPropertyAssignment("path", path),
75
- typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
76
- typescript_1.default.factory.createPropertyAssignment("value", value),
77
- ], true));
78
- }
153
+ })(AssertProgrammer = exports.AssertProgrammer || (exports.AssertProgrammer = {}));
79
154
  //# sourceMappingURL=AssertProgrammer.js.map