typia 3.3.12 → 3.4.0-dev.20221212

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
@@ -7,29 +7,19 @@ exports.check_object = void 0;
7
7
  var typescript_1 = __importDefault(require("typescript"));
8
8
  var check_dynamic_properties_1 = require("./check_dynamic_properties");
9
9
  var check_everything_1 = require("./check_everything");
10
- var check_object = function (equals) {
11
- return function (assert) {
12
- return function (halter) {
13
- return function (wrapper) {
14
- return function (entries) {
15
- var regular = entries.filter(function (entry) { return entry.key.isSoleLiteral(); });
16
- var dynamic = entries.filter(function (entry) { return !entry.key.isSoleLiteral(); });
17
- var flags = regular.map(function (entry) { return entry.expression; });
18
- if (equals === false && dynamic.length === 0)
19
- return regular.length === 0
20
- ? typescript_1.default.factory.createTrue()
21
- : reduce(assert)(flags);
22
- flags.push((0, check_dynamic_properties_1.check_dynamic_properties)(equals)(assert)(halter)(wrapper)(regular, dynamic));
23
- return reduce(assert)(flags);
24
- };
25
- };
26
- };
27
- };
28
- };
10
+ var check_object = function (props) { return function (entries) {
11
+ var regular = entries.filter(function (entry) { return entry.key.isSoleLiteral(); });
12
+ var dynamic = entries.filter(function (entry) { return !entry.key.isSoleLiteral(); });
13
+ var flags = regular.map(function (entry) { return entry.expression; });
14
+ if (props.equals === false && dynamic.length === 0)
15
+ return regular.length === 0 ? props.positive : reduce(props)(flags);
16
+ flags.push((0, check_dynamic_properties_1.check_dynamic_properties)(props)(regular, dynamic));
17
+ return reduce(props)(flags);
18
+ }; };
29
19
  exports.check_object = check_object;
30
- var reduce = function (assert) { return function (expressions) {
31
- return assert
32
- ? expressions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); })
20
+ var reduce = function (props) { return function (expressions) {
21
+ return props.assert
22
+ ? expressions.reduce(props.reduce)
33
23
  : (0, check_everything_1.check_everything)(typescript_1.default.factory.createArrayLiteralExpression(expressions));
34
24
  }; };
35
25
  //# sourceMappingURL=check_object.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAG5B,uEAAsE;AACtE,uDAAsD;AAK/C,IAAM,YAAY,GACrB,UAAC,MAAe;IAChB,OAAA,UAAC,MAAe;QAChB,OAAA,UAAC,MAAgB;YACjB,OAAA,UAAC,OAAiB;gBAClB,OAAA,UAAC,OAA2B;oBAExB,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAzB,CAAyB,CAAC,CAAC;oBACrE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAA1B,CAA0B,CAAC,CAAC;oBACtE,IAAM,KAAK,GAAoB,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,EAAhB,CAAgB,CAAC,CAAC;oBAGxE,IAAI,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;wBACxC,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;4BACvB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;4BACzB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;oBAGhC,KAAK,CAAC,IAAI,CACN,IAAA,mDAAwB,EAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CACrD,OAAO,EACP,OAAO,CACV,CACJ,CAAC;oBACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC;YApBD,CAoBC;QArBD,CAqBC;IAtBD,CAsBC;AAvBD,CAuBC,CAAC;AAzBO,QAAA,YAAY,gBAyBnB;AAGN,IAAM,MAAM,GAAG,UAAC,MAAe,IAAK,OAAA,UAAC,WAA4B;IAC7D,OAAA,MAAM;QACF,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAjC,CAAiC,CAAC;QACjE,CAAC,CAAC,IAAA,mCAAgB,EACZ,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,CACvD;AAJP,CAIO,EALyB,CAKzB,CAAC"}
1
+ {"version":3,"file":"check_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAG5B,uEAAsE;AACtE,uDAAsD;AAK/C,IAAM,YAAY,GACrB,UAAC,KAA0B,IAAK,OAAA,UAAC,OAA2B;IAExD,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAAzB,CAAyB,CAAC,CAAC;IACrE,IAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,EAA1B,CAA0B,CAAC,CAAC;IACtE,IAAM,KAAK,GAAoB,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAK,CAAC,UAAU,EAAhB,CAAgB,CAAC,CAAC;IAGxE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAC9C,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;IAGxE,KAAK,CAAC,IAAI,CAAC,IAAA,mDAAwB,EAAC,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC,EAb+B,CAa/B,CAAC;AAdO,QAAA,YAAY,gBAcnB;AAaN,IAAM,MAAM,GAAG,UAAC,KAA0B,IAAK,OAAA,UAAC,WAA4B;IACxE,OAAA,KAAK,CAAC,MAAM;QACR,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,IAAA,mCAAgB,EACZ,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,CACvD;AAJP,CAIO,EALoC,CAKpC,CAAC"}
@@ -32,13 +32,15 @@ exports.decode_union_object = void 0;
32
32
  var typescript_1 = __importDefault(require("typescript"));
33
33
  var decode_union_object = function (checker) {
34
34
  return function (decoder) {
35
- return function (escaper) {
36
- return function (input, targets, explore) {
37
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, iterate(escaper)(input, targets.map(function (obj) { return ({
38
- type: "object",
39
- is: function () { return checker(input, obj, explore); },
40
- value: function () { return decoder(input, obj, explore); },
41
- }); }), "(".concat(targets.map(function (t) { return t.name; }).join(" | "), ")"))), undefined, undefined);
35
+ return function (success) {
36
+ return function (escaper) {
37
+ return function (input, targets, explore) {
38
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, iterate(escaper)(input, targets.map(function (obj) { return ({
39
+ type: "object",
40
+ is: function () { return success(checker(input, obj, explore)); },
41
+ value: function () { return decoder(input, obj, explore); },
42
+ }); }), "(".concat(targets.map(function (t) { return t.name; }).join(" | "), ")"))), undefined, undefined);
43
+ };
42
44
  };
43
45
  };
44
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"decode_union_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/decode_union_object.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AASrB,IAAM,mBAAmB,GAC5B,UACI,OAIkB;IAEtB,OAAA,UACI,OAIkB;QAEtB,OAAA,UAAC,OAAiE;YAClE,OAAA,UACI,KAAoB,EACpB,OAAyB,EACzB,OAAmC;gBAEnC,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,CACZ,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;oBAClB,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,cAAM,OAAA,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAA5B,CAA4B;oBACtC,KAAK,EAAE,cAAM,OAAA,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAA5B,CAA4B;iBAC5C,CAAC,EAJmB,CAInB,CAAC,EACH,WAAI,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAG,CAChD,CACJ,EACD,SAAS,EACT,SAAS,CACZ;YAnBD,CAmBC;QAxBL,CAwBK;IAzBL,CAyBK;AAhCL,CAgCK,CAAC;AAxCG,QAAA,mBAAmB,uBAwCtB;AAEV,IAAM,OAAO,GACT,UAAC,OAAiE;IAClE,OAAA,UAAC,KAAoB,EAAE,MAAgB,EAAE,QAAgB;QACrD,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,wCAEX,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC;YACZ,OAAA,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,CAAC,CAAC,EAAE,EAAE,EACN,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAC9C;QAHD,CAGC,CACJ;YACD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;mBAE5B,IAAI,CACP;IAXD,CAWC;AAZL,CAYK,CAAC"}
1
+ {"version":3,"file":"decode_union_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/decode_union_object.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AASrB,IAAM,mBAAmB,GAC5B,UACI,OAIkB;IAEtB,OAAA,UACI,OAIkB;QAEtB,OAAA,UAAC,OAA8C;YAC/C,OAAA,UAAC,OAAiE;gBAClE,OAAA,UACI,KAAoB,EACpB,OAAyB,EACzB,OAAmC;oBAEnC,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,OAAO,CAAC,OAAO,CAAC,CACZ,KAAK,EACL,OAAO,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;wBAClB,IAAI,EAAE,QAAQ;wBACd,EAAE,EAAE,cAAM,OAAA,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,EAArC,CAAqC;wBAC/C,KAAK,EAAE,cAAM,OAAA,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAA5B,CAA4B;qBAC5C,CAAC,EAJmB,CAInB,CAAC,EACH,WAAI,OAAO,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAG,CAChD,CACJ,EACD,SAAS,EACT,SAAS,CACZ;gBAnBD,CAmBC;YAxBL,CAwBK;QAzBL,CAyBK;IA1BL,CA0BK;AAjCL,CAiCK,CAAC;AAzCG,QAAA,mBAAmB,uBAyCtB;AAEV,IAAM,OAAO,GACT,UAAC,OAAiE;IAClE,OAAA,UAAC,KAAoB,EAAE,MAAgB,EAAE,QAAgB;QACrD,OAAA,oBAAE,CAAC,OAAO,CAAC,WAAW,wCAEX,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC;YACZ,OAAA,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CACxB,CAAC,CAAC,EAAE,EAAE,EACN,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAC9C;QAHD,CAGC,CACJ;YACD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;mBAE5B,IAAI,CACP;IAXD,CAWC;AAZL,CAYK,CAAC"}
@@ -0,0 +1,9 @@
1
+ import ts from "typescript";
2
+ import { MetadataObject } from "../../metadata/MetadataObject";
3
+ import { FeatureProgrammer } from "../FeatureProgrammer";
4
+ export declare const feature_object_entries: (config: Pick<FeatureProgrammer.IConfig, "decoder" | "path" | "trace">) => (obj: MetadataObject) => (input: ts.Expression) => {
5
+ input: ts.Identifier | ts.ElementAccessExpression | ts.PropertyAccessExpression;
6
+ key: import("../../metadata/Metadata").Metadata;
7
+ meta: import("../../metadata/Metadata").Metadata;
8
+ expression: ts.Expression;
9
+ }[];
@@ -0,0 +1,38 @@
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.feature_object_entries = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
9
+ var Escaper_1 = require("../../utils/Escaper");
10
+ var feature_object_entries = function (config) {
11
+ return function (obj) {
12
+ return function (input) {
13
+ return obj.properties.map(function (prop) {
14
+ var sole = prop.key.getSoleLiteral();
15
+ var propInput = sole === null
16
+ ? typescript_1.default.factory.createIdentifier("value")
17
+ : Escaper_1.Escaper.variable(sole)
18
+ ? typescript_1.default.factory.createPropertyAccessExpression(input, typescript_1.default.factory.createIdentifier(sole))
19
+ : typescript_1.default.factory.createElementAccessExpression(input, typescript_1.default.factory.createStringLiteral(sole));
20
+ return {
21
+ input: propInput,
22
+ key: prop.key,
23
+ meta: prop.value,
24
+ expression: config.decoder(propInput, prop.value, {
25
+ tracable: config.path || config.trace,
26
+ source: "object",
27
+ from: "object",
28
+ postfix: sole !== null
29
+ ? IdentifierFactory_1.IdentifierFactory.postfix(sole)
30
+ : "$join(key)",
31
+ }, prop.tags),
32
+ };
33
+ });
34
+ };
35
+ };
36
+ };
37
+ exports.feature_object_entries = feature_object_entries;
38
+ //# sourceMappingURL=feature_object_entries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature_object_entries.js","sourceRoot":"","sources":["../../../src/programmers/internal/feature_object_entries.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,+CAA8C;AAIvC,IAAM,sBAAsB,GAC/B,UAAC,MAAqE;IACtE,OAAA,UAAC,GAAmB;QACpB,OAAA,UAAC,KAAoB;YACjB,OAAA,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;gBACpB,IAAM,IAAI,GAAkB,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBACtD,IAAM,SAAS,GACX,IAAI,KAAK,IAAI;oBACT,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACtC,CAAC,CAAC,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACxB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CACrC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACpC;wBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CACvC,CAAC;gBAEZ,OAAO;oBACH,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,IAAI,EAAE,IAAI,CAAC,KAAK;oBAChB,UAAU,EAAE,MAAM,CAAC,OAAO,CACtB,SAAS,EACT,IAAI,CAAC,KAAK,EACV;wBACI,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK;wBACrC,MAAM,EAAE,QAAQ;wBAChB,IAAI,EAAE,QAAQ;wBACd,OAAO,EACH,IAAI,KAAK,IAAI;4BACT,CAAC,CAAC,qCAAiB,CAAC,OAAO,CAAC,IAAI,CAAC;4BACjC,CAAC,CAAC,YAAY;qBACzB,EACD,IAAI,CAAC,IAAI,CACZ;iBACJ,CAAC;YACN,CAAC,CAAC;QAlCF,CAkCE;IAnCN,CAmCM;AApCN,CAoCM,CAAC;AAtCE,QAAA,sBAAsB,0BAsCxB"}
@@ -39,9 +39,11 @@ function stringify_dynamic_properties(dynamic, regular) {
39
39
  return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(filtered, "join"), undefined, [typescript_1.default.factory.createStringLiteral(",")]);
40
40
  };
41
41
  if (regular.length)
42
- statements.push(typescript_1.default.factory.createIfStatement(IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createArrayLiteralExpression(regular.map(function (key) {
42
+ statements.push(typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createArrayLiteralExpression(regular.map(function (key) {
43
43
  return typescript_1.default.factory.createStringLiteral(key);
44
- })), "some"), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createStringLiteral(""))));
44
+ })), "some"), undefined, [
45
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("regular")], undefined, undefined, typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("regular"), typescript_1.default.factory.createIdentifier("key"))),
46
+ ]), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createStringLiteral(""))));
45
47
  var simple = dynamic.length === 1 &&
46
48
  dynamic[0].key.size() === 1 &&
47
49
  dynamic[0].key.atomics[0] === "string";
@@ -1 +1 @@
1
- {"version":3,"file":"stringify_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_dynamic_properties.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stringify_dynamic_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_dynamic_properties.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
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.stringify_native = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ function stringify_native() {
9
+ return typescript_1.default.factory.createStringLiteral("{}");
10
+ }
11
+ exports.stringify_native = stringify_native;
12
+ //# sourceMappingURL=stringify_native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_native.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAK5B,SAAgB,gBAAgB;IAC5B,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;AAChD,CAAC;AAFD,4CAEC"}
@@ -13,7 +13,7 @@ export declare namespace IJsonComponents {
13
13
  additionalProperties?: IJsonSchema;
14
14
  required?: string[];
15
15
  description?: string;
16
- "x-tson_jsDocTags"?: IJsDocTagInfo[];
16
+ "x-typia_jsDocTags"?: IJsDocTagInfo[];
17
17
  $recursiveAnchor?: boolean;
18
18
  }
19
19
  }
@@ -1,15 +1,13 @@
1
1
  import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
2
2
  import { IMetadataTag } from "../metadata/IMetadataTag";
3
3
  import { Atomic } from "../typings/Atomic";
4
- export declare type IJsonSchema = IJsonSchema.NotUnknown | IJsonSchema.IUnkown;
4
+ export type IJsonSchema = IJsonSchema.NotUnknown | IJsonSchema.IUnknown;
5
5
  export declare namespace IJsonSchema {
6
6
  type NotUnknown = IEnumeration<"boolean"> | IEnumeration<"number"> | IEnumeration<"bigint"> | IEnumeration<"string"> | IBoolean | INumber | IBigInt | IString | IArray | ITuple | IOneOf | IReference | IRecursiveReference | INullOnly;
7
7
  interface IEnumeration<Literal extends Atomic.Literal> extends IAtomic<Literal> {
8
8
  enum: Array<Atomic.Mapper[Literal]>;
9
9
  }
10
- interface IAtomic<Literal extends Atomic.Literal> extends IAttribute {
11
- type: Literal;
12
- nullable: boolean;
10
+ interface IAtomic<Literal extends Atomic.Literal> extends ISignificant<Literal> {
13
11
  default?: Atomic.Mapper[Literal];
14
12
  }
15
13
  interface IString extends IAtomic<"string"> {
@@ -23,6 +21,7 @@ export declare namespace IJsonSchema {
23
21
  maximum?: number;
24
22
  exclusiveMinimum?: number;
25
23
  exclusiveMaximum?: number;
24
+ multipleOf?: number;
26
25
  }
27
26
  interface IBoolean extends IAtomic<"boolean"> {
28
27
  }
@@ -48,15 +47,18 @@ export declare namespace IJsonSchema {
48
47
  interface IOneOf extends IAttribute {
49
48
  oneOf: IJsonSchema[];
50
49
  }
51
- interface IUnkown {
50
+ interface IUnknown {
52
51
  }
53
- interface ISignificant<Literal extends string> {
52
+ interface ISignificant<Literal extends string> extends IAttribute {
54
53
  type: Literal;
55
54
  nullable: boolean;
56
55
  }
57
56
  interface IAttribute {
57
+ deprecated?: boolean;
58
+ title?: string;
58
59
  description?: string;
59
- "x-tson-metaTags"?: IMetadataTag[];
60
- "x-tson-jsDocTags"?: IJsDocTagInfo[];
60
+ "x-typia-metaTags"?: IMetadataTag[];
61
+ "x-typia-jsDocTags"?: IJsDocTagInfo[];
62
+ "x-typia-required"?: boolean;
61
63
  }
62
64
  }
@@ -5,12 +5,28 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CallExpressionTransformer = void 0;
7
7
  var path_1 = __importDefault(require("path"));
8
- var ApplicationTransformer_1 = require("./features/ApplicationTransformer");
9
- var AssertTransformer_1 = require("./features/AssertTransformer");
10
- var CreateTransformer_1 = require("./features/CreateTransformer");
11
- var IsTransformer_1 = require("./features/IsTransformer");
12
- var StringifyTransformer_1 = require("./features/StringifyTransformer");
13
- var ValidateTransformer_1 = require("./features/ValidateTransformer");
8
+ var ApplicationTransformer_1 = require("./features/miscellaneous/ApplicationTransformer");
9
+ var MetadataTransformer_1 = require("./features/miscellaneous/MetadataTransformer");
10
+ var AssertParseTransformer_1 = require("./features/parsers/AssertParseTransformer");
11
+ var CreateAssertParseTransformer_1 = require("./features/parsers/CreateAssertParseTransformer");
12
+ var CreateIsParseTransformer_1 = require("./features/parsers/CreateIsParseTransformer");
13
+ var CreateValidateParseTransformer_1 = require("./features/parsers/CreateValidateParseTransformer");
14
+ var IsParseTransformer_1 = require("./features/parsers/IsParseTransformer");
15
+ var ValidateParseTransformer_1 = require("./features/parsers/ValidateParseTransformer");
16
+ var AssertStringifyTransformer_1 = require("./features/stringifiers/AssertStringifyTransformer");
17
+ var CreateAssertStringifyTransformer_1 = require("./features/stringifiers/CreateAssertStringifyTransformer");
18
+ var CreateIsStringifyTransformer_1 = require("./features/stringifiers/CreateIsStringifyTransformer");
19
+ var CreateStringifyTransformer_1 = require("./features/stringifiers/CreateStringifyTransformer");
20
+ var CreateValidateStringifyProgrammer_1 = require("./features/stringifiers/CreateValidateStringifyProgrammer");
21
+ var IsStringifyTransformer_1 = require("./features/stringifiers/IsStringifyTransformer");
22
+ var StringifyTransformer_1 = require("./features/stringifiers/StringifyTransformer");
23
+ var ValidateStringifyTransformer_1 = require("./features/stringifiers/ValidateStringifyTransformer");
24
+ var AssertTransformer_1 = require("./features/validators/AssertTransformer");
25
+ var CreateAssertTransformer_1 = require("./features/validators/CreateAssertTransformer");
26
+ var CreateIsTransformer_1 = require("./features/validators/CreateIsTransformer");
27
+ var CreateValidateTransformer_1 = require("./features/validators/CreateValidateTransformer");
28
+ var IsTransformer_1 = require("./features/validators/IsTransformer");
29
+ var ValidateTransformer_1 = require("./features/validators/ValidateTransformer");
14
30
  var CallExpressionTransformer;
15
31
  (function (CallExpressionTransformer) {
16
32
  function transform(project, expression) {
@@ -19,7 +35,7 @@ var CallExpressionTransformer;
19
35
  if (!declaration)
20
36
  return expression;
21
37
  var file = path_1.default.resolve(declaration.getSourceFile().fileName);
22
- if (file !== LIB_PATH && file !== SRC_PATH)
38
+ if (file.indexOf(LIB_PATH) === -1 && file !== SRC_PATH)
23
39
  return expression;
24
40
  var name = project.checker.getTypeAtLocation(declaration).symbol.name;
25
41
  var functor = FUNCTORS[name];
@@ -29,17 +45,38 @@ var CallExpressionTransformer;
29
45
  }
30
46
  CallExpressionTransformer.transform = transform;
31
47
  })(CallExpressionTransformer = exports.CallExpressionTransformer || (exports.CallExpressionTransformer = {}));
32
- var LIB_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "module.d.ts"));
48
+ var LIB_PATH = path_1.default.join("node_modules", "typia", "lib", "module.d.ts");
33
49
  var SRC_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "module.ts"));
34
50
  var FUNCTORS = {
51
+ assert: function () { return AssertTransformer_1.AssertTransformer.transform(false); },
35
52
  assertType: function () { return AssertTransformer_1.AssertTransformer.transform(false); },
36
53
  is: function () { return IsTransformer_1.IsTransformer.transform(false); },
37
54
  validate: function () { return ValidateTransformer_1.ValidateTransformer.transform(false); },
38
55
  assertEquals: function () { return AssertTransformer_1.AssertTransformer.transform(true); },
39
56
  equals: function () { return IsTransformer_1.IsTransformer.transform(true); },
40
57
  validateEquals: function () { return ValidateTransformer_1.ValidateTransformer.transform(true); },
41
- application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
42
- create: function () { return CreateTransformer_1.CreateTransformer.transform; },
58
+ isParse: function () { return IsParseTransformer_1.IsParseTransformer.transform; },
59
+ assertParse: function () { return AssertParseTransformer_1.AssertParseTransformer.transform; },
60
+ validateParse: function () { return ValidateParseTransformer_1.ValidateParseTransformer.transform; },
43
61
  stringify: function () { return StringifyTransformer_1.StringifyTransformer.transform; },
62
+ assertStringify: function () { return AssertStringifyTransformer_1.AssertStringifyTransformer.transform; },
63
+ isStringify: function () { return IsStringifyTransformer_1.IsStringifyTransformer.transform; },
64
+ validateStringify: function () { return ValidateStringifyTransformer_1.ValidateStringifyTransformer.transform; },
65
+ application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
66
+ metadata: function () { return MetadataTransformer_1.MetadataTransformer.transform; },
67
+ createAssert: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
68
+ createAssertType: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(false); },
69
+ createIs: function () { return CreateIsTransformer_1.CreateIsTransformer.transform(false); },
70
+ createValidate: function () { return CreateValidateTransformer_1.CreateValidateTransformer.transform(false); },
71
+ createAssertEquals: function () { return CreateAssertTransformer_1.CreateAssertTransformer.transform(true); },
72
+ createEquals: function () { return CreateIsTransformer_1.CreateIsTransformer.transform(true); },
73
+ createValidateEquals: function () { return CreateValidateTransformer_1.CreateValidateTransformer.transform(true); },
74
+ createIsParse: function () { return CreateIsParseTransformer_1.CreateIsParseTransformer.transform; },
75
+ createAssertParse: function () { return CreateAssertParseTransformer_1.CreateAssertParseTransformer.transform; },
76
+ createValidateParse: function () { return CreateValidateParseTransformer_1.CreateValidateParseTransformer.transform; },
77
+ createStringify: function () { return CreateStringifyTransformer_1.CreateStringifyTransformer.transform; },
78
+ createAssertStringify: function () { return CreateAssertStringifyTransformer_1.CreateAssertStringifyTransformer.transform; },
79
+ createIsStringify: function () { return CreateIsStringifyTransformer_1.CreateIsStringifyTransformer.transform; },
80
+ createValidateStringify: function () { return CreateValidateStringifyProgrammer_1.CreateValidateStringifyTransformer.transform; },
44
81
  };
45
82
  //# sourceMappingURL=CallExpressionTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AAIxB,4EAA2E;AAC3E,kEAAiE;AACjE,kEAAiE;AACjE,0DAAyD;AACzD,wEAAuE;AACvE,sEAAqE;AAErE,IAAiB,yBAAyB,CA8BzC;AA9BD,WAAiB,yBAAyB;IACtC,SAAgB,SAAS,CACrB,OAAiB,EACjB,UAA6B;;QAM7B,IAAM,WAAW,GACb,MAAA,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC;QAClE,IAAI,CAAC,WAAW;YAAE,OAAO,UAAU,CAAC;QAGpC,IAAM,IAAI,GAAW,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAMtD,IAAA,IAAI,GAAK,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,KAA1D,CAA2D;QAGvE,IAAM,OAAO,GAA6B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;QAG7C,OAAO,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IA5Be,mCAAS,YA4BxB,CAAA;AACL,CAAC,EA9BgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QA8BzC;AAQD,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AACzE,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AACvE,IAAM,QAAQ,GAA+B;IACzC,UAAU,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAlC,CAAkC;IACpD,EAAE,EAAE,cAAM,OAAA,6BAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAA9B,CAA8B;IACxC,QAAQ,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAApC,CAAoC;IAEpD,YAAY,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAjC,CAAiC;IACrD,MAAM,EAAE,cAAM,OAAA,6BAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAA7B,CAA6B;IAC3C,cAAc,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAnC,CAAmC;IAEzD,WAAW,EAAE,cAAM,OAAA,+CAAsB,CAAC,SAAS,EAAhC,CAAgC;IACnD,MAAM,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,EAA3B,CAA2B;IACzC,SAAS,EAAE,cAAM,OAAA,2CAAoB,CAAC,SAAS,EAA9B,CAA8B;CAClD,CAAC"}
1
+ {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ var FileTransformer;
26
26
  throw exp;
27
27
  var file = node.getSourceFile();
28
28
  var _a = file.getLineAndCharacterOfPosition(node.pos), line = _a.line, character = _a.character;
29
- exp.message += " - ".concat(file.fileName, ".").concat(line + 1, ":").concat(character + 1);
29
+ exp.message += " - ".concat(file.fileName, ":").concat(line + 1, ":").concat(character + 1);
30
30
  throw exp;
31
31
  }
32
32
  }
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
- import { IProject } from "../IProject";
2
+ import { IProject } from "../../IProject";
3
3
  export declare namespace ApplicationTransformer {
4
4
  function transform({ checker }: IProject, _modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.Expression;
5
5
  }
@@ -5,17 +5,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ApplicationTransformer = void 0;
7
7
  var typescript_1 = __importDefault(require("typescript"));
8
- var LiteralFactory_1 = require("../../factories/LiteralFactory");
9
- var MetadataCollection_1 = require("../../factories/MetadataCollection");
10
- var MetadataFactory_1 = require("../../factories/MetadataFactory");
11
- var ApplicationProgrammer_1 = require("../../programmers/ApplicationProgrammer");
8
+ var LiteralFactory_1 = require("../../../factories/LiteralFactory");
9
+ var MetadataCollection_1 = require("../../../factories/MetadataCollection");
10
+ var MetadataFactory_1 = require("../../../factories/MetadataFactory");
11
+ var ApplicationProgrammer_1 = require("../../../programmers/ApplicationProgrammer");
12
12
  var ApplicationTransformer;
13
13
  (function (ApplicationTransformer) {
14
14
  function transform(_a, _modulo, expression) {
15
15
  var _b;
16
16
  var checker = _a.checker;
17
17
  if (!((_b = expression.typeArguments) === null || _b === void 0 ? void 0 : _b.length))
18
- throw new Error("Error on TSON.application(): no generic argument.");
18
+ throw new Error("Error on typia.application(): no generic argument.");
19
19
  var top = expression.typeArguments[0];
20
20
  if (!typescript_1.default.isTupleTypeNode(top))
21
21
  return expression;
@@ -25,7 +25,7 @@ var ApplicationTransformer;
25
25
  return checker.getTypeFromTypeNode(child);
26
26
  });
27
27
  if (types.some(function (t) { return t.isTypeParameter(); }))
28
- throw new Error("Error on TSON.application(): non-specified generic argument(s).");
28
+ throw new Error("Error on typia.application(): non-specified generic argument(s).");
29
29
  var purpose = get_parameter(checker, "Purpose", expression.typeArguments[1], function (str) { return str === "swagger" || str === "ajv"; }, function () { return "swagger"; });
30
30
  var prefix = get_parameter(checker, "Prefix", expression.typeArguments[2], function () { return true; }, function () {
31
31
  return purpose === "swagger"
@@ -53,10 +53,10 @@ var ApplicationTransformer;
53
53
  return defaulter();
54
54
  var type = checker.getTypeFromTypeNode(node);
55
55
  if (!type.isLiteral())
56
- throw new Error("Error on TSON.application(): generic argument \"".concat(name, "\" must be constant."));
56
+ throw new Error("Error on typia.application(): generic argument \"".concat(name, "\" must be constant."));
57
57
  var value = type.value;
58
58
  if (typeof value !== "string" || predicator(value) === false)
59
- throw new Error("Error on TSON.application(): invalid value on generic argument \"".concat(name, "\"."));
59
+ throw new Error("Error on typia.application(): invalid value on generic argument \"".concat(name, "\"."));
60
60
  return value;
61
61
  }
62
62
  })(ApplicationTransformer = exports.ApplicationTransformer || (exports.ApplicationTransformer = {}));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/ApplicationTransformer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
- import { IProject } from "../IProject";
3
- export declare namespace CreateTransformer {
2
+ import { IProject } from "../../IProject";
3
+ export declare namespace CreateInstanceTransformer {
4
4
  function transform(_project: IProject, _modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.CallExpression;
5
5
  }
@@ -3,18 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.CreateTransformer = void 0;
6
+ exports.CreateInstanceTransformer = void 0;
7
7
  var typescript_1 = __importDefault(require("typescript"));
8
- var CreateTransformer;
9
- (function (CreateTransformer) {
8
+ var CreateInstanceTransformer;
9
+ (function (CreateInstanceTransformer) {
10
10
  function transform(_project, _modulo, expression) {
11
11
  var param = expression.arguments[0];
12
12
  if (param === undefined)
13
- throw new Error("Error on TSON.application(): no input value.");
13
+ throw new Error("Error on typia.createObject(): no input value.");
14
14
  var json = to_json_string(param);
15
15
  return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.parse"), undefined, [typescript_1.default.factory.createStringLiteral(json)]);
16
16
  }
17
- CreateTransformer.transform = transform;
17
+ CreateInstanceTransformer.transform = transform;
18
18
  function to_json_string(param) {
19
19
  try {
20
20
  var text = param.getFullText();
@@ -22,8 +22,8 @@ var CreateTransformer;
22
22
  return JSON.stringify(obj);
23
23
  }
24
24
  catch (exp) {
25
- throw new Error("Error on TSON.application(): input value must be constant.");
25
+ throw new Error("Error on typia.createObject(): input value must be constant.");
26
26
  }
27
27
  }
28
- })(CreateTransformer = exports.CreateTransformer || (exports.CreateTransformer = {}));
29
- //# sourceMappingURL=CreateTransformer.js.map
28
+ })(CreateInstanceTransformer = exports.CreateInstanceTransformer || (exports.CreateInstanceTransformer = {}));
29
+ //# sourceMappingURL=CreateInstanceTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateInstanceTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/CreateInstanceTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAI5B,IAAiB,yBAAyB,CA+BzC;AA/BD,WAAiB,yBAAyB;IACtC,SAAgB,SAAS,CACrB,QAAkB,EAClB,OAAkC,EAClC,UAA6B;QAG7B,IAAM,KAAK,GAA8B,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,kDAA8B,CAAC;QAGvE,IAAM,IAAI,GAAW,cAAc,CAAC,KAAK,CAAC,CAAC;QAG3C,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;IACN,CAAC;IAlBe,mCAAS,YAkBxB,CAAA;IAED,SAAS,cAAc,CAAC,KAAoB;QACxC,IAAI;YACA,IAAM,IAAI,GAAW,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,IAAM,GAAG,GAAQ,IAAI,QAAQ,CAAC,iBAAU,IAAI,MAAG,CAAC,EAAE,CAAC;YAEnD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,KAAK,gEAAiC,CAAC;SACpD;IACL,CAAC;AACL,CAAC,EA/BgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QA+BzC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../IProject";
3
+ export declare namespace MetadataTransformer {
4
+ function transform({ checker }: IProject, _modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.Expression;
5
+ }
@@ -0,0 +1,43 @@
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.MetadataTransformer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var LiteralFactory_1 = require("../../../factories/LiteralFactory");
9
+ var MetadataCollection_1 = require("../../../factories/MetadataCollection");
10
+ var MetadataFactory_1 = require("../../../factories/MetadataFactory");
11
+ var MetadataTransformer;
12
+ (function (MetadataTransformer) {
13
+ function transform(_a, _modulo, expression) {
14
+ var _b;
15
+ var checker = _a.checker;
16
+ if (!((_b = expression.typeArguments) === null || _b === void 0 ? void 0 : _b.length))
17
+ throw new Error("Error on typia.metadata(): no generic argument.");
18
+ var top = expression.typeArguments[0];
19
+ if (!typescript_1.default.isTupleTypeNode(top))
20
+ return expression;
21
+ else if (top.elements.some(function (child) { return !typescript_1.default.isTypeNode(child); }))
22
+ return expression;
23
+ var types = top.elements.map(function (child) {
24
+ return checker.getTypeFromTypeNode(child);
25
+ });
26
+ if (types.some(function (t) { return t.isTypeParameter(); }))
27
+ throw new Error("Error on typia.metadata(): non-specified generic argument(s).");
28
+ var collection = new MetadataCollection_1.MetadataCollection();
29
+ var metadatas = types.map(function (type) {
30
+ return MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
31
+ resolve: false,
32
+ constant: true,
33
+ });
34
+ });
35
+ var app = {
36
+ metadatas: metadatas.map(function (metadata) { return metadata.toJSON(); }),
37
+ collection: collection.objects().map(function (obj) { return obj.toJSON(); }),
38
+ };
39
+ return LiteralFactory_1.LiteralFactory.generate(app);
40
+ }
41
+ MetadataTransformer.transform = transform;
42
+ })(MetadataTransformer = exports.MetadataTransformer || (exports.MetadataTransformer = {}));
43
+ //# sourceMappingURL=MetadataTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/MetadataTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AAOrE,IAAiB,mBAAmB,CAsCnC;AAtCD,WAAiB,mBAAmB;IAChC,SAAgB,SAAS,CACrB,EAAqB,EACrB,OAAkC,EAClC,UAA6B;;YAF3B,OAAO,aAAA;QAIT,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACjC,MAAM,IAAI,KAAK,mDAAmC,CAAC;QAGvD,IAAM,GAAG,GAAY,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QAClD,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;aAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,oBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC;YACxD,OAAO,UAAU,CAAC;QAGtB,IAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK;YAC5C,OAAA,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC;QAAjD,CAAiD,CACpD,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,EAAE,EAAnB,CAAmB,CAAC;YACtC,MAAM,IAAI,KAAK,iEAAgC,CAAC;QAGpD,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;QAChE,IAAM,SAAS,GAAoB,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;YAC9C,OAAA,iCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBAChD,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,IAAI;aACjB,CAAC;QAHF,CAGE,CACL,CAAC;QAGF,IAAM,GAAG,GAAyB;YAC9B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,MAAM,EAAE,EAAjB,CAAiB,CAAC;YACzD,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,MAAM,EAAE,EAAZ,CAAY,CAAC;SAC9D,CAAC;QACF,OAAO,+BAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IApCe,6BAAS,YAoCxB,CAAA;AACL,CAAC,EAtCgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAsCnC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../IProject";
3
+ export declare namespace AssertParseTransformer {
4
+ function transform(project: IProject, modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.Expression;
5
+ }
@@ -0,0 +1,21 @@
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.AssertParseTransformer = void 0;
7
+ var typescript_1 = __importDefault(require("typescript"));
8
+ var AssertParseProgrammer_1 = require("../../../programmers/AssertParseProgrammer");
9
+ var AssertParseTransformer;
10
+ (function (AssertParseTransformer) {
11
+ function transform(project, modulo, expression) {
12
+ if (!expression.typeArguments || !expression.typeArguments[0])
13
+ throw new Error("Error on typia.assertParse(): generic argument is not specified");
14
+ var type = project.checker.getTypeFromTypeNode(expression.typeArguments[0]);
15
+ if (type.isTypeParameter())
16
+ throw new Error("Error on typia.assertParse(): non-specified generic argument.");
17
+ return typescript_1.default.factory.createCallExpression(AssertParseProgrammer_1.AssertParseProgrammer.generate(project, modulo)(type), undefined, [expression.arguments[0]]);
18
+ }
19
+ AssertParseTransformer.transform = transform;
20
+ })(AssertParseTransformer = exports.AssertParseTransformer || (exports.AssertParseTransformer = {}));
21
+ //# sourceMappingURL=AssertParseTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssertParseTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/parsers/AssertParseTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oFAAmF;AAInF,IAAiB,sBAAsB,CAwBtC;AAxBD,WAAiB,sBAAsB;IACnC,SAAgB,SAAS,CACrB,OAAiB,EACjB,MAAiC,EACjC,UAA6B;QAG7B,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;YACzD,MAAM,IAAI,KAAK,mEAA6B,CAAC;QAGjD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CACrD,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B,CAAC;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,MAAM,IAAI,KAAK,iEAAgC,CAAC;QAGpD,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,6CAAqB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EACrD,SAAS,EACT,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAC7B,CAAC;IACN,CAAC;IAtBe,gCAAS,YAsBxB,CAAA;AACL,CAAC,EAxBgB,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAwBtC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { IProject } from "../../IProject";
3
+ export declare namespace CreateAssertParseTransformer {
4
+ function transform(project: IProject, modulo: ts.LeftHandSideExpression, expression: ts.CallExpression): ts.Expression;
5
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateAssertParseTransformer = void 0;
4
+ var AssertParseProgrammer_1 = require("../../../programmers/AssertParseProgrammer");
5
+ var CreateAssertParseTransformer;
6
+ (function (CreateAssertParseTransformer) {
7
+ function transform(project, modulo, expression) {
8
+ if (!expression.typeArguments || !expression.typeArguments[0])
9
+ throw new Error("Error on typia.assertParse(): generic argument is not specified.");
10
+ var type = project.checker.getTypeFromTypeNode(expression.typeArguments[0]);
11
+ if (type.isTypeParameter())
12
+ throw new Error("Error on typia.assertParse(): non-specified generic argument.");
13
+ return AssertParseProgrammer_1.AssertParseProgrammer.generate(project, modulo)(type);
14
+ }
15
+ CreateAssertParseTransformer.transform = transform;
16
+ })(CreateAssertParseTransformer = exports.CreateAssertParseTransformer || (exports.CreateAssertParseTransformer = {}));
17
+ //# sourceMappingURL=CreateAssertParseTransformer.js.map