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,25 +7,15 @@ exports.StatementFactory = void 0;
7
7
  var typescript_1 = __importDefault(require("typescript"));
8
8
  var StatementFactory;
9
9
  (function (StatementFactory) {
10
- function variable(flag, name, initializer) {
10
+ function constant(name, initializer) {
11
11
  return typescript_1.default.factory.createVariableStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([
12
12
  typescript_1.default.factory.createVariableDeclaration(name, undefined, undefined, initializer),
13
- ], flag));
13
+ ], typescript_1.default.NodeFlags.Const));
14
14
  }
15
- StatementFactory.variable = variable;
15
+ StatementFactory.constant = constant;
16
16
  function transpile(script) {
17
17
  return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createIdentifier(typescript_1.default.transpile(script)));
18
18
  }
19
19
  StatementFactory.transpile = transpile;
20
- function require(variable, location) {
21
- return typescript_1.default.factory.createImportDeclaration(undefined, undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier(variable))), typescript_1.default.factory.createStringLiteral(location));
22
- }
23
- StatementFactory.require = require;
24
- function importModulo(variable, location) {
25
- return typescript_1.default.factory.createImportDeclaration(undefined, undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
26
- typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(variable)),
27
- ])), typescript_1.default.factory.createStringLiteral(location));
28
- }
29
- StatementFactory.importModulo = importModulo;
30
20
  })(StatementFactory = exports.StatementFactory || (exports.StatementFactory = {}));
31
21
  //# sourceMappingURL=StatementFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatementFactory.js","sourceRoot":"","sources":["../../src/factories/StatementFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,gBAAgB,CA6DhC;AA7DD,WAAiB,gBAAgB;IAC7B,SAAgB,QAAQ,CACpB,IAAkB,EAClB,IAAY,EACZ,WAA2B;QAE3B,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC;YACI,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,IAAI,EACJ,SAAS,EACT,SAAS,EACT,WAAW,CACd;SACJ,EACD,IAAI,CACP,CACJ,CAAC;IACN,CAAC;IAnBe,yBAAQ,WAmBvB,CAAA;IAED,SAAgB,SAAS,CAAC,MAAc;QACpC,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CACvC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CACpD,CAAC;IACN,CAAC;IAJe,0BAAS,YAIxB,CAAA;IAED,SAAgB,OAAO,CAAC,QAAgB,EAAE,QAAgB;QACtD,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAC3C,CAAC;IACN,CAAC;IAbe,wBAAO,UAatB,CAAA;IAED,SAAgB,YAAY,CAAC,QAAgB,EAAE,QAAgB;QAC3D,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC1B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;SACJ,CAAC,CACL,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAC3C,CAAC;IACN,CAAC;IAjBe,6BAAY,eAiB3B,CAAA;AACL,CAAC,EA7DgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QA6DhC"}
1
+ {"version":3,"file":"StatementFactory.js","sourceRoot":"","sources":["../../src/factories/StatementFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,gBAAgB,CAyDhC;AAzDD,WAAiB,gBAAgB;IAC7B,SAAgB,QAAQ,CAAC,IAAY,EAAE,WAA2B;QAC9D,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC;YACI,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,IAAI,EACJ,SAAS,EACT,SAAS,EACT,WAAW,CACd;SACJ,EACD,oBAAE,CAAC,SAAS,CAAC,KAAK,CACrB,CACJ,CAAC;IACN,CAAC;IAfe,yBAAQ,WAevB,CAAA;IAED,SAAgB,SAAS,CAAC,MAAc;QACpC,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CACvC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CACpD,CAAC;IACN,CAAC;IAJe,0BAAS,YAIxB,CAAA;AAmCL,CAAC,EAzDgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAyDhC"}
@@ -8,6 +8,10 @@ var typescript_1 = __importDefault(require("typescript"));
8
8
  var TemplateFactory;
9
9
  (function (TemplateFactory) {
10
10
  function generate(expressions) {
11
+ if (expressions.every(function (exp) { return typescript_1.default.isStringLiteral(exp); }))
12
+ return typescript_1.default.factory.createStringLiteral(expressions
13
+ .map(function (str) { return str.text; })
14
+ .join(""));
11
15
  var it = {
12
16
  value: "",
13
17
  index: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateFactory.js","sourceRoot":"","sources":["../../src/factories/TemplateFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,eAAe,CA8C/B;AA9CD,WAAiB,eAAe;IAC5B,SAAgB,QAAQ,CAAC,WAA4B;QACjD,IAAM,EAAE,GAAa;YACjB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,CAAC;SACX,CAAC;QACF,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAExB,IAAM,IAAI,GAAoB,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACtE,IAAM,KAAK,GAAsB,EAAE,CAAC;QAEpC,OAAO,IAAI,EAAE;YACT,IAAM,IAAI,GAAkB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAE,CAAC;YACrD,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAExB,IAAM,MAAM,GAAY,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM,CAAC;YACxD,KAAK,CAAC,IAAI,CACN,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,IAAI,EACJ,MAAM;gBACF,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC;gBACzC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAClD,CACJ,CAAC;YACF,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM;SAC9B;QACD,OAAO,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IA1Be,wBAAQ,WA0BvB,CAAA;IAED,SAAS,MAAM,CAAC,WAA4B,EAAE,EAAY;QACtD,IAAM,KAAK,GAAW,WAAW,CAAC,SAAS,CACvC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAA9C,CAA8C,CAClE,CAAC;QAEF,IAAM,IAAI,GAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;QAC/D,EAAE,CAAC,KAAK,GAAG,WAAW;aACjB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;aACrB,GAAG,CAAC,UAAC,IAAI,IAAK,OAAC,IAAyB,CAAC,IAAI,EAA/B,CAA+B,CAAC;aAC9C,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;AAML,CAAC,EA9CgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA8C/B"}
1
+ {"version":3,"file":"TemplateFactory.js","sourceRoot":"","sources":["../../src/factories/TemplateFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,eAAe,CAqD/B;AArDD,WAAiB,eAAe;IAC5B,SAAgB,QAAQ,CAAC,WAA4B;QACjD,IAAI,WAAW,CAAC,KAAK,CAAC,UAAC,GAAG,IAAK,OAAA,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC,EAAvB,CAAuB,CAAC;YACnD,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAChC,WAAkC;iBAC9B,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAR,CAAQ,CAAC;iBACtB,IAAI,CAAC,EAAE,CAAC,CAChB,CAAC;QAEN,IAAM,EAAE,GAAa;YACjB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,CAAC;SACX,CAAC;QACF,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAExB,IAAM,IAAI,GAAoB,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACtE,IAAM,KAAK,GAAsB,EAAE,CAAC;QAEpC,OAAO,IAAI,EAAE;YACT,IAAM,IAAI,GAAkB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAE,CAAC;YACrD,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAExB,IAAM,MAAM,GAAY,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM,CAAC;YACxD,KAAK,CAAC,IAAI,CACN,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,IAAI,EACJ,MAAM;gBACF,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC;gBACzC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAClD,CACJ,CAAC;YACF,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM;SAC9B;QACD,OAAO,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAjCe,wBAAQ,WAiCvB,CAAA;IAED,SAAS,MAAM,CAAC,WAA4B,EAAE,EAAY;QACtD,IAAM,KAAK,GAAW,WAAW,CAAC,SAAS,CACvC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAA9C,CAA8C,CAClE,CAAC;QAEF,IAAM,IAAI,GAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;QAC/D,EAAE,CAAC,KAAK,GAAG,WAAW;aACjB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;aACrB,GAAG,CAAC,UAAC,IAAI,IAAK,OAAC,IAAyB,CAAC,IAAI,EAA/B,CAA+B,CAAC;aAC9C,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;AAML,CAAC,EArDgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAqD/B"}
@@ -2,5 +2,6 @@ import ts from "typescript";
2
2
  export declare namespace TypeFactory {
3
3
  function resolve(checker: ts.TypeChecker, type: ts.Type): ts.Type | null;
4
4
  function isFunction(type: ts.Type): boolean;
5
- function getFullName(checker: ts.TypeChecker, type: ts.Type): string;
5
+ function getReturnType(checker: ts.TypeChecker, type: ts.Type, name: string): ts.Type | null;
6
+ function getFullName(checker: ts.TypeChecker, type: ts.Type, symbol?: ts.Symbol): string;
6
7
  }
@@ -8,7 +8,7 @@ var typescript_1 = __importDefault(require("typescript"));
8
8
  var TypeFactory;
9
9
  (function (TypeFactory) {
10
10
  function resolve(checker, type) {
11
- return get_return_type(checker, type, "toJSON");
11
+ return getReturnType(checker, type, "toJSON");
12
12
  }
13
13
  TypeFactory.resolve = resolve;
14
14
  function isFunction(type) {
@@ -28,7 +28,7 @@ var TypeFactory;
28
28
  : null
29
29
  : null;
30
30
  }
31
- function get_return_type(checker, type, name) {
31
+ function getReturnType(checker, type, name) {
32
32
  var symbol = type.getProperty(name);
33
33
  if (!symbol)
34
34
  return null;
@@ -38,10 +38,11 @@ var TypeFactory;
38
38
  var signature = checker.getSignaturesOfType(functor, typescript_1.default.SignatureKind.Call)[0];
39
39
  return signature ? signature.getReturnType() : null;
40
40
  }
41
- function getFullName(checker, type) {
42
- var symbol = type.getSymbol() || type.aliasSymbol;
41
+ TypeFactory.getReturnType = getReturnType;
42
+ function getFullName(checker, type, symbol) {
43
+ symbol || (symbol = type.aliasSymbol || type.getSymbol());
43
44
  if (symbol === undefined)
44
- return checker.typeToString(type, undefined, undefined);
45
+ return checker.typeToString(type);
45
46
  if (type.aliasSymbol === undefined && type.isUnionOrIntersection()) {
46
47
  var joiner = type.isIntersection() ? " & " : " | ";
47
48
  return type.types
@@ -49,7 +50,9 @@ var TypeFactory;
49
50
  .join(joiner);
50
51
  }
51
52
  var name = get_name(symbol);
52
- var generic = checker.getTypeArguments(type);
53
+ var generic = type.aliasSymbol
54
+ ? type.aliasTypeArguments || []
55
+ : checker.getTypeArguments(type);
53
56
  return generic.length
54
57
  ? name === "Promise"
55
58
  ? getFullName(checker, generic[0])
@@ -65,7 +68,11 @@ var TypeFactory;
65
68
  : name;
66
69
  }
67
70
  function get_name(symbol) {
68
- return explore_name(symbol.escapedName.toString(), symbol.getDeclarations()[0].parent);
71
+ var _a, _b;
72
+ var parent = (_b = (_a = symbol.getDeclarations()) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.parent;
73
+ return parent
74
+ ? explore_name(symbol.escapedName.toString(), parent)
75
+ : "__type";
69
76
  }
70
77
  })(TypeFactory = exports.TypeFactory || (exports.TypeFactory = {}));
71
78
  //# sourceMappingURL=TypeFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeFactory.js","sourceRoot":"","sources":["../../src/factories/TypeFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeFactory.js","sourceRoot":"","sources":["../../src/factories/TypeFactory.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ var explore_metadata = function (checker) {
21
21
  return function (collection) {
22
22
  return function (type, parentResolved) {
23
23
  var e_1, _a;
24
- var meta = Metadata_1.Metadata.initialize();
24
+ var meta = Metadata_1.Metadata.initialize(parentResolved);
25
25
  if (type !== null)
26
26
  (0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(meta, type, parentResolved);
27
27
  if (meta.objects.length > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"explore_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/explore_metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explore_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/explore_metadata.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.iterate_metadata = void 0;
4
+ var ArrayUtil_1 = require("../../utils/ArrayUtil");
4
5
  var iterate_metadata_array_1 = require("./iterate_metadata_array");
5
6
  var iterate_metadata_atomic_1 = require("./iterate_metadata_atomic");
6
7
  var iterate_metadata_coalesce_1 = require("./iterate_metadata_coalesce");
7
8
  var iterate_metadata_constant_1 = require("./iterate_metadata_constant");
9
+ var iterate_metadata_map_1 = require("./iterate_metadata_map");
10
+ var iterate_metadata_native_1 = require("./iterate_metadata_native");
8
11
  var iterate_metadata_object_1 = require("./iterate_metadata_object");
9
12
  var iterate_metadata_resolve_1 = require("./iterate_metadata_resolve");
13
+ var iterate_metadata_set_1 = require("./iterate_metadata_set");
10
14
  var iterate_metadata_template_1 = require("./iterate_metadata_template");
11
15
  var iterate_metadata_tuple_1 = require("./iterate_metadata_tuple");
12
16
  var iterate_metadata_union_1 = require("./iterate_metadata_union");
@@ -15,19 +19,24 @@ var iterate_metadata = function (checker) {
15
19
  return function (collection) {
16
20
  return function (meta, type, parentResolved) {
17
21
  if (type.isTypeParameter() === true)
18
- throw new Error("Error on TSON.MetadataFactory.generate(): non-specified generic argument on ".concat(meta.getName(), "."));
22
+ throw new Error("Error on typia.MetadataFactory.generate(): non-specified generic argument on ".concat(meta.getName(), "."));
19
23
  if ((0, iterate_metadata_union_1.iterate_metadata_union)(checker)(options)(collection)(meta, type, parentResolved) ||
20
24
  (0, iterate_metadata_resolve_1.iterate_metadata_resolve)(checker)(options)(collection)(meta, type, parentResolved))
21
25
  return;
22
26
  var node = checker.typeToTypeNode(type, undefined, undefined);
23
- if (node === undefined)
27
+ if (node === undefined) {
28
+ ArrayUtil_1.ArrayUtil.set(meta.tuples, [], function () { return "[]"; });
24
29
  return;
30
+ }
25
31
  (0, iterate_metadata_coalesce_1.iterate_metadata_coalesce)(meta, type) ||
26
32
  (0, iterate_metadata_constant_1.iterate_metadata_constant)(checker)(options)(meta, type) ||
27
33
  (0, iterate_metadata_template_1.iterate_metadata_template)(checker)(options)(collection)(meta, type) ||
28
34
  (0, iterate_metadata_atomic_1.iterate_metadata_atomic)(meta, type) ||
29
- (0, iterate_metadata_tuple_1.iterate_metadata_tuple)(checker)(options)(collection)(meta, type) ||
35
+ (0, iterate_metadata_tuple_1.iterate_metadata_tuple)(checker)(options)(collection)(meta, type, node) ||
30
36
  (0, iterate_metadata_array_1.iterate_metadata_array)(checker)(options)(collection)(meta, type) ||
37
+ (0, iterate_metadata_native_1.iterate_metadata_native)(checker)(meta, type) ||
38
+ (0, iterate_metadata_map_1.iterate_metadata_map)(checker)(options)(collection)(meta, type) ||
39
+ (0, iterate_metadata_set_1.iterate_metadata_set)(checker)(options)(collection)(meta, type) ||
31
40
  (0, iterate_metadata_object_1.iterate_metadata_object)(checker)(options)(collection)(meta, type, parentResolved);
32
41
  };
33
42
  };
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata.ts"],"names":[],"mappings":";;;AAMA,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AACxE,qEAAoE;AACpE,uEAAsE;AACtE,yEAAwE;AACxE,mEAAkE;AAClE,mEAAkE;AAE3D,IAAM,gBAAgB,GACzB,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;gBACnD,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI;oBAC/B,MAAM,IAAI,KAAK,CACX,sFAA+E,IAAI,CAAC,OAAO,EAAE,MAAG,CACnG,CAAC;gBAGN,IACI,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBACD,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAClD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBAED,OAAO;gBAGX,IAAM,IAAI,GAA4B,OAAO,CAAC,cAAc,CACxD,IAAI,EACJ,SAAS,EACT,SAAS,CACZ,CAAC;gBACF,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAE/B,IAAA,qDAAyB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACjC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBACvD,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACnD,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,iDAAuB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACnC,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACjD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB,CAAC;YACV,CAAC;QA3CD,CA2CC;IA5CD,CA4CC;AA7CD,CA6CC,CAAC;AA/CO,QAAA,gBAAgB,oBA+CvB"}
1
+ {"version":3,"file":"iterate_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AACxE,+DAA8D;AAC9D,qEAAoE;AACpE,qEAAoE;AACpE,uEAAsE;AACtE,+DAA8D;AAC9D,yEAAwE;AACxE,mEAAkE;AAClE,mEAAkE;AAE3D,IAAM,gBAAgB,GACzB,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;gBACnD,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI;oBAC/B,MAAM,IAAI,KAAK,CACX,uFAAgF,IAAI,CAAC,OAAO,EAAE,MAAG,CACpG,CAAC;gBAGN,IACI,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBACD,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAClD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBAED,OAAO;gBAGX,IAAM,IAAI,GAA4B,OAAO,CAAC,cAAc,CACxD,IAAI,EACJ,SAAS,EACT,SAAS,CACZ,CAAC;gBACF,IAAI,IAAI,KAAK,SAAS,EAAE;oBAEpB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC,CAAC;oBAC3C,OAAO;iBACV;gBAGD,IAAA,qDAAyB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACjC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBACvD,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACnD,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,iDAAuB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACnC,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC5C,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACjD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB,CAAC;YACV,CAAC;QAvDD,CAuDC;IAxDD,CAwDC;AAzDD,CAyDC,CAAC;AA3DO,QAAA,gBAAgB,oBA2DvB"}
@@ -10,9 +10,8 @@ var iterate_metadata_array = function (checker) {
10
10
  if (!checker.isArrayType(type) &&
11
11
  !checker.isArrayLikeType(type))
12
12
  return false;
13
- var elemType = type.getNumberIndexType() || null;
14
- var elemMeta = (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(elemType, false);
15
- ArrayUtil_1.ArrayUtil.set(meta.arrays, elemMeta, function (elem) { return elem.getName(); });
13
+ var value = type.getNumberIndexType() || null;
14
+ ArrayUtil_1.ArrayUtil.set(meta.arrays, (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(value, false), function (elem) { return elem.getName(); });
16
15
  return true;
17
16
  };
18
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_array.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_array.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,uDAAsD;AAE/C,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa;gBAC1B,IACI,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,CAAC;oBACnC,CAAE,OAAe,CAAC,eAAe,CAAC,IAAI,CAAC;oBAEvC,OAAO,KAAK,CAAC;gBAEjB,IAAM,QAAQ,GAAmB,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC;gBACnE,IAAM,QAAQ,GAAa,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACzD,UAAU,CACb,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAEnB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,EAAE,EAAd,CAAc,CAAC,CAAC;gBAC/D,OAAO,IAAI,CAAC;YAChB,CAAC;QAdD,CAcC;IAfD,CAeC;AAhBD,CAgBC,CAAC;AAlBO,QAAA,sBAAsB,0BAkB7B"}
1
+ {"version":3,"file":"iterate_metadata_array.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_array.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,uDAAsD;AAE/C,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa;gBAC1B,IACI,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,CAAC;oBACnC,CAAE,OAAe,CAAC,eAAe,CAAC,IAAI,CAAC;oBAEvC,OAAO,KAAK,CAAC;gBAEjB,IAAM,KAAK,GAAmB,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC;gBAChE,qBAAS,CAAC,GAAG,CACT,IAAI,CAAC,MAAM,EACX,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAC5D,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,EAAE,EAAd,CAAc,CAC3B,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;QAdD,CAcC;IAfD,CAeC;AAhBD,CAgBC,CAAC;AAlBO,QAAA,sBAAsB,0BAkB7B"}
@@ -1,31 +1,4 @@
1
1
  "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
30
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
31
4
  };
@@ -33,41 +6,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
33
6
  exports.iterate_metadata_atomic = void 0;
34
7
  var typescript_1 = __importDefault(require("typescript"));
35
8
  var ArrayUtil_1 = require("../../utils/ArrayUtil");
9
+ var same = function (type) {
10
+ if (type === null)
11
+ return function () { return false; };
12
+ return function (flag) { return (type.getFlags() & flag) !== 0; };
13
+ };
36
14
  var iterate_metadata_atomic = function (meta, type) {
37
- var e_1, _a;
38
- var filter = function (flag) { return (type.getFlags() & flag) !== 0; };
39
- var check = function (flag, literal, className) {
40
- var _a;
41
- if (filter(flag) ||
42
- filter(literal) ||
43
- ((_a = type.symbol) === null || _a === void 0 ? void 0 : _a.escapedName) === className) {
44
- ArrayUtil_1.ArrayUtil.add(meta.atomics, className.toLowerCase());
15
+ var filter = same(type);
16
+ var check = function (info) {
17
+ if (filter(info.atomic) || filter(info.literal)) {
18
+ ArrayUtil_1.ArrayUtil.add(meta.atomics, info.name);
45
19
  return true;
46
20
  }
47
21
  return false;
48
22
  };
49
- try {
50
- for (var ATOMICS_1 = __values(ATOMICS), ATOMICS_1_1 = ATOMICS_1.next(); !ATOMICS_1_1.done; ATOMICS_1_1 = ATOMICS_1.next()) {
51
- var _b = __read(ATOMICS_1_1.value, 3), flag = _b[0], literal = _b[1], className = _b[2];
52
- if (check(flag, literal, className) === true) {
53
- return true;
54
- }
55
- }
56
- }
57
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
58
- finally {
59
- try {
60
- if (ATOMICS_1_1 && !ATOMICS_1_1.done && (_a = ATOMICS_1.return)) _a.call(ATOMICS_1);
61
- }
62
- finally { if (e_1) throw e_1.error; }
63
- }
64
- return false;
23
+ return ATOMICS.some(function (info) { return check(info); });
65
24
  };
66
25
  exports.iterate_metadata_atomic = iterate_metadata_atomic;
67
26
  var ATOMICS = [
68
- [typescript_1.default.TypeFlags.BooleanLike, typescript_1.default.TypeFlags.BooleanLiteral, "Boolean"],
69
- [typescript_1.default.TypeFlags.NumberLike, typescript_1.default.TypeFlags.NumberLiteral, "Number"],
70
- [typescript_1.default.TypeFlags.BigIntLike, typescript_1.default.TypeFlags.BigIntLiteral, "BigInt"],
71
- [typescript_1.default.TypeFlags.StringLike, typescript_1.default.TypeFlags.StringLiteral, "String"],
27
+ {
28
+ name: "boolean",
29
+ atomic: typescript_1.default.TypeFlags.BooleanLike,
30
+ literal: typescript_1.default.TypeFlags.BooleanLiteral,
31
+ },
32
+ {
33
+ name: "number",
34
+ atomic: typescript_1.default.TypeFlags.NumberLike,
35
+ literal: typescript_1.default.TypeFlags.NumberLiteral,
36
+ },
37
+ {
38
+ name: "bigint",
39
+ atomic: typescript_1.default.TypeFlags.BigInt,
40
+ literal: typescript_1.default.TypeFlags.BigIntLiteral,
41
+ },
42
+ {
43
+ name: "string",
44
+ atomic: typescript_1.default.TypeFlags.StringLike,
45
+ literal: typescript_1.default.TypeFlags.StringLiteral,
46
+ },
72
47
  ];
73
48
  //# sourceMappingURL=iterate_metadata_atomic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_atomic.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_atomic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAI5B,mDAAkD;AAE3C,IAAM,uBAAuB,GAAG,UACnC,IAAc,EACd,IAAa;;IAGb,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;IACtE,IAAM,KAAK,GAAG,UACV,IAAkB,EAClB,OAAqB,EACrB,SAAiB;;QAEjB,IACI,MAAM,CAAC,IAAI,CAAC;YACZ,MAAM,CAAC,OAAO,CAAC;YACf,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,MAAK,SAAS,EACxC;YACE,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;;QAGF,KAAyC,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA;YAArC,IAAA,KAAA,4BAA0B,EAAzB,IAAI,QAAA,EAAE,OAAO,QAAA,EAAE,SAAS,QAAA;YAChC,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;gBAC1C,OAAO,IAAI,CAAC;aACf;SAAA;;;;;;;;;IACL,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AA5BW,QAAA,uBAAuB,2BA4BlC;AAEF,IAAM,OAAO,GAA2C;IACpD,CAAC,oBAAE,CAAC,SAAS,CAAC,WAAW,EAAE,oBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC;IAClE,CAAC,oBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;IAC/D,CAAC,oBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;IAC/D,CAAC,oBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;CAClE,CAAC"}
1
+ {"version":3,"file":"iterate_metadata_atomic.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_atomic.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAM5B,mDAAkD;AAElD,IAAM,IAAI,GAAG,UAAC,IAAoB;IAC9B,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,cAAM,OAAA,KAAK,EAAL,CAAK,CAAC;IACtC,OAAO,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;AAClE,CAAC,CAAC;AAEK,IAAM,uBAAuB,GAAG,UACnC,IAAc,EACd,IAAa;IAGb,IAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAM,KAAK,GAAG,UAAC,IAAiB;QAC5B,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC7C,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAGF,OAAO,OAAO,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,KAAK,CAAC,IAAI,CAAC,EAAX,CAAW,CAAC,CAAC;AAC/C,CAAC,CAAC;AAhBW,QAAA,uBAAuB,2BAgBlC;AAEF,IAAM,OAAO,GAAkB;IAC3B;QACI,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,oBAAE,CAAC,SAAS,CAAC,WAAW;QAChC,OAAO,EAAE,oBAAE,CAAC,SAAS,CAAC,cAAc;KACvC;IACD;QACI,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,oBAAE,CAAC,SAAS,CAAC,UAAU;QAC/B,OAAO,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa;KACtC;IACD;QACI,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,oBAAE,CAAC,SAAS,CAAC,MAAM;QAC3B,OAAO,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa;KACtC;IACD;QACI,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,oBAAE,CAAC,SAAS,CAAC,UAAU;QAC/B,OAAO,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa;KACtC;CACJ,CAAC"}
@@ -9,9 +9,7 @@ var Writable_1 = require("../../typings/Writable");
9
9
  var TypeFactory_1 = require("../TypeFactory");
10
10
  var iterate_metadata_coalesce = function (meta, type) {
11
11
  var filter = function (flag) { return (type.getFlags() & flag) !== 0; };
12
- if (filter(typescript_1.default.TypeFlags.Unknown) ||
13
- filter(typescript_1.default.TypeFlags.Never) ||
14
- filter(typescript_1.default.TypeFlags.Any)) {
12
+ if (filter(typescript_1.default.TypeFlags.Unknown) || filter(typescript_1.default.TypeFlags.Any)) {
15
13
  (0, Writable_1.Writable)(meta).any = true;
16
14
  return true;
17
15
  }
@@ -20,6 +18,7 @@ var iterate_metadata_coalesce = function (meta, type) {
20
18
  return true;
21
19
  }
22
20
  else if (filter(typescript_1.default.TypeFlags.Undefined) ||
21
+ filter(typescript_1.default.TypeFlags.Never) ||
23
22
  filter(typescript_1.default.TypeFlags.Void) ||
24
23
  filter(typescript_1.default.TypeFlags.VoidLike)) {
25
24
  (0, Writable_1.Writable)(meta).required = false;
@@ -1 +1 @@
1
- {"version":3,"file":"iterate_metadata_coalesce.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_coalesce.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAI5B,mDAAkD;AAElD,8CAA6C;AAEtC,IAAM,yBAAyB,GAAG,UACrC,IAAc,EACd,IAAa;IAEb,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;IACtE,IACI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,OAAO,CAAC;QAC5B,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAC1B;QACE,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAClC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/B,OAAO,IAAI,CAAC;KACf;SAAM,IACH,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,SAAS,CAAC;QAC9B,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC/B;QACE,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChC,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,yBAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAC9C,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AA3BW,QAAA,yBAAyB,6BA2BpC"}
1
+ {"version":3,"file":"iterate_metadata_coalesce.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_coalesce.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAI5B,mDAAkD;AAElD,8CAA6C;AAEtC,IAAM,yBAAyB,GAAG,UACrC,IAAc,EACd,IAAa;IAEb,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;IACtE,IAAI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;QAC1D,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAClC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/B,OAAO,IAAI,CAAC;KACf;SAAM,IACH,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,SAAS,CAAC;QAC9B,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC/B;QACE,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChC,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,yBAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAC9C,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAxBW,QAAA,yBAAyB,6BAwBpC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { Metadata } from "../../metadata/Metadata";
3
+ import { MetadataCollection } from "../MetadataCollection";
4
+ import { MetadataFactory } from "../MetadataFactory";
5
+ export declare const iterate_metadata_map: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.Type) => boolean;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.iterate_metadata_map = void 0;
4
+ var ArrayUtil_1 = require("../../utils/ArrayUtil");
5
+ var TypeFactory_1 = require("../TypeFactory");
6
+ var explore_metadata_1 = require("./explore_metadata");
7
+ var iterate_metadata_map = function (checker) {
8
+ return function (options) {
9
+ return function (collection) {
10
+ return function (meta, type) {
11
+ type = checker.getApparentType(type);
12
+ var name = TypeFactory_1.TypeFactory.getFullName(checker, type, type.getSymbol());
13
+ var generic = type.aliasSymbol
14
+ ? type.aliasTypeArguments
15
+ : checker.getTypeArguments(type);
16
+ if (name.substring(0, 4) !== "Map<" || (generic === null || generic === void 0 ? void 0 : generic.length) !== 2)
17
+ return false;
18
+ var key = generic[0];
19
+ var value = generic[1];
20
+ ArrayUtil_1.ArrayUtil.set(meta.maps, {
21
+ key: (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(key, false),
22
+ value: (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(value, false),
23
+ }, function (elem) { return "Map<".concat(elem.key.getName(), ", ").concat(elem.value.getName(), ">"); });
24
+ return true;
25
+ };
26
+ };
27
+ };
28
+ };
29
+ exports.iterate_metadata_map = iterate_metadata_map;
30
+ //# sourceMappingURL=iterate_metadata_map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iterate_metadata_map.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_map.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,8CAA6C;AAC7C,uDAAsD;AAE/C,IAAM,oBAAoB,GAC7B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa;gBAC1B,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAErC,IAAM,IAAI,GAAG,yBAAW,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACtE,IAAM,OAAO,GAAG,IAAI,CAAC,WAAW;oBAC5B,CAAC,CAAC,IAAI,CAAC,kBAAkB;oBACzB,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAwB,CAAC,CAAC;gBACzD,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,CAAC;oBACxD,OAAO,KAAK,CAAC;gBAEjB,IAAM,GAAG,GAAY,OAAO,CAAC,CAAC,CAAE,CAAC;gBACjC,IAAM,KAAK,GAAY,OAAO,CAAC,CAAC,CAAE,CAAC;gBAEnC,qBAAS,CAAC,GAAG,CACT,IAAI,CAAC,IAAI,EACT;oBACI,GAAG,EAAE,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC;oBAC/D,KAAK,EAAE,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACjD,KAAK,EACL,KAAK,CACR;iBACJ,EACD,UAAC,IAAI,IAAK,OAAA,cAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,MAAG,EAArD,CAAqD,CAClE,CAAC;gBACF,OAAO,IAAI,CAAC;YAChB,CAAC;QAzBD,CAyBC;IA1BD,CA0BC;AA3BD,CA2BC,CAAC;AA7BO,QAAA,oBAAoB,wBA6B3B"}
@@ -0,0 +1,3 @@
1
+ import ts from "typescript";
2
+ import { Metadata } from "../../metadata/Metadata";
3
+ export declare const iterate_metadata_native: (checker: ts.TypeChecker) => (meta: Metadata, type: ts.Type) => boolean;