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
@@ -16,7 +16,7 @@ export declare namespace IsProgrammer {
16
16
  }
17
17
  const write: (project: IProject) => (modulo: ts.LeftHandSideExpression, disable?: boolean) => (equals: boolean) => (type: ts.Type, name?: string | undefined) => ts.ArrowFunction;
18
18
  const write_function_statements: (project: IProject) => (importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
19
- const decode: (project: IProject) => (importer: FunctionImporter) => (input: ts.Expression, meta: import("../schemas/metadata/Metadata").Metadata, explore: import("./FeatureProgrammer").FeatureProgrammer.IExplore, metaTags: import("../schemas/metadata/IMetadataCommentTag").IMetadataCommentTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression;
19
+ const decode: (project: IProject) => (importer: FunctionImporter) => (input: ts.Expression, meta: import("../schemas/metadata/Metadata").Metadata, explore: import("./FeatureProgrammer").FeatureProgrammer.IExplore) => ts.Expression;
20
20
  const decode_object: (importer: FunctionImporter) => (input: ts.Expression, obj: MetadataObject, explore: import("./FeatureProgrammer").FeatureProgrammer.IExplore) => ts.CallExpression;
21
21
  const decode_to_json: (checkNull: boolean) => (input: ts.Expression) => ts.Expression;
22
22
  const decode_functional: (input: ts.Expression) => ts.BinaryExpression;
@@ -56,14 +56,28 @@ var IsProgrammer;
56
56
  IsProgrammer.configure = function (options) {
57
57
  return function (importer) { return ({
58
58
  prefix: "$i",
59
+ equals: !!(options === null || options === void 0 ? void 0 : options.object),
59
60
  trace: false,
60
61
  path: false,
61
- equals: !!(options === null || options === void 0 ? void 0 : options.object),
62
62
  numeric: OptionPredicator_1.OptionPredicator.numeric({
63
63
  numeric: options === null || options === void 0 ? void 0 : options.numeric,
64
64
  }),
65
65
  atomist: function () { return function (entry) { return function () {
66
- return __spreadArray(__spreadArray([], __read((entry.expression ? [entry.expression] : [])), false), __read(entry.tags.map(function (tag) { return tag.expression; })), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
66
+ return __spreadArray(__spreadArray([], __read((entry.expression ? [entry.expression] : [])), false), __read((entry.conditions.length === 0
67
+ ? []
68
+ : [
69
+ entry.conditions
70
+ .map(function (set) {
71
+ return set
72
+ .map(function (s) { return s.expression; })
73
+ .reduce(function (a, b) {
74
+ return typescript_1.default.factory.createLogicalAnd(a, b);
75
+ });
76
+ })
77
+ .reduce(function (a, b) {
78
+ return typescript_1.default.factory.createLogicalOr(a, b);
79
+ }),
80
+ ])), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
67
81
  }; }; },
68
82
  combiner: function () { return function (type) {
69
83
  var initial = type === "and"
@@ -117,24 +131,23 @@ var IsProgrammer;
117
131
  })(importer),
118
132
  numeric: OptionPredicator_1.OptionPredicator.numeric(project.options),
119
133
  })(importer)), { trace: equals, addition: function () { return importer.declare(modulo); } });
120
- config.decoder =
121
- function () { return function (input, target, explore, tags, jsDocTags) {
122
- if (target.size() === 1 &&
123
- target.objects.length === 1 &&
124
- target.isRequired() === true &&
125
- target.nullable === false) {
126
- var obj = target.objects[0];
127
- if (obj._Is_simple(explore.from === "top" ? 0 : 1) &&
128
- (equals === false ||
129
- OptionPredicator_1.OptionPredicator.undefined(project.options) ===
130
- false))
131
- return typescript_1.default.factory.createLogicalAnd(ExpressionFactory_1.ExpressionFactory.isObject({
132
- checkNull: true,
133
- checkArray: false,
134
- })(input), config.joiner.object(typescript_1.default.factory.createAsExpression(input, TypeFactory_1.TypeFactory.keyword("any")), (0, feature_object_entries_1.feature_object_entries)(config)(importer)(obj)(typescript_1.default.factory.createAsExpression(input, TypeFactory_1.TypeFactory.keyword("any")), "top")));
135
- }
136
- return CheckerProgrammer_1.CheckerProgrammer.decode(project)(config)(importer)(input, target, explore, tags, jsDocTags);
137
- }; };
134
+ config.decoder = function () { return function (input, target, explore) {
135
+ if (target.size() === 1 &&
136
+ target.objects.length === 1 &&
137
+ target.isRequired() === true &&
138
+ target.nullable === false) {
139
+ var obj = target.objects[0];
140
+ if (obj._Is_simple(explore.from === "top" ? 0 : 1) &&
141
+ (equals === false ||
142
+ OptionPredicator_1.OptionPredicator.undefined(project.options) ===
143
+ false))
144
+ return typescript_1.default.factory.createLogicalAnd(ExpressionFactory_1.ExpressionFactory.isObject({
145
+ checkNull: true,
146
+ checkArray: false,
147
+ })(input), config.joiner.object(typescript_1.default.factory.createAsExpression(input, TypeFactory_1.TypeFactory.keyword("any")), (0, feature_object_entries_1.feature_object_entries)(config)(importer)(obj)(typescript_1.default.factory.createAsExpression(input, TypeFactory_1.TypeFactory.keyword("any")), "top")));
148
+ }
149
+ return CheckerProgrammer_1.CheckerProgrammer.decode(project)(config)(importer)(input, target, explore);
150
+ }; };
138
151
  return CheckerProgrammer_1.CheckerProgrammer.write(project)(config)(importer);
139
152
  };
140
153
  };
@@ -1 +1 @@
1
- {"version":3,"file":"IsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsProgrammer.ts"],"names":[],"mappings":"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"}
@@ -62,8 +62,11 @@ var TypeFactory_1 = require("../factories/TypeFactory");
62
62
  var Metadata_1 = require("../schemas/metadata/Metadata");
63
63
  var MetadataArray_1 = require("../schemas/metadata/MetadataArray");
64
64
  var MetadataArrayType_1 = require("../schemas/metadata/MetadataArrayType");
65
+ var MetadataAtomic_1 = require("../schemas/metadata/MetadataAtomic");
65
66
  var MetadataTuple_1 = require("../schemas/metadata/MetadataTuple");
66
67
  var MetadataTupleType_1 = require("../schemas/metadata/MetadataTupleType");
68
+ var TransformerError_1 = require("../transformers/TransformerError");
69
+ var Escaper_1 = require("../utils/Escaper");
67
70
  var FunctionImporeter_1 = require("./helpers/FunctionImporeter");
68
71
  var RandomJoiner_1 = require("./helpers/RandomJoiner");
69
72
  var RandomRanger_1 = require("./helpers/RandomRanger");
@@ -76,17 +79,21 @@ var RandomProgrammer;
76
79
  var importer = new FunctionImporeter_1.FunctionImporter(modulo.getText());
77
80
  return function (type, name) {
78
81
  var collection = new MetadataCollection_1.MetadataCollection();
79
- var meta = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
82
+ var result = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
80
83
  escape: false,
81
84
  constant: true,
82
85
  absorb: true,
83
86
  validate: function (meta) {
87
+ var output = [];
84
88
  if (meta.natives.some(function (n) { return n === "WeakSet"; }))
85
- throw new Error("Error on ".concat(modulo.getText(), "(): WeakSet is not supported."));
89
+ output.push("WeakSet is not supported.");
86
90
  else if (meta.natives.some(function (n) { return n === "WeakMap"; }))
87
- throw new Error("Error on ".concat(modulo.getText(), "(): WeakMap is not supported."));
91
+ output.push("WeakMap is not supported.");
92
+ return output;
88
93
  },
89
94
  })(collection)(type);
95
+ if (result.success === false)
96
+ throw TransformerError_1.TransformerError.from("typia.".concat(importer.method))(result.errors);
90
97
  var functions = {
91
98
  objects: write_object_functions(importer)(collection),
92
99
  arrays: write_array_functions(importer)(collection),
@@ -95,7 +102,7 @@ var RandomProgrammer;
95
102
  var output = decode(importer)({
96
103
  function: false,
97
104
  recursive: false,
98
- })(meta, [], []);
105
+ })(result.data);
99
106
  return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
100
107
  IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial<typia.IRandomGenerator>"), init !== null && init !== void 0 ? init : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)),
101
108
  ], typescript_1.default.factory.createTypeReferenceNode("typia.Resolved<".concat(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker)(type), ">")), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(functions.objects), false), __read(functions.arrays), false), __read(functions.tuples), false), [
@@ -134,7 +141,7 @@ var RandomProgrammer;
134
141
  }))({
135
142
  recursive: true,
136
143
  function: true,
137
- })(typescript_1.default.factory.createIdentifier("length"))(array.value, [], [])));
144
+ })(typescript_1.default.factory.createIdentifier("length"))(array.value)));
138
145
  });
139
146
  };
140
147
  };
@@ -150,13 +157,13 @@ var RandomProgrammer;
150
157
  ], TypeFactory_1.TypeFactory.keyword("any"), undefined, RandomJoiner_1.RandomJoiner.tuple(decode(importer)({
151
158
  function: true,
152
159
  recursive: true,
153
- }))(tuple.elements, [], [])));
160
+ }))(tuple.elements)));
154
161
  });
155
162
  };
156
163
  };
157
164
  var decode = function (importer) {
158
165
  return function (explore) {
159
- return function (meta, tags, comments) {
166
+ return function (meta) {
160
167
  var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h, e_9, _j, e_10, _k;
161
168
  var expressions = [];
162
169
  if (meta.any)
@@ -205,15 +212,15 @@ var RandomProgrammer;
205
212
  }
206
213
  try {
207
214
  for (var _s = __values(meta.atomics), _t = _s.next(); !_t.done; _t = _s.next()) {
208
- var a = _t.value;
209
- if (a.type === "boolean")
215
+ var atomic = _t.value;
216
+ if (atomic.type === "boolean")
210
217
  expressions.push(decode_boolean(importer));
211
- else if (a.type === "number")
212
- expressions.push(decode_number(importer)(tags, comments));
213
- else if (a.type === "string")
214
- expressions.push(decode_string(importer)(tags, comments));
215
- else if (a.type === "bigint")
216
- expressions.push(decode_bigint(importer)(tags, comments));
218
+ else if (atomic.type === "number")
219
+ expressions.push.apply(expressions, __spreadArray([], __read(decode_number(importer)(atomic)), false));
220
+ else if (atomic.type === "string")
221
+ expressions.push.apply(expressions, __spreadArray([], __read(decode_string(importer)(atomic)), false));
222
+ else if (atomic.type === "bigint")
223
+ expressions.push.apply(expressions, __spreadArray([], __read(decode_bigint(importer)(atomic)), false));
217
224
  }
218
225
  }
219
226
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
@@ -224,11 +231,11 @@ var RandomProgrammer;
224
231
  finally { if (e_4) throw e_4.error; }
225
232
  }
226
233
  if (meta.escaped)
227
- expressions.push(decode(importer)(explore)(meta.escaped.returns, tags, comments));
234
+ expressions.push(decode(importer)(explore)(meta.escaped.returns));
228
235
  try {
229
236
  for (var _u = __values(meta.arrays), _v = _u.next(); !_v.done; _v = _u.next()) {
230
237
  var array = _v.value;
231
- expressions.push(decode_array(importer)(explore)(array, tags, comments));
238
+ expressions.push.apply(expressions, __spreadArray([], __read(decode_array(importer)(explore)(array)), false));
232
239
  }
233
240
  }
234
241
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
@@ -241,7 +248,7 @@ var RandomProgrammer;
241
248
  try {
242
249
  for (var _w = __values(meta.tuples), _x = _w.next(); !_x.done; _x = _w.next()) {
243
250
  var tuple = _x.value;
244
- expressions.push(decode_tuple(importer)(explore)(tuple, tags, comments));
251
+ expressions.push(decode_tuple(importer)(explore)(tuple));
245
252
  }
246
253
  }
247
254
  catch (e_6_1) { e_6 = { error: e_6_1 }; }
@@ -267,7 +274,7 @@ var RandomProgrammer;
267
274
  try {
268
275
  for (var _0 = __values(meta.natives), _1 = _0.next(); !_1.done; _1 = _0.next()) {
269
276
  var native = _1.value;
270
- expressions.push(decode_native(importer)(native, tags, comments));
277
+ expressions.push(decode_native(importer)(native));
271
278
  }
272
279
  }
273
280
  catch (e_8_1) { e_8 = { error: e_8_1 }; }
@@ -280,7 +287,7 @@ var RandomProgrammer;
280
287
  try {
281
288
  for (var _2 = __values(meta.sets), _3 = _2.next(); !_3.done; _3 = _2.next()) {
282
289
  var set = _3.value;
283
- expressions.push(decode_set(importer)(explore)(set, tags, comments));
290
+ expressions.push(decode_set(importer)(explore)(set));
284
291
  }
285
292
  }
286
293
  catch (e_9_1) { e_9 = { error: e_9_1 }; }
@@ -293,7 +300,7 @@ var RandomProgrammer;
293
300
  try {
294
301
  for (var _4 = __values(meta.maps), _5 = _4.next(); !_5.done; _5 = _4.next()) {
295
302
  var map = _5.value;
296
- expressions.push(decode_map(importer)(explore)(map, tags, comments));
303
+ expressions.push(decode_map(importer)(explore)(map));
297
304
  }
298
305
  }
299
306
  catch (e_10_1) { e_10 = { error: e_10_1 }; }
@@ -328,135 +335,142 @@ var RandomProgrammer;
328
335
  var decode_template = function (importer) {
329
336
  return function (explore) {
330
337
  return function (template) {
331
- return TemplateFactory_1.TemplateFactory.generate(template.map(function (meta) { return decode(importer)(explore)(meta, [], []); }));
338
+ return TemplateFactory_1.TemplateFactory.generate(template.map(function (meta) { return decode(importer)(explore)(meta); }));
332
339
  };
333
340
  };
334
341
  };
335
342
  var decode_number = function (importer) {
336
- return function (tags, comments) {
337
- var type = tags.find(function (t) {
338
- return t.kind === "type" &&
339
- (t.value === "int" ||
340
- t.value === "int32" ||
341
- t.value === "int64");
342
- })
343
- ? "int"
344
- : tags.find(function (t) {
343
+ return function (atomic) {
344
+ return (atomic.tags.length ? atomic.tags : [[]]).map(function (tags) {
345
+ var type = tags.find(function (t) {
345
346
  return t.kind === "type" &&
346
- (t.value === "uint" ||
347
- t.value === "uint32" ||
348
- t.value === "uint64");
347
+ (t.value === "int32" || t.value === "int64");
349
348
  })
350
- ? "uint"
351
- : "double";
352
- return (0, random_custom_1.random_custom)(COALESCE(importer))("number")(comments)(RandomRanger_1.RandomRanger.number({
353
- type: type,
354
- transform: function (value) {
355
- return typescript_1.default.factory.createNumericLiteral(value);
356
- },
357
- setter: function (args) {
358
- return typescript_1.default.factory.createCallExpression(type === "double" &&
359
- tags.every(function (t) {
360
- return t.kind !== "multipleOf" &&
361
- t.kind !== "step";
362
- })
363
- ? COALESCE(importer)("number")
364
- : COALESCE(importer)("integer"), undefined, args.map(function (val) {
365
- return typescript_1.default.factory.createNumericLiteral(val);
366
- }));
367
- },
368
- })({
369
- minimum: 0,
370
- maximum: 100,
371
- gap: 10,
372
- })(tags));
349
+ ? "int"
350
+ : tags.find(function (t) {
351
+ return t.kind === "type" &&
352
+ (t.value === "uint32" || t.value === "uint64");
353
+ })
354
+ ? "uint"
355
+ : "double";
356
+ var multiply = tags.find(function (t) { return t.kind === "multipleOf"; });
357
+ return (0, random_custom_1.random_custom)(COALESCE(importer))("number")(tags)(RandomRanger_1.RandomRanger.number({
358
+ type: type,
359
+ transform: function (value) {
360
+ return typescript_1.default.factory.createNumericLiteral(value);
361
+ },
362
+ setter: function (args) {
363
+ return typescript_1.default.factory.createCallExpression(type !== "double" || multiply !== undefined
364
+ ? COALESCE(importer)("integer")
365
+ : COALESCE(importer)("number"), undefined, args.map(function (val) {
366
+ return typescript_1.default.factory.createNumericLiteral(val);
367
+ }));
368
+ },
369
+ })({
370
+ minimum: 0,
371
+ maximum: 100,
372
+ gap: 10,
373
+ })(tags));
374
+ });
373
375
  };
374
376
  };
375
377
  var decode_bigint = function (importer) {
376
- return function (tags, comments) {
377
- return (0, random_custom_1.random_custom)(COALESCE(importer))("bigint")(comments)(RandomRanger_1.RandomRanger.number({
378
- type: tags.find(function (t) {
379
- return t.kind === "type" &&
380
- (t.value === "uint" || t.value === "uint64");
381
- })
382
- ? "uint"
383
- : "int",
384
- transform: function (value) { return ExpressionFactory_1.ExpressionFactory.bigint(value); },
385
- setter: function (args) {
386
- return typescript_1.default.factory.createCallExpression(COALESCE(importer)("bigint"), undefined, args.map(function (value) {
387
- return ExpressionFactory_1.ExpressionFactory.bigint(value);
388
- }));
389
- },
390
- })({
391
- minimum: 0,
392
- maximum: 100,
393
- gap: 10,
394
- })(tags));
378
+ return function (atomic) {
379
+ return (atomic.tags.length ? atomic.tags : [[]]).map(function (tags) {
380
+ return (0, random_custom_1.random_custom)(COALESCE(importer))("bigint")(tags)(RandomRanger_1.RandomRanger.number({
381
+ type: tags.find(function (t) {
382
+ return t.kind === "type" &&
383
+ (t.value === "uint" || t.value === "uint64");
384
+ })
385
+ ? "uint"
386
+ : "int",
387
+ transform: function (value) { return ExpressionFactory_1.ExpressionFactory.bigint(value); },
388
+ setter: function (args) {
389
+ return typescript_1.default.factory.createCallExpression(COALESCE(importer)("bigint"), undefined, args.map(function (value) {
390
+ return ExpressionFactory_1.ExpressionFactory.bigint(value);
391
+ }));
392
+ },
393
+ })({
394
+ minimum: 0,
395
+ maximum: 100,
396
+ gap: 10,
397
+ })(tags));
398
+ });
395
399
  };
396
400
  };
397
401
  var decode_string = function (importer) {
398
- return function (tags, comments) {
399
- return (0, random_custom_1.random_custom)(COALESCE(importer))("string")(comments)((function () {
400
- var e_11, _a;
401
- try {
402
- for (var tags_1 = __values(tags), tags_1_1 = tags_1.next(); !tags_1_1.done; tags_1_1 = tags_1.next()) {
403
- var t = tags_1_1.value;
404
- if (t.kind === "format")
405
- return typescript_1.default.factory.createCallExpression(COALESCE(importer)(t.value), undefined, undefined);
406
- else if (t.kind === "pattern")
407
- return typescript_1.default.factory.createCallExpression(COALESCE(importer)("pattern"), undefined, [typescript_1.default.factory.createIdentifier("/".concat(t.value, "/"))]);
408
- }
409
- }
410
- catch (e_11_1) { e_11 = { error: e_11_1 }; }
411
- finally {
402
+ return function (atomic) {
403
+ return (atomic.tags.length ? atomic.tags : [[]]).map(function (tags) {
404
+ return (0, random_custom_1.random_custom)(COALESCE(importer))("string")(tags)((function () {
405
+ var e_11, _a;
412
406
  try {
413
- if (tags_1_1 && !tags_1_1.done && (_a = tags_1.return)) _a.call(tags_1);
407
+ for (var tags_1 = __values(tags), tags_1_1 = tags_1.next(); !tags_1_1.done; tags_1_1 = tags_1.next()) {
408
+ var t = tags_1_1.value;
409
+ if (t.kind === "format")
410
+ return typescript_1.default.factory.createCallExpression(COALESCE(importer)(t.value === "date-time"
411
+ ? "datetime"
412
+ : t.value), undefined, undefined);
413
+ else if (t.kind === "pattern")
414
+ return typescript_1.default.factory.createCallExpression(COALESCE(importer)("pattern"), undefined, [
415
+ typescript_1.default.factory.createIdentifier("/".concat(t.value, "/")),
416
+ ]);
417
+ }
414
418
  }
415
- finally { if (e_11) throw e_11.error; }
416
- }
417
- var tail = RandomRanger_1.RandomRanger.length(COALESCE(importer))({
418
- minimum: 5,
419
- maximum: 25,
420
- gap: 5,
421
- })({
422
- fixed: "length",
423
- minimum: "minLength",
424
- maximum: "maxLength",
425
- })(tags);
426
- return typescript_1.default.factory.createCallExpression(COALESCE(importer)("string"), undefined, tail ? [tail] : undefined);
427
- })());
419
+ catch (e_11_1) { e_11 = { error: e_11_1 }; }
420
+ finally {
421
+ try {
422
+ if (tags_1_1 && !tags_1_1.done && (_a = tags_1.return)) _a.call(tags_1);
423
+ }
424
+ finally { if (e_11) throw e_11.error; }
425
+ }
426
+ var tail = RandomRanger_1.RandomRanger.length(COALESCE(importer))({
427
+ minimum: 5,
428
+ maximum: 25,
429
+ gap: 5,
430
+ })({
431
+ minimum: "minLength",
432
+ maximum: "maxLength",
433
+ })(tags);
434
+ return typescript_1.default.factory.createCallExpression(COALESCE(importer)("string"), undefined, tail ? [tail] : undefined);
435
+ })());
436
+ });
428
437
  };
429
438
  };
430
439
  var decode_array = function (importer) {
431
440
  return function (explore) {
432
- return function (array, tags, comments) {
433
- var length = RandomRanger_1.RandomRanger.length(COALESCE(importer))({
434
- minimum: 0,
435
- maximum: 3,
436
- gap: 3,
437
- })({
438
- fixed: "items",
439
- minimum: "minItems",
440
- maximum: "maxItems",
441
- })(tags);
441
+ return function (array) {
442
+ var lengths = (array.tags.length ? array.tags : [[]]).map(function (tags) {
443
+ return RandomRanger_1.RandomRanger.length(COALESCE(importer))({
444
+ minimum: 0,
445
+ maximum: 3,
446
+ gap: 3,
447
+ })({
448
+ minimum: "minItems",
449
+ maximum: "maxItems",
450
+ })(tags);
451
+ });
442
452
  if (array.type.recursive)
443
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal(PREFIX.array(array.type.index))), undefined, [
444
- length !== null && length !== void 0 ? length : COALESCE(importer)("length"),
445
- typescript_1.default.factory.createTrue(),
446
- explore.recursive
447
- ? typescript_1.default.factory.createAdd(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("_depth"))
448
- : typescript_1.default.factory.createNumericLiteral(0),
449
- ]);
450
- var expr = RandomJoiner_1.RandomJoiner.array(COALESCE(importer))(decode(importer)(explore))(explore)(length)(array.type.value, tags, comments);
451
- return explore.recursive
452
- ? typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createIdentifier("_recursive"), typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(5), typescript_1.default.factory.createIdentifier("_depth"))), undefined, typescript_1.default.factory.createIdentifier("[]"), undefined, expr)
453
- : expr;
453
+ return lengths.map(function (len) {
454
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal(PREFIX.array(array.type.index))), undefined, [
455
+ len !== null && len !== void 0 ? len : COALESCE(importer)("length"),
456
+ typescript_1.default.factory.createTrue(),
457
+ explore.recursive
458
+ ? typescript_1.default.factory.createAdd(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("_depth"))
459
+ : typescript_1.default.factory.createNumericLiteral(0),
460
+ ]);
461
+ });
462
+ return lengths.map(function (len) {
463
+ var expr = RandomJoiner_1.RandomJoiner.array(COALESCE(importer))(decode(importer)(explore))(explore)(len)(array.type.value);
464
+ return explore.recursive
465
+ ? typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createIdentifier("_recursive"), typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(5), typescript_1.default.factory.createIdentifier("_depth"))), undefined, typescript_1.default.factory.createIdentifier("[]"), undefined, expr)
466
+ : expr;
467
+ });
454
468
  };
455
469
  };
456
470
  };
457
471
  var decode_tuple = function (importer) {
458
472
  return function (explore) {
459
- return function (tuple, tags, comments) {
473
+ return function (tuple) {
460
474
  return tuple.type.recursive
461
475
  ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal(PREFIX.tuple(tuple.type.index))), undefined, [
462
476
  typescript_1.default.factory.createTrue(),
@@ -464,7 +478,7 @@ var RandomProgrammer;
464
478
  ? typescript_1.default.factory.createAdd(typescript_1.default.factory.createNumericLiteral(1), typescript_1.default.factory.createIdentifier("_depth"))
465
479
  : typescript_1.default.factory.createNumericLiteral(0),
466
480
  ])
467
- : RandomJoiner_1.RandomJoiner.tuple(decode(importer)(explore))(tuple.type.elements, tags, comments);
481
+ : RandomJoiner_1.RandomJoiner.tuple(decode(importer)(explore))(tuple.type.elements);
468
482
  };
469
483
  };
470
484
  };
@@ -484,7 +498,7 @@ var RandomProgrammer;
484
498
  };
485
499
  var decode_set = function (importer) {
486
500
  return function (explore) {
487
- return function (meta, tags, comments) {
501
+ return function (meta) {
488
502
  return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Set"), undefined, [
489
503
  decode_array(importer)(explore)(MetadataArray_1.MetadataArray.create({
490
504
  tags: [],
@@ -495,30 +509,33 @@ var RandomProgrammer;
495
509
  nullables: [],
496
510
  name: "Set<".concat(meta.getName(), ">"),
497
511
  }),
498
- }), tags, comments),
512
+ }))[0],
499
513
  ]);
500
514
  };
501
515
  };
502
516
  };
503
517
  var decode_map = function (importer) {
504
518
  return function (explore) {
505
- return function (m, tags, comments) {
519
+ return function (map) {
506
520
  return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Map"), undefined, [
507
521
  decode_array(importer)(explore)(MetadataArray_1.MetadataArray.create({
508
522
  tags: [],
509
523
  type: MetadataArrayType_1.MetadataArrayType.create({
510
- name: "Map<".concat(m.key.getName(), ", ").concat(m.value.getName(), ">"),
524
+ name: "Map<".concat(map.key.getName(), ", ").concat(map.value.getName(), ">"),
511
525
  index: null,
512
526
  recursive: false,
513
527
  nullables: [],
514
528
  value: Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { tuples: [
515
529
  (function () {
516
530
  var type = MetadataTupleType_1.MetadataTupleType.create({
517
- name: "[".concat(m.key.getName(), ", ").concat(m.value.getName(), "]"),
531
+ name: "[".concat(map.key.getName(), ", ").concat(map.value.getName(), "]"),
518
532
  index: null,
519
533
  recursive: false,
520
534
  nullables: [],
521
- elements: [m.key, m.value],
535
+ elements: [
536
+ map.key,
537
+ map.value,
538
+ ],
522
539
  });
523
540
  type.of_map = true;
524
541
  return MetadataTuple_1.MetadataTuple.create({
@@ -528,19 +545,25 @@ var RandomProgrammer;
528
545
  })(),
529
546
  ] })),
530
547
  }),
531
- }), tags, comments),
548
+ }))[0],
532
549
  ]);
533
550
  };
534
551
  };
535
552
  };
536
553
  var decode_native = function (importer) {
537
- return function (type, tags, comments) {
554
+ return function (type) {
538
555
  if (type === "Boolean")
539
556
  return decode_boolean(importer);
540
557
  else if (type === "Number")
541
- return decode_number(importer)(tags, comments);
558
+ return decode_number(importer)(MetadataAtomic_1.MetadataAtomic.create({
559
+ type: "number",
560
+ tags: [],
561
+ }))[0];
542
562
  else if (type === "String")
543
- return decode_string(importer)(tags, comments);
563
+ return decode_string(importer)(MetadataAtomic_1.MetadataAtomic.create({
564
+ type: "string",
565
+ tags: [],
566
+ }))[0];
544
567
  else if (type === "Date")
545
568
  return decode_native_date(importer);
546
569
  else if (type === "Uint8Array" ||
@@ -642,6 +665,8 @@ var PREFIX = {
642
665
  tuple: function (i) { return "$rt".concat(i); },
643
666
  };
644
667
  var COALESCE = function (importer) { return function (name) {
645
- return ExpressionFactory_1.ExpressionFactory.coalesce(typescript_1.default.factory.createPropertyAccessChain(typescript_1.default.factory.createIdentifier("generator"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createIdentifier(name)))(IdentifierFactory_1.IdentifierFactory.access(importer.use("generator"))(name));
668
+ return ExpressionFactory_1.ExpressionFactory.coalesce(Escaper_1.Escaper.variable(name)
669
+ ? typescript_1.default.factory.createPropertyAccessChain(typescript_1.default.factory.createIdentifier("generator"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createIdentifier(name))
670
+ : typescript_1.default.factory.createElementAccessChain(typescript_1.default.factory.createIdentifier("generator"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createStringLiteral(name)))(IdentifierFactory_1.IdentifierFactory.access(importer.use("generator"))(name));
646
671
  }; };
647
672
  //# sourceMappingURL=RandomProgrammer.js.map