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
@@ -47,14 +47,21 @@ var StatementFactory_1 = require("../../factories/StatementFactory");
47
47
  var UnionPredicator_1 = require("./UnionPredicator");
48
48
  var UnionExplorer;
49
49
  (function (UnionExplorer) {
50
- function object(config, checker, decoder, combiner, failure, level) {
50
+ function object(config, level) {
51
51
  if (level === void 0) { level = 0; }
52
52
  return function (input, targets, explore, tags) {
53
53
  if (targets.length === 1)
54
- return decoder(input, targets[0], explore, tags);
54
+ return config.objector.decoder(input, targets[0], explore, tags);
55
+ var expected = "(".concat(targets
56
+ .map(function (t) { return t.name; })
57
+ .join(" | "), ")");
55
58
  var specList = UnionPredicator_1.UnionPredicator.object(targets);
56
- if (specList.length === 0)
57
- return combiner(input, targets, __assign(__assign({}, explore), { tracable: false }), tags);
59
+ if (specList.length === 0) {
60
+ var condition = config.objector.unionizer(input, targets, __assign(__assign({}, explore), { tracable: false }), tags);
61
+ return config.objector.full
62
+ ? config.objector.full(condition)(input, expected, explore)
63
+ : condition;
64
+ }
58
65
  var remained = targets.filter(function (t) { return specList.find(function (s) { return s.object === t; }) === undefined; });
59
66
  var conditions = specList
60
67
  .filter(function (spec) { return spec.property.key.getSoleLiteral() !== null; })
@@ -62,56 +69,87 @@ var UnionExplorer;
62
69
  var key = spec.property.key.getSoleLiteral();
63
70
  var accessor = IdentifierFactory_1.IdentifierFactory.join(input, key);
64
71
  var pred = spec.neighbour
65
- ? checker(accessor, spec.property.value, __assign(__assign({}, explore), { tracable: false, postfix: IdentifierFactory_1.IdentifierFactory.postfix(key) }), tags)
66
- : ExpressionFactory_1.ExpressionFactory.isRequired(accessor);
67
- return typescript_1.default.factory.createIfStatement(pred, typescript_1.default.factory.createReturnStatement(decoder(input, spec.object, explore, tags)));
72
+ ? config.objector.checker(accessor, spec.property.value, __assign(__assign({}, explore), { tracable: false, postfix: IdentifierFactory_1.IdentifierFactory.postfix(key) }), tags)
73
+ : (config.objector.required || (function (exp) { return exp; }))(ExpressionFactory_1.ExpressionFactory.isRequired(accessor));
74
+ return typescript_1.default.factory.createIfStatement((config.objector.is || (function (exp) { return exp; }))(pred), typescript_1.default.factory.createReturnStatement(config.objector.decoder(input, spec.object, explore, tags)));
68
75
  });
69
76
  return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(conditions), false), [
70
77
  remained.length
71
- ? typescript_1.default.factory.createReturnStatement(object(config, checker, decoder, combiner, failure, level + 1)(input, remained, explore, tags))
72
- : failure(input, targets),
78
+ ? typescript_1.default.factory.createReturnStatement(object(config, level + 1)(input, remained, explore, tags))
79
+ : config.objector.failure(input, expected, explore),
73
80
  ], false), true)), undefined, undefined);
74
81
  };
75
82
  }
76
83
  UnionExplorer.object = object;
77
- function array(checker, decoder, empty, failure) {
78
- return function (input, targets, explore, tags) {
79
- if (targets.length === 1)
80
- return decoder(input, targets[0], explore, tags);
81
- var top = typescript_1.default.factory.createElementAccessExpression(input, 0);
82
- var tupleListVariable = StatementFactory_1.StatementFactory.variable(typescript_1.default.NodeFlags.Const, "tupleList", typescript_1.default.factory.createArrayLiteralExpression(targets.map(function (meta) {
83
- return typescript_1.default.factory.createArrayLiteralExpression([
84
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [
85
- typescript_1.default.factory.createParameterDeclaration(undefined, undefined, undefined, "branch"),
86
- ], undefined, undefined, checker(typescript_1.default.factory.createIdentifier("branch"), meta, __assign(__assign({}, explore), { tracable: false, postfix: "\"[0]\"" }), tags)),
87
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [
88
- typescript_1.default.factory.createParameterDeclaration(undefined, undefined, undefined, "branch"),
89
- ], undefined, undefined, decoder(typescript_1.default.factory.createIdentifier("branch"), meta, __assign(__assign({}, explore), { tracable: true }), tags)),
90
- ]);
91
- })));
92
- var filteredVariable = StatementFactory_1.StatementFactory.variable(typescript_1.default.NodeFlags.Const, "filtered", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tupleList.filter"), undefined, [
93
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [
94
- typescript_1.default.factory.createParameterDeclaration(undefined, undefined, undefined, "tuple"),
95
- ], undefined, undefined, typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createTrue(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tuple[0]"), undefined, [top]))),
96
- ]));
97
- var uniqueStatement = typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("filtered.length")), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("filtered[0][1]"), undefined, [input])));
98
- var forOfStatement = typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([typescript_1.default.factory.createVariableDeclaration("tuple")], typescript_1.default.NodeFlags.Const), typescript_1.default.factory.createIdentifier("filtered"), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "every"), undefined, [
99
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [
100
- typescript_1.default.factory.createParameterDeclaration(undefined, undefined, undefined, "value"),
101
- ], undefined, undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tuple[0]"), undefined, [typescript_1.default.factory.createIdentifier("value")])),
102
- ]), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tuple[1]"), undefined, [input]))));
103
- var unionStatement = typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("filtered.length")), forOfStatement);
104
- var block = [
105
- typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), IdentifierFactory_1.IdentifierFactory.join(input, "length")), typescript_1.default.factory.createReturnStatement(empty())),
106
- tupleListVariable,
107
- filteredVariable,
108
- uniqueStatement,
109
- unionStatement,
110
- failure(input, targets),
111
- ];
112
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock(block, true)), undefined, undefined);
84
+ UnionExplorer.array = function (props) {
85
+ return iterate({
86
+ size: function (input) { return IdentifierFactory_1.IdentifierFactory.join(input, "length"); },
87
+ front: function (input) {
88
+ return typescript_1.default.factory.createElementAccessExpression(input, 0);
89
+ },
90
+ array: function (input) { return input; },
91
+ name: function (t) { return "Array<".concat(t.getName(), ">"); },
92
+ })(props);
93
+ };
94
+ UnionExplorer.set = function (props) {
95
+ return iterate({
96
+ size: function (input) { return IdentifierFactory_1.IdentifierFactory.join(input, "size"); },
97
+ front: function (input) {
98
+ return IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "values"), undefined, undefined), "next"), undefined, undefined), "value");
99
+ },
100
+ array: function (input) {
101
+ return typescript_1.default.factory.createArrayLiteralExpression([typescript_1.default.factory.createSpreadElement(input)], false);
102
+ },
103
+ name: function (t) { return "Set<".concat(t.getName(), ">"); },
104
+ })(props);
105
+ };
106
+ UnionExplorer.map = function (props) {
107
+ return iterate({
108
+ size: function (input) { return IdentifierFactory_1.IdentifierFactory.join(input, "size"); },
109
+ front: function (input) {
110
+ return IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(input, "entries"), undefined, undefined), "next"), undefined, undefined), "value");
111
+ },
112
+ array: function (input) {
113
+ return typescript_1.default.factory.createArrayLiteralExpression([typescript_1.default.factory.createSpreadElement(input)], false);
114
+ },
115
+ name: function (_a) {
116
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
117
+ return "Map<".concat(k.getName(), ", ").concat(v.getName(), ">");
118
+ },
119
+ })(props);
120
+ };
121
+ var iterate = function (accessor) {
122
+ return function (props) {
123
+ return function (input, targets, explore, tags) {
124
+ if (targets.length === 1)
125
+ return props.decoder(accessor.array(input), targets[0], explore, tags);
126
+ var tupleListVariable = StatementFactory_1.StatementFactory.constant("tupleList", typescript_1.default.factory.createArrayLiteralExpression(targets.map(function (meta) {
127
+ return typescript_1.default.factory.createArrayLiteralExpression([
128
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("branch")], undefined, undefined, props.checker(typescript_1.default.factory.createIdentifier("branch"), meta, __assign(__assign({}, explore), { tracable: false, postfix: "\"[0]\"" }), tags)),
129
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("branch")], undefined, undefined, props.decoder(typescript_1.default.factory.createIdentifier("branch"), meta, __assign(__assign({}, explore), { tracable: true }), tags)),
130
+ ]);
131
+ })));
132
+ var filteredVariable = StatementFactory_1.StatementFactory.constant("filtered", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tupleList.filter"), undefined, [
133
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("tuple")], undefined, undefined, typescript_1.default.factory.createStrictEquality(props.success, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tuple[0]"), undefined, [typescript_1.default.factory.createIdentifier("front")]))),
134
+ ]));
135
+ var uniqueStatement = typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("filtered.length")), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("filtered[0][1]"), undefined, [accessor.array(input)])));
136
+ var forOfStatement = typescript_1.default.factory.createForOfStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([typescript_1.default.factory.createVariableDeclaration("tuple")], typescript_1.default.NodeFlags.Const), typescript_1.default.factory.createIdentifier("filtered"), typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createIdentifier("array"), "every"), undefined, [
137
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("value")], undefined, undefined, typescript_1.default.factory.createStrictEquality(props.success, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tuple[0]"), undefined, [typescript_1.default.factory.createIdentifier("value")]))),
138
+ ]), typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("tuple[1]"), undefined, [typescript_1.default.factory.createIdentifier("array")]))));
139
+ var unionStatement = typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("filtered.length")), forOfStatement);
140
+ var block = [
141
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), accessor.size(input)), typescript_1.default.factory.createReturnStatement(props.empty)),
142
+ tupleListVariable,
143
+ StatementFactory_1.StatementFactory.constant("front", accessor.front(input)),
144
+ filteredVariable,
145
+ uniqueStatement,
146
+ StatementFactory_1.StatementFactory.constant("array", accessor.array(input)),
147
+ unionStatement,
148
+ props.failure(input, "(".concat(targets.map(function (t) { return accessor.name(t); }).join(" | "), ")"), explore),
149
+ ];
150
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock(block, true)), undefined, undefined);
151
+ };
113
152
  };
114
- }
115
- UnionExplorer.array = array;
153
+ };
116
154
  })(UnionExplorer = exports.UnionExplorer || (exports.UnionExplorer = {}));
117
155
  //# sourceMappingURL=UnionExplorer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UnionExplorer.js","sourceRoot":"","sources":["../../../src/programmers/helpers/UnionExplorer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UnionExplorer.js","sourceRoot":"","sources":["../../../src/programmers/helpers/UnionExplorer.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ var application_array = function (options) {
30
30
  var e_1, _a;
31
31
  var output = __assign({ type: "array", items: (0, application_schema_1.application_schema)(options)(components)(false)(metadata, attribute), nullable: nullable }, attribute);
32
32
  try {
33
- for (var _b = __values(attribute["x-tson-metaTags"] || []), _c = _b.next(); !_c.done; _c = _b.next()) {
33
+ for (var _b = __values(attribute["x-typia-metaTags"] || []), _c = _b.next(); !_c.done; _c = _b.next()) {
34
34
  var tag = _c.value;
35
35
  if (tag.kind === "minItems")
36
36
  output.minItems = tag.value;
@@ -1 +1 @@
1
- {"version":3,"file":"application_array.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UACI,QAAkB,EAClB,QAAiB,EACjB,SAAiC;;YAGjC,IAAM,MAAM,cACR,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CACjD,QAAQ,EACR,SAAS,CACZ,EACD,QAAQ,UAAA,IACL,SAAS,CACf,CAAC;;gBAGF,KAAkB,IAAA,KAAA,SAAA,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA,gBAAA;oBAA/C,IAAM,GAAG,WAAA;oBACV,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;wBAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;yBACpD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;wBAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;yBACzD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;wBAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;4BACzB,MAAM,CAAC,QAAQ;gCACX,GAAG,CAAC,OAAO,CAAC,KAAK;oCACjB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;4BACzB,MAAM,CAAC,QAAQ;gCACX,GAAG,CAAC,OAAO,CAAC,KAAK;oCACjB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClD;iBAAA;;;;;;;;;YACL,OAAO,MAAM,CAAC;QAClB,CAAC;IA/BD,CA+BC;AAhCD,CAgCC,CAAC;AAlCO,QAAA,iBAAiB,qBAkCxB"}
1
+ {"version":3,"file":"application_array.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKA,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UACI,QAAkB,EAClB,QAAiB,EACjB,SAAiC;;YAGjC,IAAM,MAAM,cACR,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CACjD,QAAQ,EACR,SAAS,CACZ,EACD,QAAQ,UAAA,IACL,SAAS,CACf,CAAC;;gBAGF,KAAkB,IAAA,KAAA,SAAA,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA,gBAAA;oBAAhD,IAAM,GAAG,WAAA;oBACV,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;wBAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;yBACpD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;wBAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;yBACzD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE;wBAC3B,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;4BACzB,MAAM,CAAC,QAAQ;gCACX,GAAG,CAAC,OAAO,CAAC,KAAK;oCACjB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/C,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS;4BACzB,MAAM,CAAC,QAAQ;gCACX,GAAG,CAAC,OAAO,CAAC,KAAK;oCACjB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClD;iBAAA;;;;;;;;;YACL,OAAO,MAAM,CAAC;QAClB,CAAC;IA/BD,CA+BC;AAhCD,CAgCC,CAAC;AAlCO,QAAA,iBAAiB,qBAkCxB"}
@@ -17,7 +17,7 @@ var application_default = function (attribute) {
17
17
  return function (caster) {
18
18
  var e_1, _a;
19
19
  var _b;
20
- var defaults = (attribute["x-tson-jsDocTags"] || []).filter(function (tag) { return tag.name === "default"; });
20
+ var defaults = (attribute["x-typia-jsDocTags"] || []).filter(function (tag) { return tag.name === "default"; });
21
21
  try {
22
22
  for (var defaults_1 = __values(defaults), defaults_1_1 = defaults_1.next(); !defaults_1_1.done; defaults_1_1 = defaults_1.next()) {
23
23
  var def = defaults_1_1.value;
@@ -1 +1 @@
1
- {"version":3,"file":"application_default.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,mBAAmB,GAC5B,UAAC,SAAiC;IAClC,OAAA,UAAC,IAAgC;QACjC,OAAA,UAAI,MAA0B;;;YAC1B,IAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CACzD,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,SAAS,EAAtB,CAAsB,CAClC,CAAC;;gBACF,KAAkB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA;oBAArB,IAAM,GAAG,qBAAA;oBACV,IAAI,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,KAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;wBAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;iBAAA;;;;;;;;;YACzC,OAAO,SAAS,CAAC;QACrB,CAAC;IARD,CAQC;AATD,CASC,CAAC;AAXO,QAAA,mBAAmB,uBAW1B"}
1
+ {"version":3,"file":"application_default.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,mBAAmB,GAC5B,UAAC,SAAiC;IAClC,OAAA,UAAC,IAAgC;QACjC,OAAA,UAAI,MAA0B;;;YAC1B,IAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAC1D,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,SAAS,EAAtB,CAAsB,CAClC,CAAC;;gBACF,KAAkB,IAAA,aAAA,SAAA,QAAQ,CAAA,kCAAA;oBAArB,IAAM,GAAG,qBAAA;oBACV,IAAI,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,KAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;wBAC3C,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;iBAAA;;;;;;;;;YACzC,OAAO,SAAS,CAAC;QACrB,CAAC;IARD,CAQC;AATD,CASC,CAAC;AAXO,QAAA,mBAAmB,uBAW1B"}
@@ -0,0 +1,4 @@
1
+ import { IJsonComponents } from "../../schemas/IJsonComponents";
2
+ import { IJsonSchema } from "../../module";
3
+ import { ApplicationProgrammer } from "../ApplicationProgrammer";
4
+ export declare const application_native: (options: ApplicationProgrammer.IOptions) => (components: IJsonComponents) => (name: string) => (nullable: boolean, attribute: IJsonSchema.IAttribute) => IJsonSchema.IReference;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.application_native = void 0;
15
+ var application_native = function (options) {
16
+ return function (components) {
17
+ return function (name) {
18
+ return function (nullable, attribute) {
19
+ var key = name + (nullable ? ".Nullable" : "");
20
+ if (components.schemas[key] === undefined)
21
+ components.schemas[key] = {
22
+ type: "object",
23
+ $id: options.purpose === "ajv"
24
+ ? options.prefix + "/" + key
25
+ : undefined,
26
+ properties: {},
27
+ nullable: nullable,
28
+ };
29
+ return __assign({ $ref: "#/components/schemas/".concat(name) }, attribute);
30
+ };
31
+ };
32
+ };
33
+ };
34
+ exports.application_native = application_native;
35
+ //# sourceMappingURL=application_native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"application_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_native.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,kBAAkB,GAC3B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,IAAY;YACb,OAAA,UACI,QAAiB,EACjB,SAAiC;gBAEjC,IAAM,GAAG,GAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;oBACrC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;wBACtB,IAAI,EAAE,QAAQ;wBACd,GAAG,EACC,OAAO,CAAC,OAAO,KAAK,KAAK;4BACrB,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG;4BAC5B,CAAC,CAAC,SAAS;wBACnB,UAAU,EAAE,EAAE;wBACd,QAAQ,UAAA;qBACX,CAAC;gBACN,kBACI,IAAI,EAAE,+BAAwB,IAAI,CAAE,IACjC,SAAS,EACd;YACN,CAAC;QAnBD,CAmBC;IApBD,CAoBC;AArBD,CAqBC,CAAC;AAvBO,QAAA,kBAAkB,sBAuBzB"}
@@ -28,7 +28,7 @@ var application_number = function (nullable, attribute) {
28
28
  var e_1, _a;
29
29
  var output = __assign({ type: "number", nullable: nullable }, attribute);
30
30
  try {
31
- for (var _b = __values(attribute["x-tson-metaTags"] || []), _c = _b.next(); !_c.done; _c = _b.next()) {
31
+ for (var _b = __values(attribute["x-typia-metaTags"] || []), _c = _b.next(); !_c.done; _c = _b.next()) {
32
32
  var tag = _c.value;
33
33
  if (tag.kind === "type" &&
34
34
  (tag.value === "int" || tag.value === "uint"))
@@ -49,6 +49,8 @@ var application_number = function (nullable, attribute) {
49
49
  else
50
50
  output.exclusiveMaximum = tag.maximum.value;
51
51
  }
52
+ else if (tag.kind === "multipleOf")
53
+ output.multipleOf = tag.value;
52
54
  }
53
55
  }
54
56
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -59,7 +61,7 @@ var application_number = function (nullable, attribute) {
59
61
  finally { if (e_1) throw e_1.error; }
60
62
  }
61
63
  if (output.type === "integer" &&
62
- (attribute["x-tson-metaTags"] || []).find(function (tag) { return tag.kind === "type" && tag.value === "uint"; }))
64
+ (attribute["x-typia-metaTags"] || []).find(function (tag) { return tag.kind === "type" && tag.value === "uint"; }))
63
65
  if (output.minimum === undefined || output.minimum < 0)
64
66
  output.minimum = 0;
65
67
  else if (output.exclusiveMinimum === undefined ||
@@ -78,6 +80,8 @@ var application_number = function (nullable, attribute) {
78
80
  conditions.push(value > output.exclusiveMinimum);
79
81
  if (output.exclusiveMaximum !== undefined)
80
82
  conditions.push(value < output.exclusiveMaximum);
83
+ if (output.multipleOf !== undefined)
84
+ conditions.push(value % output.multipleOf === 0);
81
85
  return conditions.every(function (cond) { return cond; });
82
86
  })(function (str) { return Number(str); });
83
87
  return output;
@@ -1 +1 @@
1
- {"version":3,"file":"application_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_number.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_number.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_number.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ var __values = (this && this.__values) || function(o) {
12
12
  };
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.application_object = void 0;
15
+ var CommentFactory_1 = require("../../factories/CommentFactory");
15
16
  var PatternUtil_1 = require("../../utils/PatternUtil");
16
17
  var application_schema_1 = require("./application_schema");
17
18
  var metadata_to_pattern_1 = require("./metadata_to_pattern");
@@ -26,39 +27,51 @@ var application_object = function (options) {
26
27
  var patternProperties = {};
27
28
  var additionalProperties = [];
28
29
  var required = [];
30
+ var _loop_1 = function (property) {
31
+ if (property.value.functional === true &&
32
+ property.value.nullable === false &&
33
+ property.value.required === true &&
34
+ property.value.size() === 0)
35
+ return "continue";
36
+ var key_1 = property.key.getSoleLiteral();
37
+ var value = (0, application_schema_1.application_schema)(options)(components)(true)(property.value, {
38
+ deprecated: !!property.jsDocTags.find(function (tag) { return tag.name === "deprecated"; }) || undefined,
39
+ title: (function () {
40
+ var _a;
41
+ var info = property.jsDocTags.find(function (tag) { return tag.name === "title"; });
42
+ return ((_a = info === null || info === void 0 ? void 0 : info.text) === null || _a === void 0 ? void 0 : _a.length)
43
+ ? CommentFactory_1.CommentFactory.generate(info.text)
44
+ : undefined;
45
+ })(),
46
+ description: property.description,
47
+ "x-typia-metaTags": property.tags.length
48
+ ? property.tags
49
+ : undefined,
50
+ "x-typia-jsDocTags": property.jsDocTags.length
51
+ ? property.jsDocTags
52
+ : undefined,
53
+ "x-typia-required": property.value.required,
54
+ });
55
+ if (value === null)
56
+ return "continue";
57
+ else if (key_1 !== null) {
58
+ properties[key_1] = value;
59
+ if (property.value.required === true)
60
+ required.push(key_1);
61
+ }
62
+ else {
63
+ var pattern = (0, metadata_to_pattern_1.metadata_to_pattern)(true)(property.key);
64
+ if (options.purpose === "swagger" ||
65
+ pattern === PatternUtil_1.PatternUtil.STRING)
66
+ additionalProperties.push(value);
67
+ else
68
+ patternProperties[pattern] = value;
69
+ }
70
+ };
29
71
  try {
30
72
  for (var _b = __values(obj.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
31
73
  var property = _c.value;
32
- if (property.value.functional === true &&
33
- property.value.nullable === false &&
34
- property.value.required === true &&
35
- property.value.size() === 0)
36
- continue;
37
- var key_1 = property.key.getSoleLiteral();
38
- var value = (0, application_schema_1.application_schema)(options)(components)(true)(property.value, {
39
- description: property.description,
40
- "x-tson-metaTags": property.tags.length
41
- ? property.tags
42
- : undefined,
43
- "x-tson-jsDocTags": property.jsDocTags.length
44
- ? property.jsDocTags
45
- : undefined,
46
- });
47
- if (value === null)
48
- continue;
49
- else if (key_1 !== null) {
50
- properties[key_1] = value;
51
- if (property.value.required === true)
52
- required.push(key_1);
53
- }
54
- else {
55
- var pattern = (0, metadata_to_pattern_1.metadata_to_pattern)(true)(property.key);
56
- if (options.purpose === "swagger" ||
57
- pattern === PatternUtil_1.PatternUtil.STRING)
58
- additionalProperties.push(value);
59
- else
60
- patternProperties[pattern] = value;
61
- }
74
+ _loop_1(property);
62
75
  }
63
76
  }
64
77
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -86,7 +99,7 @@ var application_object = function (options) {
86
99
  nullable: nullable,
87
100
  required: required.length ? required : undefined,
88
101
  description: obj.description,
89
- "x-tson_jsDocTags": obj.jsDocTags,
102
+ "x-typia_jsDocTags": obj.jsDocTags,
90
103
  };
91
104
  components.schemas[key] = schema;
92
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"application_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application_object.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_object.ts"],"names":[],"mappings":"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"}