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
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace MiscIsCloneTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace MiscIsPruneTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MiscIsPruneTransformer = void 0;
4
- var IsPruneProgrammer_1 = require("../../../programmers/IsPruneProgrammer");
4
+ var MiscIsPruneProgrammer_1 = require("../../../programmers/misc/MiscIsPruneProgrammer");
5
5
  var GenericTransformer_1 = require("../../internal/GenericTransformer");
6
6
  var MiscIsPruneTransformer;
7
7
  (function (MiscIsPruneTransformer) {
8
- MiscIsPruneTransformer.transform = GenericTransformer_1.GenericTransformer.scalar("isPrune")(function (project) { return function (modulo) { return IsPruneProgrammer_1.IsPruneProgrammer.write(project)(modulo); }; });
8
+ MiscIsPruneTransformer.transform = GenericTransformer_1.GenericTransformer.scalar("isPrune")(function (project) { return function (modulo) { return MiscIsPruneProgrammer_1.MiscIsPruneProgrammer.write(project)(modulo); }; });
9
9
  })(MiscIsPruneTransformer || (exports.MiscIsPruneTransformer = MiscIsPruneTransformer = {}));
10
10
  //# sourceMappingURL=MiscIsPruneTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MiscIsPruneTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/misc/MiscIsPruneTransformer.ts"],"names":[],"mappings":";;;AAAA,4EAA2E;AAE3E,wEAAuE;AAEvE,IAAiB,sBAAsB,CAItC;AAJD,WAAiB,sBAAsB;IACtB,gCAAS,GAAG,uCAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CACzD,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM,IAAK,OAAA,qCAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAAxC,CAAwC,EAApD,CAAoD,CACpE,CAAC;AACN,CAAC,EAJgB,sBAAsB,sCAAtB,sBAAsB,QAItC"}
1
+ {"version":3,"file":"MiscIsPruneTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/misc/MiscIsPruneTransformer.ts"],"names":[],"mappings":";;;AAAA,yFAAwF;AAExF,wEAAuE;AAEvE,IAAiB,sBAAsB,CAItC;AAJD,WAAiB,sBAAsB;IACtB,gCAAS,GAAG,uCAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CACzD,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM,IAAK,OAAA,6CAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,EAA5C,CAA4C,EAAxD,CAAwD,CACxE,CAAC;AACN,CAAC,EAJgB,sBAAsB,sCAAtB,sBAAsB,QAItC"}
@@ -2,21 +2,26 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MiscLiteralsTransformer = void 0;
4
4
  var MiscLiteralsProgrammer_1 = require("../../../programmers/misc/MiscLiteralsProgrammer");
5
+ var TransformerError_1 = require("../../TransformerError");
5
6
  var MiscLiteralsTransformer;
6
7
  (function (MiscLiteralsTransformer) {
7
8
  MiscLiteralsTransformer.transform = function (project) {
8
9
  return function (expression) {
9
10
  var _a;
10
11
  if (!((_a = expression.typeArguments) === null || _a === void 0 ? void 0 : _a[0]))
11
- throw new Error(NOT_SPECIFIED);
12
+ throw new TransformerError_1.TransformerError({
13
+ code: "typia.misc.literals",
14
+ message: "generic argument is not specified.",
15
+ });
12
16
  var node = expression.typeArguments[0];
13
17
  var type = project.checker.getTypeFromTypeNode(node);
14
18
  if (type.isTypeParameter())
15
- throw new Error(NO_GENERIC_ARGUMENT);
19
+ throw new TransformerError_1.TransformerError({
20
+ code: "typia.misc.literals",
21
+ message: "non-specified generic argument.",
22
+ });
16
23
  return MiscLiteralsProgrammer_1.MiscLiteralsProgrammer.write(project)(type);
17
24
  };
18
25
  };
19
26
  })(MiscLiteralsTransformer || (exports.MiscLiteralsTransformer = MiscLiteralsTransformer = {}));
20
- var NOT_SPECIFIED = "Error on typia.literals(): generic argument is not specified.";
21
- var NO_GENERIC_ARGUMENT = "Error on typia.literals(): non-specified generic argument.";
22
27
  //# sourceMappingURL=MiscLiteralsTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MiscLiteralsTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/misc/MiscLiteralsTransformer.ts"],"names":[],"mappings":";;;AAEA,2FAA0F;AAI1F,IAAiB,uBAAuB,CAgBvC;AAhBD,WAAiB,uBAAuB;IACvB,iCAAS,GAClB,UAAC,OAAiB;QAClB,OAAA,UAAC,UAA6B;;YAE1B,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;gBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;YAGnE,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,eAAe,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAGjE,OAAO,+CAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IAZD,CAYC,CAAC;AACV,CAAC,EAhBgB,uBAAuB,uCAAvB,uBAAuB,QAgBvC;AAED,IAAM,aAAa,GACf,+DAA+D,CAAC;AACpE,IAAM,mBAAmB,GACrB,4DAA4D,CAAC"}
1
+ {"version":3,"file":"MiscLiteralsTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/misc/MiscLiteralsTransformer.ts"],"names":[],"mappings":";;;AAEA,2FAA0F;AAG1F,2DAA0D;AAE1D,IAAiB,uBAAuB,CAwBvC;AAxBD,WAAiB,uBAAuB;IACvB,iCAAS,GAClB,UAAC,OAAiB;QAClB,OAAA,UAAC,UAA6B;;YAE1B,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;gBAC9B,MAAM,IAAI,mCAAgB,CAAC;oBACvB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,oCAAoC;iBAChD,CAAC,CAAC;YAGP,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAEhE,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,MAAM,IAAI,mCAAgB,CAAC;oBACvB,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,iCAAiC;iBAC7C,CAAC,CAAC;YAGP,OAAO,+CAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;IApBD,CAoBC,CAAC;AACV,CAAC,EAxBgB,uBAAuB,uCAAvB,uBAAuB,QAwBvC"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace MiscPruneTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace MiscValidateCloneTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace MiscValidatePruneTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace CreateProtobufAssertDecodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace CreateProtobufAssertEncodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace CreateProtobufDecodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace CreateProtobufEncodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace CreateProtobufIsDecodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace CreateProtobufIsEncodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace CreateProtobufValidateDecodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace CreateProtobufValidateEncodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace ProtobufAssertDecodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace ProtobufAssertEncodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace ProtobufDecodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace ProtobufEncodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace ProtobufIsDecodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace ProtobufIsEncodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -2,16 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProtobufMessageTransformer = void 0;
4
4
  var ProtobufMessageProgrammer_1 = require("../../../programmers/protobuf/ProtobufMessageProgrammer");
5
+ var TransformerError_1 = require("../../TransformerError");
5
6
  var ProtobufMessageTransformer;
6
7
  (function (ProtobufMessageTransformer) {
7
8
  ProtobufMessageTransformer.transform = function (project) {
8
9
  return function (_modulo) {
9
10
  return function (expression) {
10
11
  if (!expression.typeArguments || !expression.typeArguments[0])
11
- throw new Error("Error on typia.protobuf.message(): generic argument is not specified.");
12
+ throw new TransformerError_1.TransformerError({
13
+ code: "typia.protobuf.message",
14
+ message: "generic argument is not specified.",
15
+ });
12
16
  var type = project.checker.getTypeFromTypeNode(expression.typeArguments[0]);
13
17
  if (type.isTypeParameter())
14
- throw new Error("Error on typia.protobuf.message(): non-specified generic argument.");
18
+ throw new TransformerError_1.TransformerError({
19
+ code: "tyipa.protobuf.message",
20
+ message: "non-specified generic argument.",
21
+ });
15
22
  return ProtobufMessageProgrammer_1.ProtobufMessageProgrammer.write(project)(type);
16
23
  };
17
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufMessageTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/ProtobufMessageTransformer.ts"],"names":[],"mappings":";;;AAEA,qGAAoG;AAIpG,IAAiB,0BAA0B,CAmB1C;AAnBD,WAAiB,0BAA0B;IAC1B,oCAAS,GAClB,UAAC,OAAiB;QAClB,OAAA,UAAC,OAAkC;YACnC,OAAA,UAAC,UAA6B;gBAE1B,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;oBACzD,MAAM,IAAI,KAAK,yEAA6B,CAAC;gBAGjD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CACrD,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B,CAAC;gBACF,IAAI,IAAI,CAAC,eAAe,EAAE;oBACtB,MAAM,IAAI,KAAK,sEAAgC,CAAC;gBAGpD,OAAO,qDAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;QAdD,CAcC;IAfD,CAeC,CAAC;AACV,CAAC,EAnBgB,0BAA0B,0CAA1B,0BAA0B,QAmB1C"}
1
+ {"version":3,"file":"ProtobufMessageTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/ProtobufMessageTransformer.ts"],"names":[],"mappings":";;;AAEA,qGAAoG;AAGpG,2DAA0D;AAE1D,IAAiB,0BAA0B,CAyB1C;AAzBD,WAAiB,0BAA0B;IAC1B,oCAAS,GAClB,UAAC,OAAiB;QAClB,OAAA,UAAC,OAAkC;YACnC,OAAA,UAAC,UAA6B;gBAE1B,IAAI,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;oBACzD,MAAM,IAAI,mCAAgB,CAAC;wBACvB,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,oCAAoC;qBAChD,CAAC,CAAC;gBAGP,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CACrD,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B,CAAC;gBACF,IAAI,IAAI,CAAC,eAAe,EAAE;oBACtB,MAAM,IAAI,mCAAgB,CAAC;wBACvB,IAAI,EAAE,wBAAwB;wBAC9B,OAAO,EAAE,iCAAiC;qBAC7C,CAAC,CAAC;gBAGP,OAAO,qDAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1D,CAAC;QApBD,CAoBC;IArBD,CAqBC,CAAC;AACV,CAAC,EAzBgB,0BAA0B,0CAA1B,0BAA0B,QAyB1C"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace ProtobufValidateDecodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -1,3 +1,4 @@
1
+ /// <reference types="ts-expose-internals/typescript" />
1
2
  export declare namespace ProtobufValidateEncodeTransformer {
2
3
  const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").CallExpression;
3
4
  }
@@ -21,6 +21,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  exports.GenericTransformer = void 0;
23
23
  var typescript_1 = __importDefault(require("typescript"));
24
+ var TransformerError_1 = require("../TransformerError");
24
25
  var GenericTransformer;
25
26
  (function (GenericTransformer) {
26
27
  GenericTransformer.scalar = function (method) {
@@ -29,7 +30,10 @@ var GenericTransformer;
29
30
  return function (modulo) {
30
31
  return function (expression) {
31
32
  if (expression.arguments.length !== 1)
32
- throw new Error("Error on typia.".concat(method, "(): no input value."));
33
+ throw new TransformerError_1.TransformerError({
34
+ code: "typia.".concat(method),
35
+ message: "no input value.",
36
+ });
33
37
  var _a = __read(expression.typeArguments && expression.typeArguments[0]
34
38
  ? [
35
39
  project.checker.getTypeFromTypeNode(expression.typeArguments[0]),
@@ -42,7 +46,10 @@ var GenericTransformer;
42
46
  false,
43
47
  ], 3), type = _a[0], node = _a[1], generic = _a[2];
44
48
  if (type.isTypeParameter())
45
- throw new Error("Error on typia.".concat(method, "(): non-specified generic argument."));
49
+ throw new TransformerError_1.TransformerError({
50
+ code: "typia.".concat(method),
51
+ message: "non-specified generic argument.",
52
+ });
46
53
  return typescript_1.default.factory.createCallExpression(programmer(project)(modulo)(type, generic
47
54
  ? node.getFullText().trim()
48
55
  : name(project.checker)(type)(node)), undefined, [expression.arguments[0]]);
@@ -58,11 +65,17 @@ var GenericTransformer;
58
65
  return function (expression) {
59
66
  var _a;
60
67
  if (!((_a = expression.typeArguments) === null || _a === void 0 ? void 0 : _a[0]))
61
- throw new Error("Error on typia.".concat(method, "(): generic argument is not specified."));
68
+ throw new TransformerError_1.TransformerError({
69
+ code: "typia.".concat(method),
70
+ message: "generic argument is not specified.",
71
+ });
62
72
  var node = expression.typeArguments[0];
63
73
  var type = project.checker.getTypeFromTypeNode(node);
64
74
  if (type.isTypeParameter())
65
- throw new Error("Error on typia.".concat(method, "(): non-specified generic argument."));
75
+ throw new TransformerError_1.TransformerError({
76
+ code: "typia.".concat(method),
77
+ message: "non-specified generic argument.",
78
+ });
66
79
  return programmer(project)(modulo)(type, node.getFullText().trim());
67
80
  };
68
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GenericTransformer.js","sourceRoot":"","sources":["../../../src/transformers/internal/GenericTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenericTransformer.js","sourceRoot":"","sources":["../../../src/transformers/internal/GenericTransformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type ProtobufAtomic = "bool" | "int32" | "uint32" | "int64" | "uint64" | "float" | "double" | "string";
2
+ export declare namespace ProtobufAtomic {
3
+ type Numeric = "int32" | "uint32" | "int64" | "uint64" | "float" | "double";
4
+ type BigNumeric = "int64" | "uint64";
5
+ }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=ICommentTag.js.map
3
+ //# sourceMappingURL=ProtobufAtomic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtobufAtomic.js","sourceRoot":"","sources":["../../src/typings/ProtobufAtomic.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export type ValidationPipe<T, E> = {
2
+ success: true;
3
+ data: T;
4
+ } | {
5
+ success: false;
6
+ errors: E[];
7
+ };
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=IMetadataCommentTag.js.map
3
+ //# sourceMappingURL=ValidationPipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationPipe.js","sourceRoot":"","sources":["../../src/typings/ValidationPipe.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.0.0-dev.20230824",
3
+ "version": "5.0.0-dev.20230828",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -16,6 +16,7 @@
16
16
  "build": "rimraf lib && tsc --removeComments --declaration false && tsc --emitDeclarationOnly",
17
17
  "build:test": "rimraf bin && tsc -p test/tsconfig.json",
18
18
  "build:test:actions": "rimraf bin && tsc -p test/tsconfig.actions.json",
19
+ "build:test:issues": "rimraf bin && tsc -p test/tsconfig.issue.json",
19
20
  "build:benchmark": "rimraf measure && tsc -p benchmark/tsconfig.json",
20
21
  "build:test:prettier": "npm run build:test && prettier --write ./bin/**/*.js",
21
22
  "dev": "rimraf lib && tsc --watch",
@@ -94,6 +95,7 @@
94
95
  "@types/nested-error-stacks": "^2.1.0",
95
96
  "@types/node": "^18.15.12",
96
97
  "@types/physical-cpu-count": "^2.0.0",
98
+ "@types/ts-expose-internals": "npm:ts-expose-internals@5.1.6",
97
99
  "@types/uuid": "^8.3.4",
98
100
  "@typescript-eslint/eslint-plugin": "^5.59.11",
99
101
  "@typescript-eslint/parser": "^5.59.11",
@@ -124,7 +126,7 @@
124
126
  "ts-node": "^10.9.1",
125
127
  "ts-patch": "^3.0.2",
126
128
  "tstl": "^2.5.13",
127
- "typescript": "^5.1.6",
129
+ "typescript": "^5.2.2",
128
130
  "typescript-transform-paths": "^3.4.6",
129
131
  "uuid": "^8.3.2",
130
132
  "zod": "^3.19.1"
@@ -23,12 +23,13 @@ export interface IRandomGenerator {
23
23
  export namespace IRandomGenerator {
24
24
  export type CustomMap = {
25
25
  [Type in keyof Customizable]?: (
26
- tags: ICommentTag[],
26
+ tags: ITypeTag[],
27
27
  ) => Customizable[Type] | undefined;
28
28
  };
29
29
 
30
- export interface ICommentTag {
30
+ export interface ITypeTag {
31
31
  name: string;
32
- value?: string;
32
+ kind: string;
33
+ value: any;
33
34
  }
34
35
  }
@@ -64,7 +64,7 @@ export namespace TypiaGenerateWizard {
64
64
  str.substring(str.length - 5) === ".json",
65
65
  );
66
66
  if (files.length === 0)
67
- throw new Error(`Unable to find "tsconfig.json" file.`);
67
+ throw new URIError(`Unable to find "tsconfig.json" file.`);
68
68
  else if (files.length === 1) return files[0];
69
69
  return select("tsconfig")("TS Config File")(files);
70
70
  };
@@ -126,7 +126,7 @@ export namespace TypiaSetupWizard {
126
126
  );
127
127
  if (fileList.length === 0) {
128
128
  if (process.cwd() !== pack.directory)
129
- throw new Error(`Unable to find "tsconfig.json" file.`);
129
+ throw new URIError(`Unable to find "tsconfig.json" file.`);
130
130
  return null;
131
131
  } else if (fileList.length === 1) return fileList[0];
132
132
  return select("tsconfig")("TS Config File")(fileList);
@@ -15,7 +15,7 @@ export class PackageManager {
15
15
  "package.json",
16
16
  )(process.cwd());
17
17
  if (location === null)
18
- throw new Error(`Unable to find "package.json" file`);
18
+ throw new URIError(`Unable to find "package.json" file`);
19
19
 
20
20
  return new PackageManager(
21
21
  location,
@@ -15,7 +15,7 @@ export namespace PluginConfigurator {
15
15
  | comments.CommentObject
16
16
  | undefined;
17
17
  if (compilerOptions === undefined)
18
- throw new Error(
18
+ throw new ReferenceError(
19
19
  `${args.project} file does not have "compilerOptions" property.`,
20
20
  );
21
21
 
@@ -27,7 +27,7 @@ export namespace PluginConfigurator {
27
27
  if (plugins === undefined)
28
28
  return (compilerOptions.plugins = [] as any);
29
29
  else if (!Array.isArray(plugins))
30
- throw new Error(
30
+ throw new TypeError(
31
31
  `"plugins" property of ${args.project} must be array type.`,
32
32
  );
33
33
  return plugins;
@@ -3,11 +3,11 @@ import ts from "typescript";
3
3
  import { RandomGenerator } from "../utils/RandomGenerator";
4
4
 
5
5
  export namespace ExpressionFactory {
6
- export const bigint = (value: number) =>
6
+ export const bigint = (value: number | bigint) =>
7
7
  ts.factory.createCallExpression(
8
8
  ts.factory.createIdentifier("BigInt"),
9
9
  undefined,
10
- [ts.factory.createNumericLiteral(value)],
10
+ [ts.factory.createIdentifier(value.toString())],
11
11
  );
12
12
 
13
13
  export const isRequired = (input: ts.Expression): ts.Expression =>
@@ -137,11 +137,11 @@ export namespace ExpressionFactory {
137
137
  );
138
138
  const statement: ts.Statement | undefined = file.statements[0];
139
139
  if (statement === undefined)
140
- throw new Error(
140
+ throw new ReferenceError(
141
141
  "Error on ExpressionFactory.transpile(): no statement exists.",
142
142
  );
143
143
  else if (!ts.isExpressionStatement(statement))
144
- throw new Error(
144
+ throw new TypeError(
145
145
  "Error on ExpressionFactory.transpile(): statement is not an expression statement.",
146
146
  );
147
147
 
@@ -0,0 +1,43 @@
1
+ import ts from "typescript";
2
+
3
+ import { Metadata } from "../schemas/metadata/Metadata";
4
+
5
+ import { TransformerError } from "../transformers/TransformerError";
6
+
7
+ import { MetadataCollection } from "./MetadataCollection";
8
+ import { MetadataFactory } from "./MetadataFactory";
9
+
10
+ export namespace JsonMetadataFactory {
11
+ export const analyze =
12
+ (method: string) =>
13
+ (checker: ts.TypeChecker) =>
14
+ (type: ts.Type): [MetadataCollection, Metadata] => {
15
+ const collection = new MetadataCollection();
16
+ const result = MetadataFactory.analyze(checker)({
17
+ escape: true,
18
+ constant: true,
19
+ absorb: true,
20
+ validate,
21
+ })(collection)(type);
22
+ if (result.success === false)
23
+ throw TransformerError.from(method)(result.errors);
24
+ return [collection, result.data];
25
+ };
26
+
27
+ export const validate = (meta: Metadata) => {
28
+ const output: string[] = [];
29
+ if (
30
+ meta.atomics.some((a) => a.type === "bigint") ||
31
+ meta.constants.some((c) => c.type === "bigint")
32
+ )
33
+ output.push("JSON does not support bigint type.");
34
+ if (
35
+ meta.tuples.some((t) =>
36
+ t.type.elements.some((e) => e.isRequired() === false),
37
+ ) ||
38
+ meta.arrays.some((a) => a.type.value.isRequired() === false)
39
+ )
40
+ output.push("JSON does not support undefined type in array.");
41
+ return output;
42
+ };
43
+ }
@@ -1,5 +1,6 @@
1
1
  import ts from "typescript";
2
2
 
3
+ import { ExpressionFactory } from "./ExpressionFactory";
3
4
  import { IdentifierFactory } from "./IdentifierFactory";
4
5
 
5
6
  export namespace LiteralFactory {
@@ -11,8 +12,12 @@ export namespace LiteralFactory {
11
12
  else if (typeof input === "string") return generate_string(input);
12
13
  else if (typeof input === "boolean") return generate_value(input);
13
14
  else if (typeof input === "number") return generate_value(input);
14
- else if (typeof input === "bigint") return generate_value(input);
15
- else throw new Error("Unknown type.");
15
+ else if (typeof input === "bigint") return generate_bigint(input);
16
+ // unreachable code
17
+ else
18
+ throw new TypeError(
19
+ "Error on LiteralFactory.generate(): unknown type.",
20
+ );
16
21
  };
17
22
 
18
23
  const generate_object = (obj: object): ts.ObjectLiteralExpression =>
@@ -31,9 +36,12 @@ export namespace LiteralFactory {
31
36
  const generate_array = (array: any[]): ts.ArrayLiteralExpression =>
32
37
  ts.factory.createArrayLiteralExpression(array.map(generate), true);
33
38
 
34
- const generate_value = (value: number | boolean | bigint): ts.Identifier =>
39
+ const generate_value = (value: number | boolean | bigint): ts.Expression =>
35
40
  ts.factory.createIdentifier(value.toString());
36
41
 
42
+ const generate_bigint = (value: bigint): ts.Expression =>
43
+ ExpressionFactory.bigint(value);
44
+
37
45
  const generate_string = (value: string): ts.StringLiteral =>
38
46
  ts.factory.createStringLiteral(value);
39
47
  }
@@ -26,11 +26,6 @@ export class MetadataCollection {
26
26
  private recursive_array_index_: number;
27
27
  private recursive_tuple_index_: number;
28
28
 
29
- /**
30
- * @internal
31
- */
32
- public readonly entire_: Set<Metadata> = new Set();
33
-
34
29
  public constructor(
35
30
  private readonly options?: Partial<MetadataCollection.IOptions>,
36
31
  ) {
@@ -149,7 +144,6 @@ export class MetadataCollection {
149
144
  description: CommentFactory.description(symbol) ?? null,
150
145
  recursive: null!,
151
146
  nullables: [],
152
- tags: [],
153
147
  jsDocTags: symbol.getJsDocTags() ?? [],
154
148
  });
155
149
  this.aliases_.set(type, alias);