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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetadataAtomic.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataAtomic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;IASI,wBAAoB,KAAsC;QACtD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEa,qBAAM,GAApB,UACI,KAAsC;QAEtC,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAEM,gCAAO,GAAd;QAAA,iBAgBC;;QAfG,OAAO,OAAC,IAAI,CAAC,KAAK,oCAAV,IAAI,CAAC,KAAK,GAAK,CAAC;YACpB,IAAI,KAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,KAAI,CAAC,IAAI,CAAC;iBACxC,IAAI,KAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC7B,IAAM,GAAG,GAAW;oBAChB,KAAI,CAAC,IAAI;0BACN,KAAI,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,UACrC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO,WAAI,GAAG,MAAG,CAAC;aACrB;YACD,IAAM,IAAI,GAAa,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG;gBACrC,IAAM,GAAG,GAAW,GAAG,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvD,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAI,GAAG,MAAG,CAAC;YAC/C,CAAC,CAAC,CAAC;YACH,OAAO,WAAI,KAAI,CAAC,IAAI,iBAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAI,CAAC;QACpD,CAAC,CAAC,EAAE,EAAC,CAAC;IACV,CAAC;IACL,qBAAC;AAAD,CAAC,AArCD,IAqCC;AArCY,wCAAc"}
@@ -1,12 +1,10 @@
1
1
  import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
- import { IMetadataCommentTag } from "./IMetadataCommentTag";
3
2
  import { IMetadataProperty } from "./IMetadataProperty";
4
3
  import { Metadata } from "./Metadata";
5
4
  export declare class MetadataProperty {
6
5
  readonly key: Metadata;
7
6
  readonly value: Metadata;
8
7
  readonly description: string | null;
9
- readonly tags: IMetadataCommentTag[];
10
8
  readonly jsDocTags: IJsDocTagInfo[];
11
9
  /**
12
10
  * @hidden
@@ -7,7 +7,6 @@ var MetadataProperty = (function () {
7
7
  this.key = props.key;
8
8
  this.value = props.value;
9
9
  this.description = props.description;
10
- this.tags = props.tags;
11
10
  this.jsDocTags = props.jsDocTags;
12
11
  }
13
12
  MetadataProperty.create = function (props) {
@@ -18,7 +17,6 @@ var MetadataProperty = (function () {
18
17
  key: Metadata_1.Metadata._From(property.key, dict),
19
18
  value: Metadata_1.Metadata._From(property.value, dict),
20
19
  description: property.description,
21
- tags: property.tags.slice(),
22
20
  jsDocTags: property.jsDocTags.slice(),
23
21
  });
24
22
  };
@@ -27,7 +25,6 @@ var MetadataProperty = (function () {
27
25
  key: this.key.toJSON(),
28
26
  value: this.value.toJSON(),
29
27
  description: this.description,
30
- tags: this.tags,
31
28
  jsDocTags: this.jsDocTags,
32
29
  };
33
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataProperty.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataProperty.ts"],"names":[],"mappings":";;;AAMA,uCAAsC;AAEtC;IAaI,0BAAoB,KAAwC;QACxD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,CAAC;IAKa,uBAAM,GAApB,UACI,KAAwC;QAExC,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAKa,sBAAK,GAAnB,UACI,QAA2B,EAC3B,IAAyB;QAEzB,OAAO,IAAI,CAAC,MAAM,CAAC;YACf,GAAG,EAAE,mBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;YACvC,KAAK,EAAE,mBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAC3C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;SACxC,CAAC,CAAC;IACP,CAAC;IAEM,iCAAM,GAAb;QACI,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IACL,uBAAC;AAAD,CAAC,AAvDD,IAuDC;AAvDY,4CAAgB"}
1
+ {"version":3,"file":"MetadataProperty.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataProperty.ts"],"names":[],"mappings":";;;AAKA,uCAAsC;AAEtC;IAYI,0BAAoB,KAAwC;QACxD,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,CAAC;IAKa,uBAAM,GAApB,UACI,KAAwC;QAExC,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAKa,sBAAK,GAAnB,UACI,QAA2B,EAC3B,IAAyB;QAEzB,OAAO,IAAI,CAAC,MAAM,CAAC;YACf,GAAG,EAAE,mBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;YACvC,KAAK,EAAE,mBAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAC3C,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE;SACxC,CAAC,CAAC;IACP,CAAC;IAEM,iCAAM,GAAb;QACI,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC1B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;SAC5B,CAAC;IACN,CAAC;IACL,uBAAC;AAAD,CAAC,AAnDD,IAmDC;AAnDY,4CAAgB"}
@@ -1,10 +1,12 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
1
  import { IMetadataTuple } from "./IMetadataTuple";
3
2
  import { IMetadataTypeTag } from "./IMetadataTypeTag";
4
3
  import { MetadataTupleType } from "./MetadataTupleType";
5
4
  export declare class MetadataTuple {
6
5
  readonly type: MetadataTupleType;
7
6
  readonly tags: IMetadataTypeTag[][];
8
- static create(props: ClassProperties<MetadataTuple>): MetadataTuple;
7
+ /**
8
+ * @hidden
9
+ */
10
+ private constructor();
9
11
  toJSON(): IMetadataTuple;
10
12
  }
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MetadataTuple = void 0;
4
- var _clone_1 = require("../../functional/$clone");
5
4
  var MetadataTuple = (function () {
6
5
  function MetadataTuple(props) {
7
6
  this.type = props.type;
@@ -13,7 +12,7 @@ var MetadataTuple = (function () {
13
12
  MetadataTuple.prototype.toJSON = function () {
14
13
  return {
15
14
  type: this.type.toJSON(),
16
- tags: (0, _clone_1.$clone)(this.tags),
15
+ tags: this.tags.map(function (row) { return row.slice(); }),
17
16
  };
18
17
  };
19
18
  return MetadataTuple;
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataTuple.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataTuple.ts"],"names":[],"mappings":";;;AAAA,kDAAiD;AAQjD;IAOI,uBAAoB,KAAqC;QACrD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEa,oBAAM,GAApB,UAAqB,KAAqC;QACtD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAEM,8BAAM,GAAb;QACI,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,EAAE,IAAA,eAAM,EAAC,IAAI,CAAC,IAAI,CAAC;SAC1B,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,sCAAa"}
1
+ {"version":3,"file":"MetadataTuple.js","sourceRoot":"","sources":["../../../src/schemas/metadata/MetadataTuple.ts"],"names":[],"mappings":";;;AAMA;IAOI,uBAAoB,KAAqC;QACrD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAKa,oBAAM,GAApB,UAAqB,KAAqC;QACtD,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAEM,8BAAM,GAAb;QACI,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,KAAK,EAAE,EAAX,CAAW,CAAC;SAC5C,CAAC;IACN,CAAC;IACL,oBAAC;AAAD,CAAC,AAzBD,IAyBC;AAzBY,sCAAa"}
@@ -1,8 +1,10 @@
1
- export type ExclusiveMaximum<Fixed extends number | bigint> = {
2
- "typia.tag"?: {
3
- target: Fixed extends number ? "number" : "bigint";
4
- kind: "exclusiveMaximum";
5
- value: Fixed;
6
- validate?: `$input < ${Fixed}`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type ExclusiveMaximum<Value extends number | bigint> = TagBase<{
3
+ target: Value extends number ? "number" : "bigint";
4
+ kind: "exclusiveMaximum";
5
+ value: Value;
6
+ validate: `$input < ${Numeric<Value>}`;
7
+ exclusive: ["exclusiveMaximum", "maximum"];
8
+ }>;
9
+ type Numeric<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
10
+ export {};
@@ -1,8 +1,10 @@
1
- export type ExclusiveMinimum<Fixed extends number | bigint> = {
2
- "typia.tag"?: {
3
- target: Fixed extends number ? "number" : "bigint";
4
- kind: "exclusiveMinimum";
5
- value: Fixed;
6
- validate?: `${Fixed} < $input`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type ExclusiveMinimum<Value extends number | bigint> = TagBase<{
3
+ target: Value extends number ? "number" : "bigint";
4
+ kind: "exclusiveMinimum";
5
+ value: Value;
6
+ validate: `${Numeric<Value>} < $input`;
7
+ exclusive: ["exclusiveMinimum", "minimum"];
8
+ }>;
9
+ type Numeric<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
10
+ export {};
@@ -1,8 +1,8 @@
1
- export type Format<Value extends "email" | "uuid" | "ipv4" | "ipv6" | "url" | "date" | "date-time"> = {
2
- "typia.tag"?: {
3
- target: "string";
4
- kind: "format";
5
- value: Value;
6
- validate: Value extends "email" ? `/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i.test($input)` : Value extends "uuid" ? `/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test($input)` : Value extends "ipv4" ? `/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test($input)` : Value extends "ipv6" ? `/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test($input)` : Value extends "url" ? `/^[a-zA-Z0-9]+:\/\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test($input)` : Value extends "date" ? `/^(\d{4})-(\d{2})-(\d{2})$/.test($input)` : `!isNaN(new Date($input).getTime())`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type Format<Value extends "email" | "uuid" | "ipv4" | "ipv6" | "url" | "date" | "date-time"> = TagBase<{
3
+ target: "string";
4
+ kind: "format";
5
+ value: Value;
6
+ validate: Value extends "email" ? `/^(([^<>()[\\]\\.,;:\\s@\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$/i.test($input)` : Value extends "uuid" ? `/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test($input)` : Value extends "ipv4" ? `/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test($input)` : Value extends "ipv6" ? `/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test($input)` : Value extends "url" ? `/^[a-zA-Z0-9]+:\\/\\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test($input)` : Value extends "date" ? `/^(\\d{4})-(\\d{2})-(\\d{2})$/.test($input)` : `!isNaN(new Date($input).getTime())`;
7
+ exclusive: ["pattern"];
8
+ }>;
@@ -1,8 +1,8 @@
1
- export type MaxItems<Size extends number> = {
2
- "typia.tag"?: {
3
- target: "array";
4
- kind: "maxItems";
5
- value: Size;
6
- validate: `$input.length <= ${Size}`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type MaxItems<Value extends number> = TagBase<{
3
+ target: "array";
4
+ kind: "maxItems";
5
+ value: Value;
6
+ validate: `$input.length <= ${Value}`;
7
+ exclusive: true;
8
+ }>;
@@ -1,8 +1,8 @@
1
- export type MaxLength<Fixed extends number> = {
2
- "typia.tag"?: {
3
- target: "array";
4
- kind: "maxLength";
5
- value: number;
6
- validate: `$input.length <= ${Fixed}`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type MaxLength<Value extends number> = TagBase<{
3
+ target: "string";
4
+ kind: "maxLength";
5
+ value: Value;
6
+ validate: `$input.length <= ${Value}`;
7
+ exclusive: true;
8
+ }>;
@@ -1,8 +1,10 @@
1
- export type Maximum<Fixed extends number | bigint> = {
2
- "typia.tag"?: {
3
- target: Fixed extends number ? "number" : "bigint";
4
- kind: "maximum";
5
- value: Fixed;
6
- validate: `$input <= ${Fixed}`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type Maximum<Value extends number | bigint> = TagBase<{
3
+ target: Value extends number ? "number" : "bigint";
4
+ kind: "maximum";
5
+ value: Value;
6
+ validate: `$input <= ${Numeric<Value>}`;
7
+ exclusive: ["maximum", "exclusiveMaximum"];
8
+ }>;
9
+ type Numeric<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
10
+ export {};
@@ -1,8 +1,8 @@
1
- export type MinItems<Size extends number> = {
2
- "typia.tag"?: {
3
- target: "array";
4
- kind: "minItems";
5
- value: Size;
6
- validate: `${Size} <= $input.length`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type MinItems<Value extends number> = TagBase<{
3
+ target: "array";
4
+ kind: "minItems";
5
+ value: Value;
6
+ validate: `${Value} <= $input.length`;
7
+ exclusive: true;
8
+ }>;
@@ -1,8 +1,8 @@
1
- export type MinLength<Fixed extends number> = {
2
- "typia.tag"?: {
3
- target: "array";
4
- kind: "minLength";
5
- value: number;
6
- validate: `${Fixed} <= $input.length`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type MinLength<Value extends number> = TagBase<{
3
+ target: "string";
4
+ kind: "minLength";
5
+ value: Value;
6
+ validate: `${Value} <= $input.length`;
7
+ exclusive: true;
8
+ }>;
@@ -1,8 +1,10 @@
1
- export type Minimum<Fixed extends number | bigint> = {
2
- "typia.tag"?: {
3
- target: Fixed extends number ? "number" : "bigint";
4
- kind: "minimum";
5
- value: Fixed;
6
- validate?: `${Fixed} <= $input`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type Minimum<Value extends number | bigint> = TagBase<{
3
+ target: Value extends number ? "number" : "bigint";
4
+ kind: "minimum";
5
+ value: Value;
6
+ validate: `${Numeric<Value>} <= $input`;
7
+ exclusive: ["minimum", "exclusiveMinimum"];
8
+ }>;
9
+ type Numeric<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
10
+ export {};
@@ -1,8 +1,10 @@
1
- export type MultipleOf<Fixed extends number | bigint> = {
2
- "typia.tag"?: {
3
- target: Fixed extends bigint ? "bigint" : "number";
4
- kind: "multipleOf";
5
- value: Fixed;
6
- validate: `$input % ${Fixed} === ${Fixed extends bigint ? "bigint" : "number"}`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type MultipleOf<Value extends number | bigint> = TagBase<{
3
+ target: Value extends bigint ? "bigint" : "number";
4
+ kind: "multipleOf";
5
+ value: Value;
6
+ validate: `$input % ${Numeric<Value>} === ${Value extends bigint ? Numeric<0n> : 0}`;
7
+ exclusive: true;
8
+ }>;
9
+ type Numeric<Value extends number | bigint> = Value extends number ? Value : `BigInt(${Value})`;
10
+ export {};
@@ -1,8 +1,7 @@
1
- export type Pattern<Value extends string> = {
2
- "typia.tag"?: {
3
- target: "string";
4
- kind: "pattern";
5
- value: Value;
6
- validate: `RegExp(/${Value}/).test($input)`;
7
- };
8
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type Pattern<Value extends string> = TagBase<{
3
+ target: "string";
4
+ kind: "pattern";
5
+ value: Value;
6
+ validate: `/${Value}/.test($input)`;
7
+ }>;
@@ -1,10 +1,14 @@
1
- export type TagBase<Target extends "bigint" | "number" | "string" | "array", Kind extends string, Value extends boolean | bigint | number | string, Validate extends string | {
2
- [key in Target]?: string;
3
- }> = {
4
- "typia.tag"?: {
1
+ export type TagBase<Props extends TagBase.IProps<any, any, any, any, any>> = {
2
+ "typia.tag"?: Props;
3
+ };
4
+ export declare namespace TagBase {
5
+ interface IProps<Target extends "bigint" | "number" | "string" | "array", Kind extends string, Value extends boolean | bigint | number | string | undefined, Validate extends string | {
6
+ [key in Target]?: string;
7
+ }, Exclusive extends boolean | string[]> {
5
8
  target: Target;
6
9
  kind: Kind;
7
10
  value: Value;
8
11
  validate: Validate;
9
- };
10
- };
12
+ exclusive?: Exclusive | string[];
13
+ }
14
+ }
@@ -1,13 +1,14 @@
1
- export type Type<Target extends "int" | "uint" | "int32" | "uint32" | "int64" | "uint64" | "float"> = {
2
- "typia.tag"?: {
3
- target: Target extends "uint64" ? "bigint" : "number" | "bigint";
4
- kind: "type";
5
- value: Target;
6
- validate: Target extends "int" | "int32" ? `Number.isInteger($input) && -2147483648 <= $input && $input <= 2147483647` : Target extends "uint" | "uint32" ? `Number.isInteger($input) && 0 <= $input && $input <= 4294967295` : Target extends "int64" ? {
7
- number: `Number.isInteger($input) && -9223372036854775808 <= $input && $input <= 9223372036854775807`;
8
- } : Target extends "uint64" ? {
9
- number: `Number.isInteger($input) && 0 <= $input && $input <= 18446744073709551615`;
10
- bigint: `BigInt(0) <= $input && $input <= BigInt(18446744073709551615)`;
11
- } : `-1.175494351e38 <= $input <= 3.4028235e38`;
12
- };
13
- };
1
+ import { TagBase } from "./TagBase";
2
+ export type Type<Value extends "int32" | "uint32" | "int64" | "uint64" | "float" | "double"> = TagBase<{
3
+ target: Value extends "int64" | "uint64" ? "bigint" | "number" : "number";
4
+ kind: "type";
5
+ value: Value;
6
+ validate: Value extends "int32" ? `Math.floor($input) === $input && -2147483648 <= $input && $input <= 2147483647` : Value extends "uint32" ? `Math.floor($input) === $input && 0 <= $input && $input <= 4294967295` : Value extends "int64" ? {
7
+ number: `Math.floor($input) === $input && -9223372036854775808 <= $input && $input <= 9223372036854775807`;
8
+ bigint: `true`;
9
+ } : Value extends "uint64" ? {
10
+ number: `Math.floor($input) === $input && 0 <= $input && $input <= 18446744073709551615`;
11
+ bigint: `BigInt(0) <= $input`;
12
+ } : Value extends "float" ? `-1.175494351e38 <= $input && $input <= 3.4028235e38` : `true`;
13
+ exclusive: true;
14
+ }>;
@@ -7,6 +7,7 @@ export * from "./MaxLength";
7
7
  export * from "./Minimum";
8
8
  export * from "./MinItems";
9
9
  export * from "./MinLength";
10
+ export * from "./MultipleOf";
10
11
  export * from "./Pattern";
11
12
  export * from "./TagBase";
12
13
  export * from "./Type";
package/lib/tags/index.js CHANGED
@@ -23,6 +23,7 @@ __exportStar(require("./MaxLength"), exports);
23
23
  __exportStar(require("./Minimum"), exports);
24
24
  __exportStar(require("./MinItems"), exports);
25
25
  __exportStar(require("./MinLength"), exports);
26
+ __exportStar(require("./MultipleOf"), exports);
26
27
  __exportStar(require("./Pattern"), exports);
27
28
  __exportStar(require("./TagBase"), exports);
28
29
  __exportStar(require("./Type"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,qDAAmC;AACnC,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,4CAA0B;AAC1B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,4CAA0B;AAC1B,4CAA0B;AAC1B,yCAAuB"}
@@ -1,4 +1,5 @@
1
1
  import ts from "typescript";
2
+ import { IProject } from "./transformers/IProject";
2
3
  import { ITransformOptions } from "./transformers/ITransformOptions";
3
- export declare const transform: (program: ts.Program, options?: ITransformOptions) => ts.TransformerFactory<ts.SourceFile>;
4
+ export declare const transform: (program: ts.Program, options: ITransformOptions | undefined, extras: IProject["extras"]) => ts.TransformerFactory<ts.SourceFile>;
4
5
  export default transform;
package/lib/transform.js CHANGED
@@ -6,19 +6,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.transform = void 0;
7
7
  var typescript_1 = __importDefault(require("typescript"));
8
8
  var FileTransformer_1 = require("./transformers/FileTransformer");
9
- var transform = function (program, options) {
9
+ var transform = function (program, options, extras) {
10
10
  var compilerOptions = program.getCompilerOptions();
11
11
  var strict = compilerOptions.strictNullChecks !== undefined
12
12
  ? !!compilerOptions.strictNullChecks
13
13
  : !!compilerOptions.strict;
14
14
  if (strict === false)
15
- throw new Error("Error on \"tsconfig.json\": typia requires `compilerOptions.strictNullChecks` to be true.");
15
+ extras.addDiagnostic({
16
+ category: typescript_1.default.DiagnosticCategory.Error,
17
+ code: "(typia)",
18
+ file: undefined,
19
+ start: undefined,
20
+ length: undefined,
21
+ messageText: "strict mode is required.",
22
+ });
16
23
  return FileTransformer_1.FileTransformer.transform({
17
24
  program: program,
18
25
  compilerOptions: compilerOptions,
19
26
  checker: program.getTypeChecker(),
20
27
  printer: typescript_1.default.createPrinter(),
21
- options: options || {},
28
+ options: options !== null && options !== void 0 ? options : {},
29
+ extras: extras,
22
30
  });
23
31
  };
24
32
  exports.transform = transform;
@@ -1 +1 @@
1
- {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,kEAAiE;AAG1D,IAAM,SAAS,GAAG,UACrB,OAAmB,EACnB,OAA2B;IAE3B,IAAM,eAAe,GAAuB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACzE,IAAM,MAAM,GACR,eAAe,CAAC,gBAAgB,KAAK,SAAS;QAC1C,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB;QACpC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;IACnC,IAAI,MAAM,KAAK,KAAK;QAChB,MAAM,IAAI,KAAK,CACX,2FAA2F,CAC9F,CAAC;IACN,OAAO,iCAAe,CAAC,SAAS,CAAC;QAC7B,OAAO,SAAA;QACP,eAAe,iBAAA;QACf,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QACjC,OAAO,EAAE,oBAAE,CAAC,aAAa,EAAE;QAC3B,OAAO,EAAE,OAAO,IAAI,EAAE;KACzB,CAAC,CAAC;AACP,CAAC,CAAC;AApBW,QAAA,SAAS,aAoBpB;AACF,kBAAe,iBAAS,CAAC"}
1
+ {"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,kEAAiE;AAI1D,IAAM,SAAS,GAAG,UACrB,OAAmB,EACnB,OAAsC,EACtC,MAA0B;IAE1B,IAAM,eAAe,GAAuB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACzE,IAAM,MAAM,GACR,eAAe,CAAC,gBAAgB,KAAK,SAAS;QAC1C,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB;QACpC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;IACnC,IAAI,MAAM,KAAK,KAAK;QAChB,MAAM,CAAC,aAAa,CAAC;YACjB,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,SAAgB;YACtB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,0BAA0B;SAC1C,CAAC,CAAC;IACP,OAAO,iCAAe,CAAC,SAAS,CAAC;QAC7B,OAAO,SAAA;QACP,eAAe,iBAAA;QACf,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QACjC,OAAO,EAAE,oBAAE,CAAC,aAAa,EAAE;QAC3B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;QACtB,MAAM,QAAA;KACT,CAAC,CAAC;AACP,CAAC,CAAC;AA3BW,QAAA,SAAS,aA2BpB;AACF,kBAAe,iBAAS,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "./IProject";
3
3
  export declare namespace CallExpressionTransformer {
4
- const transform: (project: IProject) => (expression: ts.CallExpression) => ts.Expression;
4
+ const transform: (project: IProject) => (expression: ts.CallExpression) => ts.Expression | null;
5
5
  }
@@ -82,7 +82,8 @@ var CallExpressionTransformer;
82
82
  var functor = (_b = FUNCTORS[module]) === null || _b === void 0 ? void 0 : _b[name];
83
83
  if (functor === undefined)
84
84
  return expression;
85
- return functor()(project)(expression.expression)(expression);
85
+ var result = functor()(project)(expression.expression)(expression);
86
+ return result !== null && result !== void 0 ? result : expression;
86
87
  };
87
88
  };
88
89
  var isTarget = function (location) {
@@ -1 +1 @@
1
- {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,8 @@ var FileTransformer;
31
31
  var iterate_node = function (project) {
32
32
  return function (context) {
33
33
  return function (node) {
34
- return typescript_1.default.visitEachChild(try_transform_node(project)(node), function (child) { return iterate_node(project)(context)(child); }, context);
34
+ var changed = try_transform_node(project)(node);
35
+ return typescript_1.default.visitEachChild(changed !== null && changed !== void 0 ? changed : node, function (child) { return iterate_node(project)(context)(child); }, context);
35
36
  };
36
37
  };
37
38
  };
@@ -41,14 +42,25 @@ var FileTransformer;
41
42
  return NodeTransformer_1.NodeTransformer.transform(project)(node);
42
43
  }
43
44
  catch (exp) {
44
- if (!(exp instanceof Error))
45
+ if (!isTransformerError(exp))
45
46
  throw exp;
46
- var file = node.getSourceFile();
47
- var _a = file.getLineAndCharacterOfPosition(node.pos), line = _a.line, character = _a.character;
48
- exp.message += " - ".concat(file.fileName, ":").concat(line + 1, ":").concat(character + 1);
49
- throw exp;
47
+ var diagnostic = typescript_1.default.createDiagnosticForNode(node, {
48
+ key: exp.code,
49
+ category: typescript_1.default.DiagnosticCategory.Error,
50
+ message: exp.message,
51
+ code: "(".concat(exp.code, ")"),
52
+ });
53
+ project.extras.addDiagnostic(diagnostic);
54
+ return null;
50
55
  }
51
56
  };
52
57
  };
53
58
  })(FileTransformer || (exports.FileTransformer = FileTransformer = {}));
59
+ var isTransformerError = function (error) {
60
+ return typeof error === "object" &&
61
+ error !== null &&
62
+ error.constructor.name === "TransformerError" &&
63
+ typeof error.code === "string" &&
64
+ typeof error.message === "string";
65
+ };
54
66
  //# sourceMappingURL=FileTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAG5B,qDAAoD;AAEpD,IAAiB,eAAe,CAyC/B;AAzCD,WAAiB,eAAe;IACf,yBAAS,GAClB,UAAC,OAAkC;QACnC,OAAA,UAAC,OAAiC;YAClC,OAAA,UAAC,IAAmB;gBAChB,IAAI,IAAI,CAAC,iBAAiB;oBAAE,OAAO,IAAI,CAAC;gBACxC,OAAO,oBAAE,CAAC,cAAc,CACpB,IAAI,EACJ,UAAC,IAAI,IAAK,OAAA,YAAY,uBAAM,OAAO,KAAE,OAAO,SAAA,IAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAApD,CAAoD,EAC9D,OAAO,CACV,CAAC;YACN,CAAC;QAPD,CAOC;IARD,CAQC,CAAC;IAEN,IAAM,YAAY,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,OAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,OAAA,oBAAE,CAAC,cAAc,CACb,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EACjC,UAAC,KAAK,IAAK,OAAA,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAArC,CAAqC,EAChD,OAAO,CACV;YAJD,CAIC;QALL,CAKK;IANL,CAMK,CAAC;IAEV,IAAM,kBAAkB,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,IAAa;YACV,IAAI;gBACA,OAAO,iCAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;aACnD;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;oBAAE,MAAM,GAAG,CAAC;gBAEvC,IAAM,IAAI,GAAkB,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3C,IAAA,KAAsB,IAAI,CAAC,6BAA6B,CAC1D,IAAI,CAAC,GAAG,CACX,EAFO,IAAI,UAAA,EAAE,SAAS,eAEtB,CAAC;gBACF,GAAG,CAAC,OAAO,IAAI,aAAM,IAAI,CAAC,QAAQ,cAAI,IAAI,GAAG,CAAC,cAC1C,SAAS,GAAG,CAAC,CACf,CAAC;gBACH,MAAM,GAAG,CAAC;aACb;QACL,CAAC;IAfD,CAeC,CAAC;AACV,CAAC,EAzCgB,eAAe,+BAAf,eAAe,QAyC/B"}
1
+ {"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAG5B,qDAAoD;AAGpD,IAAiB,eAAe,CA6C/B;AA7CD,WAAiB,eAAe;IACf,yBAAS,GAClB,UAAC,OAAkC;QACnC,OAAA,UAAC,OAAiC;YAClC,OAAA,UAAC,IAAmB;gBAChB,IAAI,IAAI,CAAC,iBAAiB;oBAAE,OAAO,IAAI,CAAC;gBACxC,OAAO,oBAAE,CAAC,cAAc,CACpB,IAAI,EACJ,UAAC,IAAI,IAAK,OAAA,YAAY,uBAAM,OAAO,KAAE,OAAO,SAAA,IAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAApD,CAAoD,EAC9D,OAAO,CACV,CAAC;YACN,CAAC;QAPD,CAOC;IARD,CAQC,CAAC;IAEN,IAAM,YAAY,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,OAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,IAAM,OAAO,GAAmB,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;gBAClE,OAAO,oBAAE,CAAC,cAAc,CACpB,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,EACf,UAAC,KAAK,IAAK,OAAA,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAArC,CAAqC,EAChD,OAAO,CACV,CAAC;YACN,CAAC;QAPD,CAOC;IARD,CAQC,CAAC;IAEN,IAAM,kBAAkB,GACpB,UAAC,OAAiB;QAClB,OAAA,UAAC,IAAa;YACV,IAAI;gBACA,OAAO,iCAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;aACnD;YAAC,OAAO,GAAG,EAAE;gBAEV,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBAAE,MAAM,GAAG,CAAC;gBAGxC,IAAM,UAAU,GAAG,oBAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE;oBAChD,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;oBACrC,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,IAAI,EAAE,WAAI,GAAG,CAAC,IAAI,MAAU;iBAC/B,CAAC,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;aACf;QACL,CAAC;IAjBD,CAiBC,CAAC;AACV,CAAC,EA7CgB,eAAe,+BAAf,eAAe,QA6C/B;AAED,IAAM,kBAAkB,GAAG,UAAC,KAAU;IAClC,OAAA,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,kBAAkB;QAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;AAJjC,CAIiC,CAAC"}
@@ -7,4 +7,7 @@ export interface IProject {
7
7
  printer: ts.Printer;
8
8
  options: ITransformOptions;
9
9
  context: ts.TransformationContext;
10
+ extras: {
11
+ addDiagnostic: (diag: ts.Diagnostic) => number;
12
+ };
10
13
  }
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "./IProject";
3
3
  export declare namespace NodeTransformer {
4
- const transform: (project: IProject) => (expression: ts.Node) => ts.Node;
4
+ const transform: (project: IProject) => (expression: ts.Node) => ts.Node | null;
5
5
  }
@@ -0,0 +1,12 @@
1
+ import { MetadataFactory } from "../factories/MetadataFactory";
2
+ export declare class TransformerError extends Error {
3
+ readonly code: string;
4
+ constructor(props: TransformerError.IProps);
5
+ }
6
+ export declare namespace TransformerError {
7
+ interface IProps {
8
+ code: string;
9
+ message: string;
10
+ }
11
+ const from: (method: string) => (errors: MetadataFactory.IError[]) => TransformerError;
12
+ }