typia 5.0.0-dev.20230824 → 5.0.0-dev.20230828

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 (493) hide show
  1. package/README.md +1 -2
  2. package/lib/IRandomGenerator.d.ts +4 -3
  3. package/lib/executable/TypiaGenerateWizard.js +1 -1
  4. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  5. package/lib/executable/TypiaSetupWizard.js +1 -1
  6. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  7. package/lib/executable/setup/PackageManager.js +1 -1
  8. package/lib/executable/setup/PackageManager.js.map +1 -1
  9. package/lib/executable/setup/PluginConfigurator.js +2 -2
  10. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  11. package/lib/factories/ExpressionFactory.d.ts +1 -1
  12. package/lib/factories/ExpressionFactory.js +3 -3
  13. package/lib/factories/ExpressionFactory.js.map +1 -1
  14. package/lib/factories/JsonMetadataFactory.d.ts +7 -0
  15. package/lib/factories/JsonMetadataFactory.js +38 -0
  16. package/lib/factories/JsonMetadataFactory.js.map +1 -0
  17. package/lib/factories/LiteralFactory.js +6 -2
  18. package/lib/factories/LiteralFactory.js.map +1 -1
  19. package/lib/factories/MetadataCollection.js +0 -2
  20. package/lib/factories/MetadataCollection.js.map +1 -1
  21. package/lib/factories/MetadataCommentTagFactory.js +543 -0
  22. package/lib/factories/MetadataCommentTagFactory.js.map +1 -0
  23. package/lib/factories/MetadataFactory.d.ts +22 -2
  24. package/lib/factories/MetadataFactory.js +221 -17
  25. package/lib/factories/MetadataFactory.js.map +1 -1
  26. package/lib/factories/MetadataTypeTagFactory.d.ts +7 -0
  27. package/lib/factories/MetadataTypeTagFactory.js +280 -0
  28. package/lib/factories/MetadataTypeTagFactory.js.map +1 -0
  29. package/lib/factories/NumericRangeFactory.d.ts +6 -0
  30. package/lib/factories/NumericRangeFactory.js +34 -0
  31. package/lib/factories/NumericRangeFactory.js.map +1 -0
  32. package/lib/factories/ProtobufFactory.js +109 -73
  33. package/lib/factories/ProtobufFactory.js.map +1 -1
  34. package/lib/factories/TypeFactory.d.ts +0 -1
  35. package/lib/factories/TypeFactory.js +0 -5
  36. package/lib/factories/TypeFactory.js.map +1 -1
  37. package/lib/factories/internal/metadata/emend_metadata_atomics.js +7 -1
  38. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  39. package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +1 -1
  40. package/lib/factories/internal/metadata/emplace_metadata_alias.js +20 -19
  41. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  42. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.ts +1 -1
  43. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +20 -7
  44. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  45. package/lib/factories/internal/metadata/emplace_metadata_object.d.ts +1 -1
  46. package/lib/factories/internal/metadata/emplace_metadata_object.js +100 -85
  47. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  48. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +1 -1
  49. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +34 -21
  50. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  51. package/lib/factories/internal/metadata/explore_metadata.d.ts +1 -1
  52. package/lib/factories/internal/metadata/explore_metadata.js +12 -12
  53. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  54. package/lib/factories/internal/metadata/iterate_metadata.d.ts +1 -1
  55. package/lib/factories/internal/metadata/iterate_metadata.js +39 -19
  56. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  57. package/lib/factories/internal/metadata/iterate_metadata_alias.d.ts +1 -1
  58. package/lib/factories/internal/metadata/iterate_metadata_alias.js +12 -10
  59. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  60. package/lib/factories/internal/metadata/iterate_metadata_array.d.ts +1 -1
  61. package/lib/factories/internal/metadata/iterate_metadata_array.js +11 -9
  62. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  63. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +2 -1
  64. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  65. package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +2 -1
  66. package/lib/factories/internal/metadata/iterate_metadata_collection.js +47 -45
  67. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  68. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +2 -1
  69. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +17 -22
  70. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  71. package/lib/factories/internal/metadata/iterate_metadata_intersection.d.ts +1 -1
  72. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +147 -135
  73. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  74. package/lib/factories/internal/metadata/iterate_metadata_map.d.ts +1 -1
  75. package/lib/factories/internal/metadata/iterate_metadata_map.js +28 -15
  76. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  77. package/lib/factories/internal/metadata/iterate_metadata_object.d.ts +1 -1
  78. package/lib/factories/internal/metadata/iterate_metadata_object.js +16 -14
  79. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  80. package/lib/factories/internal/metadata/iterate_metadata_resolve.d.ts +1 -1
  81. package/lib/factories/internal/metadata/iterate_metadata_resolve.js +28 -15
  82. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
  83. package/lib/factories/internal/metadata/iterate_metadata_set.d.ts +1 -1
  84. package/lib/factories/internal/metadata/iterate_metadata_set.js +24 -11
  85. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  86. package/lib/factories/internal/metadata/iterate_metadata_template.d.ts +1 -1
  87. package/lib/factories/internal/metadata/iterate_metadata_template.js +28 -15
  88. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  89. package/lib/factories/internal/metadata/iterate_metadata_tuple.d.ts +1 -1
  90. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +11 -9
  91. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  92. package/lib/factories/internal/metadata/iterate_metadata_union.d.ts +1 -1
  93. package/lib/factories/internal/metadata/iterate_metadata_union.js +20 -7
  94. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  95. package/lib/functional/Namespace.js +0 -16
  96. package/lib/functional/Namespace.js.map +1 -1
  97. package/lib/programmers/AssertProgrammer.js +28 -8
  98. package/lib/programmers/AssertProgrammer.js.map +1 -1
  99. package/lib/programmers/CheckerProgrammer.js +78 -60
  100. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  101. package/lib/programmers/FeatureProgrammer.d.ts +4 -6
  102. package/lib/programmers/FeatureProgrammer.js +7 -7
  103. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  104. package/lib/programmers/IsProgrammer.d.ts +1 -1
  105. package/lib/programmers/IsProgrammer.js +33 -20
  106. package/lib/programmers/IsProgrammer.js.map +1 -1
  107. package/lib/programmers/RandomProgrammer.js +163 -138
  108. package/lib/programmers/RandomProgrammer.js.map +1 -1
  109. package/lib/programmers/TypiaProgrammer.js +58 -28
  110. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  111. package/lib/programmers/ValidateProgrammer.js +28 -8
  112. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  113. package/lib/programmers/helpers/CloneJoiner.js +10 -2
  114. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  115. package/lib/programmers/helpers/ICheckEntry.d.ts +3 -2
  116. package/lib/programmers/helpers/ProtobufUtil.d.ts +6 -2
  117. package/lib/programmers/helpers/ProtobufUtil.js +175 -17
  118. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  119. package/lib/programmers/helpers/RandomJoiner.d.ts +3 -5
  120. package/lib/programmers/helpers/RandomJoiner.js +7 -10
  121. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  122. package/lib/programmers/helpers/RandomRanger.d.ts +5 -6
  123. package/lib/programmers/helpers/RandomRanger.js +13 -33
  124. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  125. package/lib/programmers/helpers/UnionExplorer.d.ts +7 -8
  126. package/lib/programmers/helpers/UnionExplorer.js +6 -6
  127. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  128. package/lib/programmers/internal/application_alias.js +0 -1
  129. package/lib/programmers/internal/application_alias.js.map +1 -1
  130. package/lib/programmers/internal/application_array.js +60 -20
  131. package/lib/programmers/internal/application_array.js.map +1 -1
  132. package/lib/programmers/internal/application_escaped.d.ts +4 -0
  133. package/lib/programmers/internal/{application_resolved.js → application_escaped.js} +4 -4
  134. package/lib/programmers/internal/application_escaped.js.map +1 -0
  135. package/lib/programmers/internal/application_number.js +95 -69
  136. package/lib/programmers/internal/application_number.js.map +1 -1
  137. package/lib/programmers/internal/application_object.js +0 -3
  138. package/lib/programmers/internal/application_object.js.map +1 -1
  139. package/lib/programmers/internal/application_schema.js +41 -24
  140. package/lib/programmers/internal/application_schema.js.map +1 -1
  141. package/lib/programmers/internal/application_string.js +56 -22
  142. package/lib/programmers/internal/application_string.js.map +1 -1
  143. package/lib/programmers/internal/check_array_length.js +25 -25
  144. package/lib/programmers/internal/check_array_length.js.map +1 -1
  145. package/lib/programmers/internal/check_bigint.js +13 -116
  146. package/lib/programmers/internal/check_bigint.js.map +1 -1
  147. package/lib/programmers/internal/check_dynamic_properties.js +1 -1
  148. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  149. package/lib/programmers/internal/check_number.js +62 -163
  150. package/lib/programmers/internal/check_number.js.map +1 -1
  151. package/lib/programmers/internal/check_string.js +16 -52
  152. package/lib/programmers/internal/check_string.js.map +1 -1
  153. package/lib/programmers/internal/check_template.js +16 -1
  154. package/lib/programmers/internal/check_template.js.map +1 -1
  155. package/lib/programmers/internal/check_union_array_like.js +4 -4
  156. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  157. package/lib/programmers/internal/feature_object_entries.js +1 -1
  158. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  159. package/lib/programmers/internal/random_custom.js +2 -2
  160. package/lib/programmers/internal/random_custom.js.map +1 -1
  161. package/lib/programmers/json/JsonApplicationProgrammer.js +5 -1
  162. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  163. package/lib/programmers/json/JsonAssertParseProgrammer.js +2 -0
  164. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  165. package/lib/programmers/json/JsonIsParseProgrammer.js +2 -0
  166. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  167. package/lib/programmers/json/JsonStringifyProgrammer.js +41 -78
  168. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  169. package/lib/programmers/json/JsonValidateParseProgrammer.js +2 -0
  170. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  171. package/lib/programmers/misc/MiscCloneProgrammer.js +26 -17
  172. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  173. package/lib/programmers/{IsPruneProgrammer.d.ts → misc/MiscIsPruneProgrammer.d.ts} +2 -2
  174. package/lib/programmers/{IsPruneProgrammer.js → misc/MiscIsPruneProgrammer.js} +11 -11
  175. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -0
  176. package/lib/programmers/misc/MiscLiteralsProgrammer.js +10 -5
  177. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  178. package/lib/programmers/misc/MiscPruneProgrammer.js +23 -14
  179. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  180. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +24 -44
  181. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  182. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +138 -65
  183. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  184. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +59 -85
  185. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  186. package/lib/schemas/json/IJsonSchema.d.ts +10 -38
  187. package/lib/schemas/metadata/IMetadataAlias.d.ts +0 -2
  188. package/lib/schemas/metadata/IMetadataProperty.d.ts +0 -2
  189. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +2 -0
  190. package/lib/schemas/metadata/Metadata.d.ts +2 -2
  191. package/lib/schemas/metadata/Metadata.js +29 -29
  192. package/lib/schemas/metadata/Metadata.js.map +1 -1
  193. package/lib/schemas/metadata/MetadataAlias.d.ts +0 -2
  194. package/lib/schemas/metadata/MetadataAlias.js +0 -3
  195. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  196. package/lib/schemas/metadata/MetadataArray.d.ts +2 -0
  197. package/lib/schemas/metadata/MetadataArray.js +45 -2
  198. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  199. package/lib/schemas/metadata/MetadataAtomic.d.ts +9 -0
  200. package/lib/schemas/metadata/MetadataAtomic.js +59 -0
  201. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -0
  202. package/lib/schemas/metadata/MetadataProperty.d.ts +0 -2
  203. package/lib/schemas/metadata/MetadataProperty.js +0 -3
  204. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  205. package/lib/schemas/metadata/MetadataTuple.d.ts +4 -2
  206. package/lib/schemas/metadata/MetadataTuple.js +1 -2
  207. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  208. package/lib/tags/ExclusiveMaximum.d.ts +10 -8
  209. package/lib/tags/ExclusiveMinimum.d.ts +10 -8
  210. package/lib/tags/Format.d.ts +8 -8
  211. package/lib/tags/MaxItems.d.ts +8 -8
  212. package/lib/tags/MaxLength.d.ts +8 -8
  213. package/lib/tags/Maximum.d.ts +10 -8
  214. package/lib/tags/MinItems.d.ts +8 -8
  215. package/lib/tags/MinLength.d.ts +8 -8
  216. package/lib/tags/Minimum.d.ts +10 -8
  217. package/lib/tags/MultipleOf.d.ts +10 -8
  218. package/lib/tags/Pattern.d.ts +7 -8
  219. package/lib/tags/TagBase.d.ts +10 -6
  220. package/lib/tags/Type.d.ts +14 -13
  221. package/lib/tags/index.d.ts +1 -0
  222. package/lib/tags/index.js +1 -0
  223. package/lib/tags/index.js.map +1 -1
  224. package/lib/transform.d.ts +2 -1
  225. package/lib/transform.js +11 -3
  226. package/lib/transform.js.map +1 -1
  227. package/lib/transformers/CallExpressionTransformer.d.ts +1 -1
  228. package/lib/transformers/CallExpressionTransformer.js +2 -1
  229. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  230. package/lib/transformers/FileTransformer.js +18 -6
  231. package/lib/transformers/FileTransformer.js.map +1 -1
  232. package/lib/transformers/IProject.d.ts +3 -0
  233. package/lib/transformers/NodeTransformer.d.ts +1 -1
  234. package/lib/transformers/TransformerError.d.ts +12 -0
  235. package/lib/transformers/TransformerError.js +66 -0
  236. package/lib/transformers/TransformerError.js.map +1 -0
  237. package/lib/transformers/features/AssertTransformer.d.ts +1 -0
  238. package/lib/transformers/features/CreateAssertTransformer.d.ts +1 -0
  239. package/lib/transformers/features/CreateIsTransformer.d.ts +1 -0
  240. package/lib/transformers/features/CreateRandomTransformer.js +9 -4
  241. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  242. package/lib/transformers/features/CreateValidateTransformer.d.ts +1 -0
  243. package/lib/transformers/features/IsTransformer.d.ts +1 -0
  244. package/lib/transformers/features/RandomTransformer.js +9 -4
  245. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  246. package/lib/transformers/features/ValidateTransformer.d.ts +1 -0
  247. package/lib/transformers/features/json/JsonApplicationTransformer.js +79 -19
  248. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  249. package/lib/transformers/features/json/JsonAssertParseTransformer.d.ts +1 -0
  250. package/lib/transformers/features/json/JsonAssertStringifyTransformer.d.ts +1 -0
  251. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.d.ts +1 -0
  252. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.d.ts +1 -0
  253. package/lib/transformers/features/json/JsonCreateIsParseTransformer.d.ts +1 -0
  254. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.d.ts +1 -0
  255. package/lib/transformers/features/json/JsonCreateStringifyTransformer.d.ts +1 -0
  256. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.d.ts +1 -0
  257. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.d.ts +1 -0
  258. package/lib/transformers/features/json/JsonIsParseTransformer.d.ts +1 -0
  259. package/lib/transformers/features/json/JsonIsStringifyTransformer.d.ts +1 -0
  260. package/lib/transformers/features/json/JsonStringifyTransformer.d.ts +1 -0
  261. package/lib/transformers/features/json/JsonValidateParseTransformer.d.ts +1 -0
  262. package/lib/transformers/features/json/JsonValidateStringifyTransformer.d.ts +1 -0
  263. package/lib/transformers/features/misc/MetadataTransformer.js +13 -5
  264. package/lib/transformers/features/misc/MetadataTransformer.js.map +1 -1
  265. package/lib/transformers/features/misc/MiscAssertCloneTransformer.d.ts +1 -0
  266. package/lib/transformers/features/misc/MiscAssertPruneTransformer.d.ts +1 -0
  267. package/lib/transformers/features/misc/MiscCloneTransformer.d.ts +1 -0
  268. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.d.ts +1 -0
  269. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.d.ts +1 -0
  270. package/lib/transformers/features/misc/MiscCreateCloneTransformer.d.ts +1 -0
  271. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.d.ts +1 -0
  272. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.d.ts +1 -0
  273. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +2 -2
  274. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  275. package/lib/transformers/features/misc/MiscCreatePruneTransformer.d.ts +1 -0
  276. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.d.ts +1 -0
  277. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.d.ts +1 -0
  278. package/lib/transformers/features/misc/MiscIsCloneTransformer.d.ts +1 -0
  279. package/lib/transformers/features/misc/MiscIsPruneTransformer.d.ts +1 -0
  280. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +2 -2
  281. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  282. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +9 -4
  283. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  284. package/lib/transformers/features/misc/MiscPruneTransformer.d.ts +1 -0
  285. package/lib/transformers/features/misc/MiscValidateCloneTransformer.d.ts +1 -0
  286. package/lib/transformers/features/misc/MiscValidatePruneTransformer.d.ts +1 -0
  287. package/lib/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.d.ts +1 -0
  288. package/lib/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.d.ts +1 -0
  289. package/lib/transformers/features/protobuf/CreateProtobufDecodeTransformer.d.ts +1 -0
  290. package/lib/transformers/features/protobuf/CreateProtobufEncodeTransformer.d.ts +1 -0
  291. package/lib/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.d.ts +1 -0
  292. package/lib/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.d.ts +1 -0
  293. package/lib/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.d.ts +1 -0
  294. package/lib/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.d.ts +1 -0
  295. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.d.ts +1 -0
  296. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.d.ts +1 -0
  297. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.d.ts +1 -0
  298. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.d.ts +1 -0
  299. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.d.ts +1 -0
  300. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.d.ts +1 -0
  301. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +9 -2
  302. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  303. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.d.ts +1 -0
  304. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.d.ts +1 -0
  305. package/lib/transformers/internal/GenericTransformer.js +17 -4
  306. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  307. package/lib/typings/ProtobufAtomic.d.ts +5 -0
  308. package/lib/{schemas/metadata/ICommentTag.js → typings/ProtobufAtomic.js} +1 -1
  309. package/lib/typings/ProtobufAtomic.js.map +1 -0
  310. package/lib/typings/ValidationPipe.d.ts +7 -0
  311. package/lib/{schemas/metadata/IMetadataCommentTag.js → typings/ValidationPipe.js} +1 -1
  312. package/lib/typings/ValidationPipe.js.map +1 -0
  313. package/package.json +4 -2
  314. package/src/IRandomGenerator.ts +4 -3
  315. package/src/executable/TypiaGenerateWizard.ts +1 -1
  316. package/src/executable/TypiaSetupWizard.ts +1 -1
  317. package/src/executable/setup/PackageManager.ts +1 -1
  318. package/src/executable/setup/PluginConfigurator.ts +2 -2
  319. package/src/factories/ExpressionFactory.ts +4 -4
  320. package/src/factories/JsonMetadataFactory.ts +43 -0
  321. package/src/factories/LiteralFactory.ts +11 -3
  322. package/src/factories/MetadataCollection.ts +0 -6
  323. package/src/factories/MetadataCommentTagFactory.ts +629 -0
  324. package/src/factories/MetadataFactory.ts +169 -7
  325. package/src/factories/MetadataTypeTagFactory.ts +313 -0
  326. package/src/factories/NumericRangeFactory.ts +33 -0
  327. package/src/factories/ProtobufFactory.ts +106 -99
  328. package/src/factories/TypeFactory.ts +0 -5
  329. package/src/factories/internal/metadata/emend_metadata_atomics.ts +6 -1
  330. package/src/factories/internal/metadata/emplace_metadata_alias.ts +12 -11
  331. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +12 -5
  332. package/src/factories/internal/metadata/emplace_metadata_object.ts +20 -6
  333. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +12 -2
  334. package/src/factories/internal/metadata/explore_metadata.ts +5 -11
  335. package/src/factories/internal/metadata/iterate_metadata.ts +44 -24
  336. package/src/factories/internal/metadata/iterate_metadata_alias.ts +7 -2
  337. package/src/factories/internal/metadata/iterate_metadata_array.ts +7 -2
  338. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +2 -1
  339. package/src/factories/internal/metadata/iterate_metadata_collection.ts +30 -29
  340. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +22 -27
  341. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +44 -25
  342. package/src/factories/internal/metadata/iterate_metadata_map.ts +20 -4
  343. package/src/factories/internal/metadata/iterate_metadata_object.ts +2 -1
  344. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +15 -12
  345. package/src/factories/internal/metadata/iterate_metadata_set.ts +11 -2
  346. package/src/factories/internal/metadata/iterate_metadata_template.ts +12 -3
  347. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +7 -2
  348. package/src/factories/internal/metadata/iterate_metadata_union.ts +10 -7
  349. package/src/functional/Namespace.ts +0 -16
  350. package/src/programmers/AssertProgrammer.ts +57 -21
  351. package/src/programmers/CheckerProgrammer.ts +51 -120
  352. package/src/programmers/FeatureProgrammer.ts +15 -34
  353. package/src/programmers/IsProgrammer.ts +53 -42
  354. package/src/programmers/RandomProgrammer.ts +223 -242
  355. package/src/programmers/TypiaProgrammer.ts +27 -2
  356. package/src/programmers/ValidateProgrammer.ts +60 -21
  357. package/src/programmers/helpers/CloneJoiner.ts +57 -20
  358. package/src/programmers/helpers/ICheckEntry.ts +3 -2
  359. package/src/programmers/helpers/ProtobufUtil.ts +113 -17
  360. package/src/programmers/helpers/RandomJoiner.ts +11 -37
  361. package/src/programmers/helpers/RandomRanger.ts +16 -51
  362. package/src/programmers/helpers/UnionExplorer.ts +1 -20
  363. package/src/programmers/internal/application_alias.ts +0 -1
  364. package/src/programmers/internal/application_array.ts +32 -10
  365. package/src/programmers/internal/{application_resolved.ts → application_escaped.ts} +1 -1
  366. package/src/programmers/internal/application_number.ts +76 -70
  367. package/src/programmers/internal/application_object.ts +0 -3
  368. package/src/programmers/internal/application_schema.ts +40 -22
  369. package/src/programmers/internal/application_string.ts +33 -27
  370. package/src/programmers/internal/check_array_length.ts +34 -28
  371. package/src/programmers/internal/check_bigint.ts +25 -118
  372. package/src/programmers/internal/check_dynamic_properties.ts +1 -2
  373. package/src/programmers/internal/check_number.ts +81 -261
  374. package/src/programmers/internal/check_string.ts +28 -39
  375. package/src/programmers/internal/check_template.ts +17 -1
  376. package/src/programmers/internal/check_union_array_like.ts +1 -16
  377. package/src/programmers/internal/feature_object_entries.ts +12 -18
  378. package/src/programmers/internal/random_custom.ts +3 -3
  379. package/src/programmers/json/JsonApplicationProgrammer.ts +6 -3
  380. package/src/programmers/json/JsonAssertParseProgrammer.ts +7 -2
  381. package/src/programmers/json/JsonIsParseProgrammer.ts +7 -2
  382. package/src/programmers/json/JsonStringifyProgrammer.ts +32 -73
  383. package/src/programmers/json/JsonValidateParseProgrammer.ts +7 -2
  384. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +1 -1
  385. package/src/programmers/misc/MiscCloneProgrammer.ts +24 -35
  386. package/src/programmers/{IsPruneProgrammer.ts → misc/MiscIsPruneProgrammer.ts} +7 -7
  387. package/src/programmers/misc/MiscLiteralsProgrammer.ts +11 -6
  388. package/src/programmers/misc/MiscPruneProgrammer.ts +16 -20
  389. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +34 -68
  390. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +153 -98
  391. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +6 -36
  392. package/src/schemas/json/IJsonSchema.ts +11 -38
  393. package/src/schemas/metadata/IMetadataAlias.ts +0 -2
  394. package/src/schemas/metadata/IMetadataProperty.ts +0 -2
  395. package/src/schemas/metadata/IMetadataTypeTag.ts +2 -0
  396. package/src/schemas/metadata/Metadata.ts +32 -46
  397. package/src/schemas/metadata/MetadataAlias.ts +0 -5
  398. package/src/schemas/metadata/MetadataArray.ts +21 -3
  399. package/src/schemas/metadata/MetadataAtomic.ts +42 -0
  400. package/src/schemas/metadata/MetadataProperty.ts +0 -5
  401. package/src/schemas/metadata/MetadataTuple.ts +5 -4
  402. package/src/tags/ExclusiveMaximum.ts +13 -8
  403. package/src/tags/ExclusiveMinimum.ts +13 -8
  404. package/src/tags/Format.ts +21 -20
  405. package/src/tags/MaxItems.ts +9 -8
  406. package/src/tags/MaxLength.ts +9 -8
  407. package/src/tags/Maximum.ts +13 -8
  408. package/src/tags/MinItems.ts +9 -8
  409. package/src/tags/MinLength.ts +9 -8
  410. package/src/tags/Minimum.ts +13 -8
  411. package/src/tags/MultipleOf.ts +15 -10
  412. package/src/tags/Pattern.ts +8 -8
  413. package/src/tags/TagBase.ts +18 -13
  414. package/src/tags/Type.ts +26 -29
  415. package/src/tags/index.ts +1 -0
  416. package/src/transform.ts +13 -5
  417. package/src/transformers/CallExpressionTransformer.ts +6 -3
  418. package/src/transformers/FileTransformer.ts +25 -13
  419. package/src/transformers/IProject.ts +3 -0
  420. package/src/transformers/NodeTransformer.ts +1 -1
  421. package/src/transformers/TransformerError.ts +55 -0
  422. package/src/transformers/features/CreateRandomTransformer.ts +11 -7
  423. package/src/transformers/features/RandomTransformer.ts +11 -7
  424. package/src/transformers/features/json/JsonApplicationTransformer.ts +39 -35
  425. package/src/transformers/features/misc/MetadataTransformer.ts +18 -10
  426. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +2 -2
  427. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +2 -2
  428. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +11 -7
  429. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +9 -7
  430. package/src/transformers/internal/GenericTransformer.ts +17 -10
  431. package/src/typings/ProtobufAtomic.ts +19 -0
  432. package/src/typings/ValidationPipe.ts +9 -0
  433. package/lib/factories/MetadataTagFactory.d.ts +0 -6
  434. package/lib/factories/MetadataTagFactory.js +0 -312
  435. package/lib/factories/MetadataTagFactory.js.map +0 -1
  436. package/lib/factories/internal/metadata/iterate_metadata_type_tags.d.ts +0 -3
  437. package/lib/factories/internal/metadata/iterate_metadata_type_tags.js +0 -157
  438. package/lib/factories/internal/metadata/iterate_metadata_type_tags.js.map +0 -1
  439. package/lib/functional/$is_custom.d.ts +0 -2
  440. package/lib/functional/$is_custom.js +0 -13
  441. package/lib/functional/$is_custom.js.map +0 -1
  442. package/lib/functional/$is_date.d.ts +0 -1
  443. package/lib/functional/$is_date.js +0 -7
  444. package/lib/functional/$is_date.js.map +0 -1
  445. package/lib/functional/$is_datetime.d.ts +0 -1
  446. package/lib/functional/$is_datetime.js +0 -8
  447. package/lib/functional/$is_datetime.js.map +0 -1
  448. package/lib/functional/$is_email.d.ts +0 -1
  449. package/lib/functional/$is_email.js +0 -7
  450. package/lib/functional/$is_email.js.map +0 -1
  451. package/lib/functional/$is_ipv4.d.ts +0 -1
  452. package/lib/functional/$is_ipv4.js +0 -7
  453. package/lib/functional/$is_ipv4.js.map +0 -1
  454. package/lib/functional/$is_ipv6.d.ts +0 -1
  455. package/lib/functional/$is_ipv6.js +0 -7
  456. package/lib/functional/$is_ipv6.js.map +0 -1
  457. package/lib/functional/$is_url.d.ts +0 -1
  458. package/lib/functional/$is_url.js +0 -7
  459. package/lib/functional/$is_url.js.map +0 -1
  460. package/lib/functional/$is_uuid.d.ts +0 -1
  461. package/lib/functional/$is_uuid.js +0 -7
  462. package/lib/functional/$is_uuid.js.map +0 -1
  463. package/lib/programmers/IsPruneProgrammer.js.map +0 -1
  464. package/lib/programmers/internal/application_resolved.d.ts +0 -4
  465. package/lib/programmers/internal/application_resolved.js.map +0 -1
  466. package/lib/programmers/internal/check_array_tags.js +0 -39
  467. package/lib/programmers/internal/check_array_tags.js.map +0 -1
  468. package/lib/programmers/internal/check_string_tags.d.ts +0 -1
  469. package/lib/programmers/internal/check_string_tags.js +0 -89
  470. package/lib/programmers/internal/check_string_tags.js.map +0 -1
  471. package/lib/programmers/internal/get_comment_tags.d.ts +0 -1
  472. package/lib/programmers/internal/get_comment_tags.js +0 -25
  473. package/lib/programmers/internal/get_comment_tags.js.map +0 -1
  474. package/lib/schemas/metadata/ICommentTag.d.ts +0 -4
  475. package/lib/schemas/metadata/ICommentTag.js.map +0 -1
  476. package/lib/schemas/metadata/IMetadataCommentTag.d.ts +0 -63
  477. package/lib/schemas/metadata/IMetadataCommentTag.js.map +0 -1
  478. package/src/factories/MetadataTagFactory.ts +0 -365
  479. package/src/factories/internal/metadata/iterate_metadata_type_tags.ts +0 -183
  480. package/src/functional/$is_custom.ts +0 -14
  481. package/src/functional/$is_date.ts +0 -3
  482. package/src/functional/$is_datetime.ts +0 -2
  483. package/src/functional/$is_email.ts +0 -4
  484. package/src/functional/$is_ipv4.ts +0 -4
  485. package/src/functional/$is_ipv6.ts +0 -4
  486. package/src/functional/$is_url.ts +0 -4
  487. package/src/functional/$is_uuid.ts +0 -4
  488. package/src/programmers/internal/check_array_tags.ts +0 -45
  489. package/src/programmers/internal/check_string_tags.ts +0 -67
  490. package/src/programmers/internal/get_comment_tags.ts +0 -23
  491. package/src/schemas/metadata/ICommentTag.ts +0 -4
  492. package/src/schemas/metadata/IMetadataCommentTag.ts +0 -112
  493. /package/lib/{programmers/internal/check_array_tags.d.ts → factories/MetadataCommentTagFactory.d.ts} +0 -0
@@ -59,13 +59,14 @@ var MetadataFactory_1 = require("../factories/MetadataFactory");
59
59
  var StatementFactory_1 = require("../factories/StatementFactory");
60
60
  var TypeFactory_1 = require("../factories/TypeFactory");
61
61
  var ValueFactory_1 = require("../factories/ValueFactory");
62
+ var MetadataArray_1 = require("../schemas/metadata/MetadataArray");
62
63
  var MetadataTuple_1 = require("../schemas/metadata/MetadataTuple");
64
+ var TransformerError_1 = require("../transformers/TransformerError");
63
65
  var FeatureProgrammer_1 = require("./FeatureProgrammer");
64
66
  var AtomicPredicator_1 = require("./helpers/AtomicPredicator");
65
67
  var OptionPredicator_1 = require("./helpers/OptionPredicator");
66
68
  var UnionExplorer_1 = require("./helpers/UnionExplorer");
67
69
  var check_array_length_1 = require("./internal/check_array_length");
68
- var check_array_tags_1 = require("./internal/check_array_tags");
69
70
  var check_bigint_1 = require("./internal/check_bigint");
70
71
  var check_native_1 = require("./internal/check_native");
71
72
  var check_number_1 = require("./internal/check_number");
@@ -103,13 +104,16 @@ var CheckerProgrammer;
103
104
  return collection
104
105
  .arrays()
105
106
  .filter(function (a) { return a.recursive; })
106
- .map(function (array, i) {
107
- return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(project)(config)(importer)(typescript_1.default.factory.createIdentifier("input"), array, {
107
+ .map(function (type, i) {
108
+ return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "a").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer_1.FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(typescript_1.default.factory.createIdentifier("input")), TypeFactory_1.TypeFactory.keyword("any"), undefined, decode_array_inline(project)(config)(importer)(typescript_1.default.factory.createIdentifier("input"), MetadataArray_1.MetadataArray.create({
109
+ type: type,
110
+ tags: [],
111
+ }), {
108
112
  tracable: config.trace,
109
113
  source: "function",
110
114
  from: "array",
111
115
  postfix: "",
112
- }, [], [], [])));
116
+ })));
113
117
  });
114
118
  };
115
119
  };
@@ -128,7 +132,7 @@ var CheckerProgrammer;
128
132
  source: "function",
129
133
  from: "array",
130
134
  postfix: "",
131
- }, [], [])));
135
+ })));
132
136
  });
133
137
  };
134
138
  };
@@ -150,14 +154,18 @@ var CheckerProgrammer;
150
154
  prefix: config.prefix,
151
155
  initializer: function (_a) {
152
156
  var checker = _a.checker;
153
- return function (type) {
154
- var collection = new MetadataCollection_1.MetadataCollection();
155
- var meta = MetadataFactory_1.MetadataFactory.analyze(checker)({
156
- escape: false,
157
- constant: true,
158
- absorb: true,
159
- })(collection)(type);
160
- return [collection, meta];
157
+ return function (importer) {
158
+ return function (type) {
159
+ var collection = new MetadataCollection_1.MetadataCollection();
160
+ var result = MetadataFactory_1.MetadataFactory.analyze(checker)({
161
+ escape: false,
162
+ constant: true,
163
+ absorb: true,
164
+ })(collection)(type);
165
+ if (result.success === false)
166
+ throw TransformerError_1.TransformerError.from("typia.".concat(importer.method))(result.errors);
167
+ return [collection, result.data];
168
+ };
161
169
  };
162
170
  },
163
171
  addition: config.addition,
@@ -202,7 +210,7 @@ var CheckerProgrammer;
202
210
  CheckerProgrammer.decode = function (project) {
203
211
  return function (config) {
204
212
  return function (importer) {
205
- return function (input, meta, explore, metaTags, jsDocTags) {
213
+ return function (input, meta, explore) {
206
214
  var e_1, _a, e_2, _b, e_3, _c, e_4, _d;
207
215
  if (meta.any)
208
216
  return config.success;
@@ -210,9 +218,11 @@ var CheckerProgrammer;
210
218
  var binaries = [];
211
219
  var add = create_add(binaries)(input);
212
220
  var getConstantValue = function (value) {
213
- return typeof value === "string"
214
- ? typescript_1.default.factory.createStringLiteral(value)
215
- : typescript_1.default.factory.createIdentifier(value.toString());
221
+ if (typeof value === "string")
222
+ return typescript_1.default.factory.createStringLiteral(value);
223
+ else if (typeof value === "bigint")
224
+ return ExpressionFactory_1.ExpressionFactory.bigint(value);
225
+ return typescript_1.default.factory.createIdentifier(value.toString());
216
226
  };
217
227
  var checkOptional = meta.empty() || meta.isUnionBucket();
218
228
  if (checkOptional || meta.nullable)
@@ -261,17 +271,17 @@ var CheckerProgrammer;
261
271
  continue;
262
272
  else if (atom.type === "number")
263
273
  binaries.push({
264
- expression: config.atomist(explore)((0, check_number_1.check_number)(project, config.numeric)(atom.tags, metaTags)(input))(input),
274
+ expression: config.atomist(explore)((0, check_number_1.check_number)(project, config.numeric)(atom)(input))(input),
265
275
  combined: false,
266
276
  });
267
277
  else if (atom.type === "bigint")
268
278
  binaries.push({
269
- expression: config.atomist(explore)((0, check_bigint_1.check_bigint)(project)(atom.tags, metaTags)(input))(input),
279
+ expression: config.atomist(explore)((0, check_bigint_1.check_bigint)(project)(atom)(input))(input),
270
280
  combined: false,
271
281
  });
272
282
  else if (atom.type === "string")
273
283
  binaries.push({
274
- expression: config.atomist(explore)((0, check_string_1.check_string)(project)(importer)(atom.tags, metaTags)(input))(input),
284
+ expression: config.atomist(explore)((0, check_string_1.check_string)(project)(atom)(input))(input),
275
285
  combined: false,
276
286
  });
277
287
  else
@@ -324,7 +334,7 @@ var CheckerProgrammer;
324
334
  if (meta.sets.some(function (elem) { return elem.any; }))
325
335
  install(null);
326
336
  else
327
- install(explore_sets(project)(config)(importer)(input, meta.sets, __assign(__assign({}, explore), { from: "array" }), [], []));
337
+ install(explore_sets(project)(config)(importer)(input, meta.sets, __assign(__assign({}, explore), { from: "array" })));
328
338
  }
329
339
  if (meta.maps.length) {
330
340
  var install = prepare((0, check_native_1.check_native)("Map")(input), meta.maps
@@ -336,28 +346,29 @@ var CheckerProgrammer;
336
346
  if (meta.maps.some(function (elem) { return elem.key.any && elem.value.any; }))
337
347
  install(null);
338
348
  else
339
- install(explore_maps(project)(config)(importer)(input, meta.maps, __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
349
+ install(explore_maps(project)(config)(importer)(input, meta.maps, __assign(__assign({}, explore), { from: "array" })));
340
350
  }
341
351
  if (meta.tuples.length + meta.arrays.length > 0) {
342
352
  var install = prepare(config.atomist(explore)({
353
+ expected: __spreadArray(__spreadArray([], __read(meta.tuples.map(function (t) { return t.type.name; })), false), __read(meta.arrays.map(function (a) { return a.getName(); })), false).join(" | "),
343
354
  expression: ExpressionFactory_1.ExpressionFactory.isArray(input),
344
- tags: [],
355
+ conditions: [],
345
356
  })(input), __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false).map(function (elem) { return elem.type.name; })
346
357
  .join(" | "));
347
358
  if (meta.arrays.length === 0)
348
359
  if (meta.tuples.length === 1)
349
- install(decode_tuple(project)(config)(importer)(input, meta.tuples[0], __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
360
+ install(decode_tuple(project)(config)(importer)(input, meta.tuples[0], __assign(__assign({}, explore), { from: "array" })));
350
361
  else
351
- install(explore_tuples(project)(config)(importer)(input, meta.tuples, __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
362
+ install(explore_tuples(project)(config)(importer)(input, meta.tuples, __assign(__assign({}, explore), { from: "array" })));
352
363
  else if (meta.arrays.some(function (elem) { return elem.type.value.any; }))
353
364
  install(null);
354
365
  else if (meta.tuples.length === 0)
355
366
  if (meta.arrays.length === 1)
356
- install(decode_array(project)(config)(importer)(input, meta.arrays[0], __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
367
+ install(decode_array(project)(config)(importer)(input, meta.arrays[0], __assign(__assign({}, explore), { from: "array" })));
357
368
  else
358
- install(explore_arrays(project)(config)(importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" }), metaTags, jsDocTags));
369
+ install(explore_arrays(project)(config)(importer)(input, meta.arrays, __assign(__assign({}, explore), { from: "array" })));
359
370
  else
360
- install(explore_arrays_and_tuples(project)(config)(importer)(input, __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false), explore, metaTags, jsDocTags));
371
+ install(explore_arrays_and_tuples(project)(config)(importer)(input, __spreadArray(__spreadArray([], __read(meta.tuples), false), __read(meta.arrays), false), explore));
361
372
  }
362
373
  if (meta.objects.length > 0)
363
374
  prepare(ExpressionFactory_1.ExpressionFactory.isObject({
@@ -420,9 +431,9 @@ var CheckerProgrammer;
420
431
  var decode_array = function (project) {
421
432
  return function (config) {
422
433
  return function (importer) {
423
- return function (input, array, explore, metaTags, jsDocTags) {
434
+ return function (input, array, explore) {
424
435
  if (array.type.recursive === false)
425
- return decode_array_inline(project)(config)(importer)(input, array.type, explore, array.tags, metaTags, jsDocTags);
436
+ return decode_array_inline(project)(config)(importer)(input, array, explore);
426
437
  explore = __assign(__assign({}, explore), { source: "function", from: "array" });
427
438
  return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "a").concat(array.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(__assign(__assign({}, explore), { source: "function", from: "array" }))(input)), config.joiner.failure(input, array.type.name, explore));
428
439
  };
@@ -432,17 +443,17 @@ var CheckerProgrammer;
432
443
  var decode_array_inline = function (project) {
433
444
  return function (config) {
434
445
  return function (importer) {
435
- return function (input, array, explore, matrix, metaTags, jsDocTags) {
436
- var tagger = (0, check_array_tags_1.check_array_tags)(project)(matrix, metaTags)(input);
446
+ return function (input, array, explore) {
447
+ var length = (0, check_array_length_1.check_array_length)(project)(array)(input);
437
448
  var main = FeatureProgrammer_1.FeatureProgrammer.decode_array({
438
449
  prefix: config.prefix,
439
450
  trace: config.trace,
440
451
  path: config.path,
441
452
  decoder: function () { return CheckerProgrammer.decode(project)(config)(importer); },
442
- })(importer)(config.joiner.array)(input, array, explore, metaTags, jsDocTags);
443
- return tagger.expression === null && tagger.tags.length === 0
453
+ })(importer)(config.joiner.array)(input, array, explore);
454
+ return length.expression === null && length.conditions.length === 0
444
455
  ? main
445
- : typescript_1.default.factory.createLogicalAnd(config.atomist(explore)(tagger)(input), main);
456
+ : typescript_1.default.factory.createLogicalAnd(config.atomist(explore)(length)(input), main);
446
457
  };
447
458
  };
448
459
  };
@@ -450,9 +461,9 @@ var CheckerProgrammer;
450
461
  var decode_tuple = function (project) {
451
462
  return function (config) {
452
463
  return function (importer) {
453
- return function (input, tuple, explore, tagList, jsDocTags) {
464
+ return function (input, tuple, explore) {
454
465
  if (tuple.type.recursive === false)
455
- return decode_tuple_inline(project)(config)(importer)(input, tuple.type, explore, tagList, jsDocTags);
466
+ return decode_tuple_inline(project)(config)(importer)(input, tuple.type, explore);
456
467
  explore = __assign(__assign({}, explore), { source: "function", from: "array" });
457
468
  return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "t").concat(tuple.type.index))), undefined, FeatureProgrammer_1.FeatureProgrammer.argumentsArray(config)(__assign(__assign({}, explore), { source: "function" }))(input)), config.joiner.failure(input, tuple.type.name, explore));
458
469
  };
@@ -462,18 +473,18 @@ var CheckerProgrammer;
462
473
  var decode_tuple_inline = function (project) {
463
474
  return function (config) {
464
475
  return function (importer) {
465
- return function (input, tuple, explore, tagList, jsDocTags) {
476
+ return function (input, tuple, explore) {
466
477
  var binaries = tuple.elements
467
478
  .filter(function (meta) { return meta.rest === null; })
468
479
  .map(function (meta, index) {
469
480
  return CheckerProgrammer.decode(project)(config)(importer)(typescript_1.default.factory.createElementAccessExpression(input, index), meta, __assign(__assign({}, explore), { from: "array", postfix: explore.postfix.length
470
481
  ? "".concat(explore.postfix.slice(0, -1), "[").concat(index, "]\"")
471
- : "\"[".concat(index, "]\"") }), tuple.of_map === true && index !== 1 ? [] : tagList, tuple.of_map === true && index !== 1 ? [] : jsDocTags);
482
+ : "\"[".concat(index, "]\"") }));
472
483
  });
473
484
  var rest = tuple.elements.length && tuple.elements.at(-1).rest !== null
474
485
  ? CheckerProgrammer.decode(project)(config)(importer)(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(input)("slice"), undefined, [
475
486
  typescript_1.default.factory.createNumericLiteral(tuple.elements.length - 1),
476
- ]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }), tagList, jsDocTags)
487
+ ]), (0, wrap_metadata_rest_tuple_1.wrap_metadata_rest_tuple)(tuple.elements.at(-1).rest), __assign(__assign({}, explore), { start: tuple.elements.length - 1 }))
477
488
  : null;
478
489
  var arrayLength = typescript_1.default.factory.createPropertyAccessExpression(input, "length");
479
490
  return config.combiner(explore)("and")(input, __spreadArray(__spreadArray(__spreadArray([], __read((rest === null
@@ -517,7 +528,7 @@ var CheckerProgrammer;
517
528
  var explore_sets = function (project) {
518
529
  return function (config) {
519
530
  return function (importer) {
520
- return function (input, sets, explore, tags, jsDocTags) {
531
+ return function (input, sets, explore) {
521
532
  return typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.set({
522
533
  checker: CheckerProgrammer.decode(project)(config)(importer),
523
534
  decoder: decode_array(project)(config)(importer),
@@ -526,7 +537,7 @@ var CheckerProgrammer;
526
537
  failure: function (input, expected, explore) {
527
538
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
528
539
  },
529
- })([])(input, sets, explore, tags, jsDocTags), undefined, undefined);
540
+ })([])(input, sets, explore), undefined, undefined);
530
541
  };
531
542
  };
532
543
  };
@@ -534,11 +545,11 @@ var CheckerProgrammer;
534
545
  var explore_maps = function (project) {
535
546
  return function (config) {
536
547
  return function (importer) {
537
- return function (input, maps, explore, tags, jsDocTags) {
548
+ return function (input, maps, explore) {
538
549
  return typescript_1.default.factory.createCallExpression(UnionExplorer_1.UnionExplorer.map({
539
550
  checker: function (input, entry, explore) {
540
551
  var func = CheckerProgrammer.decode(project)(config)(importer);
541
- return typescript_1.default.factory.createLogicalAnd(func(typescript_1.default.factory.createElementAccessExpression(input, 0), entry[0], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[0]") }), [], []), func(typescript_1.default.factory.createElementAccessExpression(input, 1), entry[1], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[1]") }), [], []));
552
+ return typescript_1.default.factory.createLogicalAnd(func(typescript_1.default.factory.createElementAccessExpression(input, 0), entry[0], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[0]") })), func(typescript_1.default.factory.createElementAccessExpression(input, 1), entry[1], __assign(__assign({}, explore), { postfix: "".concat(explore.postfix, "[1]") })));
542
553
  },
543
554
  decoder: decode_array(project)(config)(importer),
544
555
  empty: config.success,
@@ -546,7 +557,7 @@ var CheckerProgrammer;
546
557
  failure: function (input, expected, explore) {
547
558
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
548
559
  },
549
- })([])(input, maps, explore, tags, jsDocTags), undefined, undefined);
560
+ })([])(input, maps, explore), undefined, undefined);
550
561
  };
551
562
  };
552
563
  };
@@ -554,7 +565,7 @@ var CheckerProgrammer;
554
565
  var explore_tuples = function (project) {
555
566
  return function (config) {
556
567
  return function (importer) {
557
- return function (input, tuples, explore, tags, jsDocTags) {
568
+ return function (input, tuples, explore) {
558
569
  return explore_array_like_union_types(config)(importer)(UnionExplorer_1.UnionExplorer.tuple({
559
570
  checker: decode_tuple(project)(config)(importer),
560
571
  decoder: decode_tuple(project)(config)(importer),
@@ -563,7 +574,7 @@ var CheckerProgrammer;
563
574
  failure: function (input, expected, explore) {
564
575
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
565
576
  },
566
- }))(input, tuples, explore, tags, jsDocTags);
577
+ }))(input, tuples, explore);
567
578
  };
568
579
  };
569
580
  };
@@ -571,7 +582,7 @@ var CheckerProgrammer;
571
582
  var explore_arrays = function (project) {
572
583
  return function (config) {
573
584
  return function (importer) {
574
- return function (input, arrays, explore, tags, jsDocTags) {
585
+ return function (input, arrays, explore) {
575
586
  return explore_array_like_union_types(config)(importer)(UnionExplorer_1.UnionExplorer.array({
576
587
  checker: CheckerProgrammer.decode(project)(config)(importer),
577
588
  decoder: decode_array(project)(config)(importer),
@@ -580,7 +591,7 @@ var CheckerProgrammer;
580
591
  failure: function (input, expected, explore) {
581
592
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
582
593
  },
583
- }))(input, arrays, explore, tags, jsDocTags);
594
+ }))(input, arrays, explore);
584
595
  };
585
596
  };
586
597
  };
@@ -588,27 +599,34 @@ var CheckerProgrammer;
588
599
  var explore_arrays_and_tuples = function (project) {
589
600
  return function (config) {
590
601
  return function (importer) {
591
- return function (input, elements, explore, tags, jsDocTags) {
602
+ return function (input, elements, explore) {
592
603
  return explore_array_like_union_types(config)(importer)(UnionExplorer_1.UnionExplorer.array_or_tuple({
593
- checker: function (front, target, explore, tags, jsDocTags, array) {
604
+ checker: function (front, target, explore, array) {
594
605
  return target instanceof MetadataTuple_1.MetadataTuple
595
- ? decode_tuple(project)(config)(importer)(front, target, explore, tags, jsDocTags)
606
+ ? decode_tuple(project)(config)(importer)(front, target, explore)
596
607
  : config.atomist(explore)({
597
- expression: CheckerProgrammer.decode(project)(config)(importer)(front, target, explore, tags, jsDocTags),
598
- tags: (0, check_array_length_1.check_array_length)(tags)(array),
608
+ expected: elements
609
+ .map(function (elem) {
610
+ return elem instanceof MetadataArray_1.MetadataArray
611
+ ? elem.getName()
612
+ : elem.type.name;
613
+ })
614
+ .join(" | "),
615
+ expression: CheckerProgrammer.decode(project)(config)(importer)(front, target, explore),
616
+ conditions: [],
599
617
  })(array);
600
618
  },
601
- decoder: function (input, target, explore, tags, jsDocTags) {
619
+ decoder: function (input, target, explore) {
602
620
  return target instanceof MetadataTuple_1.MetadataTuple
603
- ? decode_tuple(project)(config)(importer)(input, target, explore, tags, jsDocTags)
604
- : decode_array(project)(config)(importer)(input, target, explore, tags, jsDocTags);
621
+ ? decode_tuple(project)(config)(importer)(input, target, explore)
622
+ : decode_array(project)(config)(importer)(input, target, explore);
605
623
  },
606
624
  empty: config.success,
607
625
  success: config.success,
608
626
  failure: function (input, expected, explore) {
609
627
  return typescript_1.default.factory.createReturnStatement(config.joiner.failure(input, expected, explore));
610
628
  },
611
- }))(input, elements, explore, tags, jsDocTags);
629
+ }))(input, elements, explore);
612
630
  };
613
631
  };
614
632
  };
@@ -616,11 +634,11 @@ var CheckerProgrammer;
616
634
  var explore_array_like_union_types = function (config) {
617
635
  return function (importer) {
618
636
  return function (factory) {
619
- return function (input, elements, explore, tags, jsDocTags) {
637
+ return function (input, elements, explore) {
620
638
  var arrow = function (parameters) {
621
639
  return function (explore) {
622
640
  return function (input) {
623
- return factory(parameters)(input, elements, explore, tags, jsDocTags);
641
+ return factory(parameters)(input, elements, explore);
624
642
  };
625
643
  };
626
644
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CheckerProgrammer.js","sourceRoot":"","sources":["../../src/programmers/CheckerProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CheckerProgrammer.js","sourceRoot":"","sources":["../../src/programmers/CheckerProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  import ts from "typescript";
2
2
  import { MetadataCollection } from "../factories/MetadataCollection";
3
- import { IJsDocTagInfo } from "../schemas/metadata/IJsDocTagInfo";
4
- import { IMetadataCommentTag } from "../schemas/metadata/IMetadataCommentTag";
5
3
  import { Metadata } from "../schemas/metadata/Metadata";
6
- import { MetadataArrayType } from "../schemas/metadata/MetadataArrayType";
4
+ import { MetadataArray } from "../schemas/metadata/MetadataArray";
7
5
  import { MetadataObject } from "../schemas/metadata/MetadataObject";
8
6
  import { IProject } from "../transformers/IProject";
9
7
  import { CheckerProgrammer } from "./CheckerProgrammer";
@@ -28,7 +26,7 @@ export declare namespace FeatureProgrammer {
28
26
  /**
29
27
  * Initializer of metadata.
30
28
  */
31
- initializer: (project: IProject) => (type: ts.Type) => [MetadataCollection, Metadata];
29
+ initializer: (project: IProject) => (importer: FunctionImporter) => (type: ts.Type) => [MetadataCollection, Metadata];
32
30
  /**
33
31
  * Decoder, station of every types.
34
32
  */
@@ -137,12 +135,12 @@ export declare namespace FeatureProgrammer {
137
135
  start?: number;
138
136
  }
139
137
  interface Decoder<T, Output extends ts.ConciseBody = ts.ConciseBody> {
140
- (input: ts.Expression, target: T, explore: IExplore, metaTags: IMetadataCommentTag[], jsDocTags: ts.JSDocTagInfo[]): Output;
138
+ (input: ts.Expression, target: T, explore: IExplore): Output;
141
139
  }
142
140
  const write: (project: IProject) => (config: IConfig) => (importer: FunctionImporter) => (type: ts.Type, name?: string) => ts.ArrowFunction;
143
141
  const write_object_functions: (config: IConfig) => (importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
144
142
  const write_union_functions: (config: IConfig) => (collection: MetadataCollection) => ts.VariableStatement[];
145
- const decode_array: (config: Pick<IConfig, "trace" | "path" | "decoder" | "prefix">) => (importer: FunctionImporter) => (combiner: (input: ts.Expression, arrow: ts.ArrowFunction, metaTags: IMetadataCommentTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression) => (input: ts.Expression, array: MetadataArrayType, explore: IExplore, metaTags: IMetadataCommentTag[], jsDocTags: IJsDocTagInfo[]) => ts.Expression;
143
+ const decode_array: (config: Pick<IConfig, "trace" | "path" | "decoder" | "prefix">) => (importer: FunctionImporter) => (combiner: (input: ts.Expression, arrow: ts.ArrowFunction) => ts.Expression) => (input: ts.Expression, array: MetadataArray, explore: IExplore) => ts.Expression;
146
144
  const decode_object: (config: Pick<IConfig, "trace" | "path" | "prefix">) => (importer: FunctionImporter) => (input: ts.Expression, obj: MetadataObject, explore: IExplore) => ts.CallExpression;
147
145
  const index: (start: number | null) => (prev: string) => (rand: string) => string;
148
146
  const argumentsArray: (config: Pick<IConfig, "path" | "trace">) => (explore: FeatureProgrammer.IExplore) => (input: ts.Expression) => ts.Expression[];
@@ -43,13 +43,13 @@ var FeatureProgrammer;
43
43
  return function (importer) {
44
44
  return function (type, name) {
45
45
  var _a, _b, _c, _d, _e, _f, _g;
46
- var _h = __read(config.initializer(project)(type), 2), collection = _h[0], meta = _h[1];
46
+ var _h = __read(config.initializer(project)(importer)(type), 2), collection = _h[0], meta = _h[1];
47
47
  var output = config.decoder()(ValueFactory_1.ValueFactory.INPUT(), meta, {
48
48
  tracable: config.path || config.trace,
49
49
  source: "top",
50
50
  from: "top",
51
51
  postfix: '""',
52
- }, [], []);
52
+ });
53
53
  var functions = {
54
54
  objects: ((_c = (_b = (_a = config.generator).objects) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : FeatureProgrammer.write_object_functions(config)(importer))(collection),
55
55
  unions: ((_f = (_e = (_d = config.generator).unions) === null || _e === void 0 ? void 0 : _e.call(_d)) !== null && _f !== void 0 ? _f : FeatureProgrammer.write_union_functions(config))(collection),
@@ -100,7 +100,7 @@ var FeatureProgrammer;
100
100
  source: "function",
101
101
  from: "object",
102
102
  postfix: "",
103
- }, [], []));
103
+ }));
104
104
  };
105
105
  };
106
106
  FeatureProgrammer.decode_array = function (config) {
@@ -112,17 +112,17 @@ var FeatureProgrammer;
112
112
  IdentifierFactory_1.IdentifierFactory.parameter("_index" + rand, TypeFactory_1.TypeFactory.keyword("number")),
113
113
  ]
114
114
  : [];
115
- return function (input, array, explore, metaTags, jsDocTags) {
115
+ return function (input, array, explore) {
116
116
  var _a;
117
117
  var arrow = typescript_1.default.factory.createArrowFunction(undefined, undefined, __spreadArray([
118
118
  IdentifierFactory_1.IdentifierFactory.parameter("elem", TypeFactory_1.TypeFactory.keyword("any"))
119
- ], __read(tail), false), undefined, undefined, config.decoder()(ValueFactory_1.ValueFactory.INPUT("elem"), array.value, {
119
+ ], __read(tail), false), undefined, undefined, config.decoder()(ValueFactory_1.ValueFactory.INPUT("elem"), array.type.value, {
120
120
  tracable: explore.tracable,
121
121
  source: explore.source,
122
122
  from: "array",
123
123
  postfix: FeatureProgrammer.index((_a = explore.start) !== null && _a !== void 0 ? _a : null)(explore.postfix)(rand),
124
- }, metaTags, jsDocTags));
125
- return combiner(input, arrow, metaTags, jsDocTags);
124
+ }));
125
+ return combiner(input, arrow);
126
126
  };
127
127
  };
128
128
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProgrammer.js","sourceRoot":"","sources":["../../src/programmers/FeatureProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureProgrammer.js","sourceRoot":"","sources":["../../src/programmers/FeatureProgrammer.ts"],"names":[],"mappings":"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"}