typia 5.0.0-dev.20230823-2 → 5.0.0-dev.20230827

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 (424) hide show
  1. package/README.md +1 -2
  2. package/lib/IRandomGenerator.d.ts +4 -3
  3. package/lib/factories/ExpressionFactory.d.ts +3 -1
  4. package/lib/factories/ExpressionFactory.js +25 -1
  5. package/lib/factories/ExpressionFactory.js.map +1 -1
  6. package/lib/factories/IdentifierFactory.d.ts +2 -1
  7. package/lib/factories/IdentifierFactory.js +11 -0
  8. package/lib/factories/IdentifierFactory.js.map +1 -1
  9. package/lib/factories/LiteralFactory.js +6 -2
  10. package/lib/factories/LiteralFactory.js.map +1 -1
  11. package/lib/factories/MetadataCollection.d.ts +7 -7
  12. package/lib/factories/MetadataCollection.js +4 -5
  13. package/lib/factories/MetadataCollection.js.map +1 -1
  14. package/lib/factories/MetadataCommentTagFactory.js +532 -0
  15. package/lib/factories/MetadataCommentTagFactory.js.map +1 -0
  16. package/lib/factories/MetadataTypeTagFactory.d.ts +6 -0
  17. package/lib/factories/MetadataTypeTagFactory.js +207 -0
  18. package/lib/factories/MetadataTypeTagFactory.js.map +1 -0
  19. package/lib/factories/NumericRangeFactory.d.ts +6 -0
  20. package/lib/factories/NumericRangeFactory.js +34 -0
  21. package/lib/factories/NumericRangeFactory.js.map +1 -0
  22. package/lib/factories/ProtobufFactory.js +48 -16
  23. package/lib/factories/ProtobufFactory.js.map +1 -1
  24. package/lib/factories/internal/metadata/emend_metadata_atomics.js +12 -6
  25. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  26. package/lib/factories/internal/metadata/emplace_metadata_alias.js +1 -13
  27. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  28. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.ts +5 -0
  29. package/lib/factories/internal/metadata/{emplace_metadata_array.js → emplace_metadata_array_type.js} +4 -4
  30. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -0
  31. package/lib/factories/internal/metadata/emplace_metadata_object.js +0 -1
  32. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  33. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +2 -2
  34. package/lib/factories/internal/metadata/iterate_metadata_array.js +7 -3
  35. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  36. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +2 -1
  37. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  38. package/lib/factories/internal/metadata/iterate_metadata_collection.js +20 -12
  39. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  40. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.ts +2 -0
  41. package/lib/factories/internal/metadata/{iterate_metadata_tag.js → iterate_metadata_comment_tags.js} +7 -8
  42. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -0
  43. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +140 -16
  44. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  45. package/lib/factories/internal/metadata/iterate_metadata_object.js +0 -7
  46. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  47. package/lib/factories/internal/metadata/iterate_metadata_sort.js +2 -2
  48. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  49. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +6 -2
  50. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  51. package/lib/functional/$any.js +2 -1
  52. package/lib/functional/$any.js.map +1 -1
  53. package/lib/functional/$clone.d.ts +2 -0
  54. package/lib/functional/$clone.js +8 -0
  55. package/lib/functional/$clone.js.map +1 -0
  56. package/lib/functional/Namespace.js +0 -16
  57. package/lib/functional/Namespace.js.map +1 -1
  58. package/lib/module.d.ts +2 -39
  59. package/lib/module.js +3 -17
  60. package/lib/module.js.map +1 -1
  61. package/lib/programmers/AssertProgrammer.js +28 -10
  62. package/lib/programmers/AssertProgrammer.js.map +1 -1
  63. package/lib/programmers/CheckerProgrammer.js +90 -68
  64. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  65. package/lib/programmers/FeatureProgrammer.d.ts +2 -4
  66. package/lib/programmers/FeatureProgrammer.js +6 -6
  67. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  68. package/lib/programmers/IsProgrammer.d.ts +1 -1
  69. package/lib/programmers/IsProgrammer.js +32 -21
  70. package/lib/programmers/IsProgrammer.js.map +1 -1
  71. package/lib/programmers/RandomProgrammer.js +187 -156
  72. package/lib/programmers/RandomProgrammer.js.map +1 -1
  73. package/lib/programmers/ValidateProgrammer.js +28 -10
  74. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  75. package/lib/programmers/helpers/AtomicPredicator.js +2 -2
  76. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  77. package/lib/programmers/helpers/CloneJoiner.js +10 -2
  78. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  79. package/lib/programmers/helpers/ICheckEntry.d.ts +4 -3
  80. package/lib/programmers/helpers/ProtobufUtil.d.ts +6 -2
  81. package/lib/programmers/helpers/ProtobufUtil.js +175 -17
  82. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  83. package/lib/programmers/helpers/RandomJoiner.d.ts +3 -5
  84. package/lib/programmers/helpers/RandomJoiner.js +7 -10
  85. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  86. package/lib/programmers/helpers/RandomRanger.d.ts +5 -6
  87. package/lib/programmers/helpers/RandomRanger.js +13 -33
  88. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  89. package/lib/programmers/helpers/UnionExplorer.d.ts +7 -8
  90. package/lib/programmers/helpers/UnionExplorer.js +46 -35
  91. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  92. package/lib/programmers/internal/application_alias.js +0 -1
  93. package/lib/programmers/internal/application_alias.js.map +1 -1
  94. package/lib/programmers/internal/application_array.js +60 -20
  95. package/lib/programmers/internal/application_array.js.map +1 -1
  96. package/lib/programmers/internal/application_default_string.js +2 -2
  97. package/lib/programmers/internal/application_default_string.js.map +1 -1
  98. package/lib/programmers/internal/application_number.js +95 -69
  99. package/lib/programmers/internal/application_number.js.map +1 -1
  100. package/lib/programmers/internal/application_object.js +0 -3
  101. package/lib/programmers/internal/application_object.js.map +1 -1
  102. package/lib/programmers/internal/application_resolved.js +2 -2
  103. package/lib/programmers/internal/application_resolved.js.map +1 -1
  104. package/lib/programmers/internal/application_schema.js +39 -22
  105. package/lib/programmers/internal/application_schema.js.map +1 -1
  106. package/lib/programmers/internal/application_string.js +56 -22
  107. package/lib/programmers/internal/application_string.js.map +1 -1
  108. package/lib/programmers/internal/application_tuple.js +10 -9
  109. package/lib/programmers/internal/application_tuple.js.map +1 -1
  110. package/lib/programmers/internal/check_array_length.js +25 -25
  111. package/lib/programmers/internal/check_array_length.js.map +1 -1
  112. package/lib/programmers/internal/check_bigint.js +20 -109
  113. package/lib/programmers/internal/check_bigint.js.map +1 -1
  114. package/lib/programmers/internal/check_dynamic_properties.js +1 -1
  115. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  116. package/lib/programmers/internal/check_number.js +57 -147
  117. package/lib/programmers/internal/check_number.js.map +1 -1
  118. package/lib/programmers/internal/check_string.js +21 -33
  119. package/lib/programmers/internal/check_string.js.map +1 -1
  120. package/lib/programmers/internal/check_template.js +31 -49
  121. package/lib/programmers/internal/check_template.js.map +1 -1
  122. package/lib/programmers/internal/check_union_array_like.js +7 -6
  123. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  124. package/lib/programmers/internal/feature_object_entries.js +1 -1
  125. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  126. package/lib/programmers/internal/metadata_to_pattern.js +4 -4
  127. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  128. package/lib/programmers/internal/random_custom.js +2 -2
  129. package/lib/programmers/internal/random_custom.js.map +1 -1
  130. package/lib/programmers/internal/stringify_dynamic_properties.js +2 -1
  131. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  132. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +9 -5
  133. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  134. package/lib/programmers/json/JsonStringifyProgrammer.js +43 -32
  135. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  136. package/lib/programmers/misc/MiscCloneProgrammer.js +21 -17
  137. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  138. package/lib/programmers/{IsPruneProgrammer.d.ts → misc/MiscIsPruneProgrammer.d.ts} +2 -2
  139. package/lib/programmers/{IsPruneProgrammer.js → misc/MiscIsPruneProgrammer.js} +11 -11
  140. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -0
  141. package/lib/programmers/misc/MiscLiteralsProgrammer.js +2 -2
  142. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  143. package/lib/programmers/misc/MiscPruneProgrammer.js +21 -17
  144. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  145. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +29 -49
  146. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  147. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +138 -65
  148. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  149. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +59 -85
  150. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  151. package/lib/schemas/json/IJsonSchema.d.ts +10 -38
  152. package/lib/schemas/metadata/IMetadata.d.ts +11 -4
  153. package/lib/schemas/metadata/IMetadataAlias.d.ts +0 -2
  154. package/lib/schemas/metadata/IMetadataArray.d.ts +4 -6
  155. package/lib/schemas/metadata/IMetadataArrayType.d.ts +8 -0
  156. package/lib/{CustomValidatorMap.js → schemas/metadata/IMetadataArrayType.js} +1 -1
  157. package/lib/schemas/metadata/IMetadataArrayType.js.map +1 -0
  158. package/lib/schemas/metadata/IMetadataAtomic.d.ts +5 -0
  159. package/lib/schemas/metadata/IMetadataAtomic.js +3 -0
  160. package/lib/schemas/metadata/IMetadataAtomic.js.map +1 -0
  161. package/lib/schemas/metadata/IMetadataCollection.d.ts +4 -4
  162. package/lib/schemas/metadata/IMetadataProperty.d.ts +0 -2
  163. package/lib/schemas/metadata/IMetadataTuple.d.ts +4 -6
  164. package/lib/schemas/metadata/IMetadataTupleType.d.ts +8 -0
  165. package/lib/schemas/metadata/IMetadataTupleType.js +3 -0
  166. package/lib/schemas/metadata/IMetadataTupleType.js.map +1 -0
  167. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +8 -0
  168. package/lib/schemas/metadata/IMetadataTypeTag.js +3 -0
  169. package/lib/schemas/metadata/IMetadataTypeTag.js.map +1 -0
  170. package/lib/schemas/metadata/Metadata.d.ts +2 -2
  171. package/lib/schemas/metadata/Metadata.js +219 -159
  172. package/lib/schemas/metadata/Metadata.js.map +1 -1
  173. package/lib/schemas/metadata/MetadataAlias.d.ts +0 -2
  174. package/lib/schemas/metadata/MetadataAlias.js +0 -3
  175. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  176. package/lib/schemas/metadata/MetadataArray.d.ts +8 -6
  177. package/lib/schemas/metadata/MetadataArray.js +48 -19
  178. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  179. package/lib/schemas/metadata/MetadataArrayType.d.ts +14 -0
  180. package/lib/schemas/metadata/MetadataArrayType.js +36 -0
  181. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -0
  182. package/lib/schemas/metadata/MetadataAtomic.d.ts +9 -0
  183. package/lib/schemas/metadata/MetadataAtomic.js +59 -0
  184. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -0
  185. package/lib/schemas/metadata/MetadataProperty.d.ts +0 -2
  186. package/lib/schemas/metadata/MetadataProperty.js +0 -3
  187. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  188. package/lib/schemas/metadata/MetadataTuple.d.ts +8 -8
  189. package/lib/schemas/metadata/MetadataTuple.js +4 -19
  190. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  191. package/lib/schemas/metadata/MetadataTupleType.d.ts +13 -0
  192. package/lib/schemas/metadata/MetadataTupleType.js +40 -0
  193. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -0
  194. package/lib/tags/ExclusiveMaximum.d.ts +10 -0
  195. package/lib/tags/ExclusiveMaximum.js +3 -0
  196. package/lib/tags/ExclusiveMaximum.js.map +1 -0
  197. package/lib/tags/ExclusiveMinimum.d.ts +10 -0
  198. package/lib/tags/ExclusiveMinimum.js +3 -0
  199. package/lib/tags/ExclusiveMinimum.js.map +1 -0
  200. package/lib/tags/Format.d.ts +8 -0
  201. package/lib/{schemas/metadata/ICommentTag.js → tags/Format.js} +1 -1
  202. package/lib/tags/Format.js.map +1 -0
  203. package/lib/tags/MaxItems.d.ts +8 -0
  204. package/lib/{schemas/metadata/IMetadataTag.js → tags/MaxItems.js} +1 -1
  205. package/lib/tags/MaxItems.js.map +1 -0
  206. package/lib/tags/MaxLength.d.ts +8 -0
  207. package/lib/tags/MaxLength.js +3 -0
  208. package/lib/tags/MaxLength.js.map +1 -0
  209. package/lib/tags/Maximum.d.ts +10 -0
  210. package/lib/tags/Maximum.js +3 -0
  211. package/lib/tags/Maximum.js.map +1 -0
  212. package/lib/tags/MinItems.d.ts +8 -0
  213. package/lib/tags/MinItems.js +3 -0
  214. package/lib/tags/MinItems.js.map +1 -0
  215. package/lib/tags/MinLength.d.ts +8 -0
  216. package/lib/tags/MinLength.js +3 -0
  217. package/lib/tags/MinLength.js.map +1 -0
  218. package/lib/tags/Minimum.d.ts +10 -0
  219. package/lib/tags/Minimum.js +3 -0
  220. package/lib/tags/Minimum.js.map +1 -0
  221. package/lib/tags/MultipleOf.d.ts +10 -0
  222. package/lib/tags/MultipleOf.js +3 -0
  223. package/lib/tags/MultipleOf.js.map +1 -0
  224. package/lib/tags/Pattern.d.ts +7 -0
  225. package/lib/tags/Pattern.js +3 -0
  226. package/lib/tags/Pattern.js.map +1 -0
  227. package/lib/tags/TagBase.d.ts +14 -0
  228. package/lib/tags/TagBase.js +3 -0
  229. package/lib/tags/TagBase.js.map +1 -0
  230. package/lib/tags/Type.d.ts +14 -0
  231. package/lib/tags/Type.js +3 -0
  232. package/lib/tags/Type.js.map +1 -0
  233. package/lib/tags/index.d.ts +13 -0
  234. package/lib/tags/index.js +30 -0
  235. package/lib/tags/index.js.map +1 -0
  236. package/lib/transformers/FileTransformer.d.ts +1 -1
  237. package/lib/transformers/FileTransformer.js +15 -2
  238. package/lib/transformers/FileTransformer.js.map +1 -1
  239. package/lib/transformers/IProject.d.ts +1 -0
  240. package/lib/transformers/features/json/JsonApplicationTransformer.js +4 -2
  241. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  242. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +2 -2
  243. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  244. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +2 -2
  245. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  246. package/lib/typings/ProtobufAtomic.d.ts +5 -0
  247. package/lib/typings/ProtobufAtomic.js +3 -0
  248. package/lib/typings/ProtobufAtomic.js.map +1 -0
  249. package/package.json +2 -2
  250. package/src/IRandomGenerator.ts +4 -3
  251. package/src/factories/ExpressionFactory.ts +46 -2
  252. package/src/factories/IdentifierFactory.ts +15 -0
  253. package/src/factories/LiteralFactory.ts +10 -3
  254. package/src/factories/MetadataCollection.ts +18 -13
  255. package/src/factories/MetadataCommentTagFactory.ts +583 -0
  256. package/src/factories/MetadataTypeTagFactory.ts +263 -0
  257. package/src/factories/NumericRangeFactory.ts +33 -0
  258. package/src/factories/ProtobufFactory.ts +34 -18
  259. package/src/factories/internal/metadata/emend_metadata_atomics.ts +12 -5
  260. package/src/factories/internal/metadata/emplace_metadata_alias.ts +0 -6
  261. package/src/factories/internal/metadata/{emplace_metadata_array.ts → emplace_metadata_array_type.ts} +3 -3
  262. package/src/factories/internal/metadata/emplace_metadata_object.ts +0 -1
  263. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +2 -2
  264. package/src/factories/internal/metadata/iterate_metadata_array.ts +13 -5
  265. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +7 -4
  266. package/src/factories/internal/metadata/iterate_metadata_collection.ts +23 -16
  267. package/src/factories/internal/metadata/{iterate_metadata_tag.ts → iterate_metadata_comment_tags.ts} +4 -8
  268. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +113 -16
  269. package/src/factories/internal/metadata/iterate_metadata_object.ts +10 -10
  270. package/src/factories/internal/metadata/iterate_metadata_sort.ts +2 -2
  271. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +12 -4
  272. package/src/functional/$any.ts +3 -1
  273. package/src/functional/$clone.ts +4 -0
  274. package/src/functional/Namespace.ts +0 -16
  275. package/src/module.ts +2 -55
  276. package/src/programmers/AssertProgrammer.ts +57 -21
  277. package/src/programmers/CheckerProgrammer.ts +81 -123
  278. package/src/programmers/FeatureProgrammer.ts +9 -31
  279. package/src/programmers/IsProgrammer.ts +53 -42
  280. package/src/programmers/RandomProgrammer.ts +242 -239
  281. package/src/programmers/ValidateProgrammer.ts +60 -21
  282. package/src/programmers/helpers/AtomicPredicator.ts +2 -2
  283. package/src/programmers/helpers/CloneJoiner.ts +57 -20
  284. package/src/programmers/helpers/ICheckEntry.ts +4 -3
  285. package/src/programmers/helpers/ProtobufUtil.ts +113 -17
  286. package/src/programmers/helpers/RandomJoiner.ts +11 -33
  287. package/src/programmers/helpers/RandomRanger.ts +16 -51
  288. package/src/programmers/helpers/UnionExplorer.ts +46 -51
  289. package/src/programmers/internal/application_alias.ts +0 -1
  290. package/src/programmers/internal/application_array.ts +33 -10
  291. package/src/programmers/internal/application_default_string.ts +6 -2
  292. package/src/programmers/internal/application_number.ts +76 -70
  293. package/src/programmers/internal/application_object.ts +0 -3
  294. package/src/programmers/internal/application_resolved.ts +2 -2
  295. package/src/programmers/internal/application_schema.ts +38 -20
  296. package/src/programmers/internal/application_string.ts +33 -27
  297. package/src/programmers/internal/application_tuple.ts +12 -11
  298. package/src/programmers/internal/check_array_length.ts +34 -28
  299. package/src/programmers/internal/check_bigint.ts +26 -91
  300. package/src/programmers/internal/check_dynamic_properties.ts +1 -2
  301. package/src/programmers/internal/check_number.ts +83 -236
  302. package/src/programmers/internal/check_string.ts +37 -17
  303. package/src/programmers/internal/check_template.ts +17 -12
  304. package/src/programmers/internal/check_union_array_like.ts +4 -18
  305. package/src/programmers/internal/feature_object_entries.ts +12 -18
  306. package/src/programmers/internal/metadata_to_pattern.ts +4 -4
  307. package/src/programmers/internal/random_custom.ts +3 -3
  308. package/src/programmers/internal/stringify_dynamic_properties.ts +1 -1
  309. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +9 -5
  310. package/src/programmers/json/JsonStringifyProgrammer.ts +46 -41
  311. package/src/programmers/misc/MiscCloneProgrammer.ts +23 -27
  312. package/src/programmers/{IsPruneProgrammer.ts → misc/MiscIsPruneProgrammer.ts} +7 -7
  313. package/src/programmers/misc/MiscLiteralsProgrammer.ts +2 -2
  314. package/src/programmers/misc/MiscPruneProgrammer.ts +24 -24
  315. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +40 -74
  316. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +154 -99
  317. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +6 -36
  318. package/src/schemas/json/IJsonSchema.ts +11 -38
  319. package/src/schemas/metadata/IMetadata.ts +11 -5
  320. package/src/schemas/metadata/IMetadataAlias.ts +0 -2
  321. package/src/schemas/metadata/IMetadataArray.ts +4 -7
  322. package/src/schemas/metadata/IMetadataArrayType.ts +10 -0
  323. package/src/schemas/metadata/IMetadataAtomic.ts +6 -0
  324. package/src/schemas/metadata/IMetadataCollection.ts +4 -4
  325. package/src/schemas/metadata/IMetadataDictionary.ts +4 -4
  326. package/src/schemas/metadata/IMetadataProperty.ts +0 -2
  327. package/src/schemas/metadata/IMetadataTuple.ts +4 -7
  328. package/src/schemas/metadata/IMetadataTupleType.ts +10 -0
  329. package/src/schemas/metadata/IMetadataTypeTag.ts +8 -0
  330. package/src/schemas/metadata/Metadata.ts +121 -70
  331. package/src/schemas/metadata/MetadataAlias.ts +0 -5
  332. package/src/schemas/metadata/MetadataArray.ts +28 -34
  333. package/src/schemas/metadata/MetadataArrayType.ts +57 -0
  334. package/src/schemas/metadata/MetadataAtomic.ts +42 -0
  335. package/src/schemas/metadata/MetadataProperty.ts +0 -5
  336. package/src/schemas/metadata/MetadataTuple.ts +9 -35
  337. package/src/schemas/metadata/MetadataTupleType.ts +67 -0
  338. package/src/tags/ExclusiveMaximum.ts +13 -0
  339. package/src/tags/ExclusiveMinimum.ts +13 -0
  340. package/src/tags/Format.ts +30 -0
  341. package/src/tags/MaxItems.ts +9 -0
  342. package/src/tags/MaxLength.ts +9 -0
  343. package/src/tags/Maximum.ts +13 -0
  344. package/src/tags/MinItems.ts +9 -0
  345. package/src/tags/MinLength.ts +9 -0
  346. package/src/tags/Minimum.ts +13 -0
  347. package/src/tags/MultipleOf.ts +15 -0
  348. package/src/tags/Pattern.ts +8 -0
  349. package/src/tags/TagBase.ts +22 -0
  350. package/src/tags/Type.ts +27 -0
  351. package/src/tags/index.ts +13 -0
  352. package/src/transformers/FileTransformer.ts +6 -6
  353. package/src/transformers/IProject.ts +1 -0
  354. package/src/transformers/features/json/JsonApplicationTransformer.ts +3 -2
  355. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +2 -2
  356. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +2 -2
  357. package/src/typings/Atomic.ts +1 -0
  358. package/src/typings/ProtobufAtomic.ts +19 -0
  359. package/lib/CustomValidatorMap.d.ts +0 -110
  360. package/lib/CustomValidatorMap.js.map +0 -1
  361. package/lib/factories/MetadataTagFactory.d.ts +0 -6
  362. package/lib/factories/MetadataTagFactory.js +0 -310
  363. package/lib/factories/MetadataTagFactory.js.map +0 -1
  364. package/lib/factories/internal/metadata/emplace_metadata_array.d.ts +0 -5
  365. package/lib/factories/internal/metadata/emplace_metadata_array.js.map +0 -1
  366. package/lib/factories/internal/metadata/iterate_metadata_tag.d.ts +0 -2
  367. package/lib/factories/internal/metadata/iterate_metadata_tag.js.map +0 -1
  368. package/lib/functional/$is_custom.d.ts +0 -2
  369. package/lib/functional/$is_custom.js +0 -13
  370. package/lib/functional/$is_custom.js.map +0 -1
  371. package/lib/functional/$is_date.d.ts +0 -1
  372. package/lib/functional/$is_date.js +0 -7
  373. package/lib/functional/$is_date.js.map +0 -1
  374. package/lib/functional/$is_datetime.d.ts +0 -1
  375. package/lib/functional/$is_datetime.js +0 -8
  376. package/lib/functional/$is_datetime.js.map +0 -1
  377. package/lib/functional/$is_email.d.ts +0 -1
  378. package/lib/functional/$is_email.js +0 -7
  379. package/lib/functional/$is_email.js.map +0 -1
  380. package/lib/functional/$is_ipv4.d.ts +0 -1
  381. package/lib/functional/$is_ipv4.js +0 -7
  382. package/lib/functional/$is_ipv4.js.map +0 -1
  383. package/lib/functional/$is_ipv6.d.ts +0 -1
  384. package/lib/functional/$is_ipv6.js +0 -7
  385. package/lib/functional/$is_ipv6.js.map +0 -1
  386. package/lib/functional/$is_url.d.ts +0 -1
  387. package/lib/functional/$is_url.js +0 -7
  388. package/lib/functional/$is_url.js.map +0 -1
  389. package/lib/functional/$is_uuid.d.ts +0 -1
  390. package/lib/functional/$is_uuid.js +0 -7
  391. package/lib/functional/$is_uuid.js.map +0 -1
  392. package/lib/programmers/IsPruneProgrammer.js.map +0 -1
  393. package/lib/programmers/internal/check_array.js +0 -44
  394. package/lib/programmers/internal/check_array.js.map +0 -1
  395. package/lib/programmers/internal/check_custom.d.ts +0 -1
  396. package/lib/programmers/internal/check_custom.js +0 -30
  397. package/lib/programmers/internal/check_custom.js.map +0 -1
  398. package/lib/programmers/internal/check_string_tags.d.ts +0 -1
  399. package/lib/programmers/internal/check_string_tags.js +0 -89
  400. package/lib/programmers/internal/check_string_tags.js.map +0 -1
  401. package/lib/programmers/internal/get_comment_tags.d.ts +0 -1
  402. package/lib/programmers/internal/get_comment_tags.js +0 -25
  403. package/lib/programmers/internal/get_comment_tags.js.map +0 -1
  404. package/lib/schemas/metadata/ICommentTag.d.ts +0 -4
  405. package/lib/schemas/metadata/ICommentTag.js.map +0 -1
  406. package/lib/schemas/metadata/IMetadataTag.d.ts +0 -63
  407. package/lib/schemas/metadata/IMetadataTag.js.map +0 -1
  408. package/src/CustomValidatorMap.ts +0 -126
  409. package/src/factories/MetadataTagFactory.ts +0 -364
  410. package/src/functional/$is_custom.ts +0 -14
  411. package/src/functional/$is_date.ts +0 -3
  412. package/src/functional/$is_datetime.ts +0 -2
  413. package/src/functional/$is_email.ts +0 -4
  414. package/src/functional/$is_ipv4.ts +0 -4
  415. package/src/functional/$is_ipv6.ts +0 -4
  416. package/src/functional/$is_url.ts +0 -4
  417. package/src/functional/$is_uuid.ts +0 -4
  418. package/src/programmers/internal/check_array.ts +0 -30
  419. package/src/programmers/internal/check_custom.ts +0 -31
  420. package/src/programmers/internal/check_string_tags.ts +0 -67
  421. package/src/programmers/internal/get_comment_tags.ts +0 -23
  422. package/src/schemas/metadata/ICommentTag.ts +0 -4
  423. package/src/schemas/metadata/IMetadataTag.ts +0 -112
  424. /package/lib/{programmers/internal/check_array.d.ts → factories/MetadataCommentTagFactory.d.ts} +0 -0
@@ -1,89 +0,0 @@
1
- "use strict";
2
- var __values = (this && this.__values) || function(o) {
3
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
- if (m) return m.call(o);
5
- if (o && typeof o.length === "number") return {
6
- next: function () {
7
- if (o && i >= o.length) o = void 0;
8
- return { value: o && o[i++], done: !o };
9
- }
10
- };
11
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- var __importDefault = (this && this.__importDefault) || function (mod) {
30
- return (mod && mod.__esModule) ? mod : { "default": mod };
31
- };
32
- Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.check_string_tags = void 0;
34
- var typescript_1 = __importDefault(require("typescript"));
35
- var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
36
- var check_string_tags = function (importer) {
37
- return function (tagList) {
38
- return function (input) {
39
- var e_1, _a;
40
- var conditions = [];
41
- try {
42
- for (var tagList_1 = __values(tagList), tagList_1_1 = tagList_1.next(); !tagList_1_1.done; tagList_1_1 = tagList_1.next()) {
43
- var tag = tagList_1_1.value;
44
- if (tag.kind === "format")
45
- conditions.push([
46
- tag,
47
- typescript_1.default.factory.createCallExpression(importer.use("is_".concat(tag.value)), undefined, [input]),
48
- ]);
49
- else if (tag.kind === "pattern")
50
- conditions.push([
51
- tag,
52
- typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("RegExp(/".concat(tag.value, "/).test")), undefined, [input]),
53
- ]);
54
- else if (tag.kind === "length")
55
- conditions.push([
56
- tag,
57
- typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.access(input)("length")),
58
- ]);
59
- else if (tag.kind === "minLength")
60
- conditions.push([
61
- tag,
62
- typescript_1.default.factory.createLessThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.access(input)("length")),
63
- ]);
64
- else if (tag.kind === "maxLength")
65
- conditions.push([
66
- tag,
67
- typescript_1.default.factory.createGreaterThanEquals(typescript_1.default.factory.createNumericLiteral(tag.value), IdentifierFactory_1.IdentifierFactory.access(input)("length")),
68
- ]);
69
- }
70
- }
71
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
72
- finally {
73
- try {
74
- if (tagList_1_1 && !tagList_1_1.done && (_a = tagList_1.return)) _a.call(tagList_1);
75
- }
76
- finally { if (e_1) throw e_1.error; }
77
- }
78
- return conditions.map(function (_a) {
79
- var _b = __read(_a, 2), tag = _b[0], expression = _b[1];
80
- return ({
81
- expected: "string (@".concat(tag.kind, " ").concat(tag.value, ")"),
82
- expression: expression,
83
- });
84
- });
85
- };
86
- };
87
- };
88
- exports.check_string_tags = check_string_tags;
89
- //# sourceMappingURL=check_string_tags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check_string_tags.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_string_tags.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAU/D,IAAM,iBAAiB,GAC1B,UAAC,QAA0B;IAC3B,OAAA,UAAC,OAAuB;QACxB,OAAA,UAAC,KAAoB;;YACjB,IAAM,UAAU,GAAoC,EAAE,CAAC;;gBACvD,KAAkB,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA;oBAApB,IAAM,GAAG,oBAAA;oBACV,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBACrB,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,GAAG,CAAC,aAAM,GAAG,CAAC,KAAK,CAAE,CAAC,EAC/B,SAAS,EACT,CAAC,KAAK,CAAC,CACV;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;wBAC3B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,kBAAW,GAAG,CAAC,KAAK,YAAS,CAChC,EACD,SAAS,EACT,CAAC,KAAK,CAAC,CACV;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBAC1B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAC5C;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;wBAC7B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAC5C;yBACJ,CAAC,CAAC;yBACF,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;wBAC7B,UAAU,CAAC,IAAI,CAAC;4BACZ,GAAG;4BACH,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1C,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAC5C;yBACJ,CAAC,CAAC;iBAAA;;;;;;;;;YACX,OAAO,UAAU,CAAC,GAAG,CAAC,UAAC,EAAiB;oBAAjB,KAAA,aAAiB,EAAhB,GAAG,QAAA,EAAE,UAAU,QAAA;gBAAM,OAAA,CAAC;oBAC1C,QAAQ,EAAE,mBAAY,GAAG,CAAC,IAAI,cAAI,GAAG,CAAC,KAAK,MAAG;oBAC9C,UAAU,YAAA;iBACb,CAAC;YAH2C,CAG3C,CAAC,CAAC;QACR,CAAC;IAnDD,CAmDC;AApDD,CAoDC,CAAC;AAtDO,QAAA,iBAAiB,qBAsDxB"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.get_comment_tags = void 0;
4
- var MetadataTagFactory_1 = require("../../factories/MetadataTagFactory");
5
- var get_comment_tags = function (excludeMetaTags) { return function (jsDocTags) {
6
- return jsDocTags
7
- .filter(function (tag) {
8
- var _a, _b, _c, _d;
9
- return tag.name !== "random" &&
10
- (!((_a = tag.text) === null || _a === void 0 ? void 0 : _a.length) ||
11
- (((_b = tag.text) === null || _b === void 0 ? void 0 : _b.length) === 1 &&
12
- ((_d = (_c = tag.text) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.kind) === "text")) &&
13
- (!excludeMetaTags ||
14
- MetadataTagFactory_1.MetadataTagFactory._PARSER[tag.name] === undefined);
15
- })
16
- .map(function (tag) {
17
- var _a, _b;
18
- return ({
19
- name: tag.name,
20
- value: (_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text,
21
- });
22
- });
23
- }; };
24
- exports.get_comment_tags = get_comment_tags;
25
- //# sourceMappingURL=get_comment_tags.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get_comment_tags.js","sourceRoot":"","sources":["../../../src/programmers/internal/get_comment_tags.ts"],"names":[],"mappings":";;;AAAA,yEAAwE;AAOjE,IAAM,gBAAgB,GACzB,UAAC,eAAwB,IAAK,OAAA,UAAC,SAA0B;IACrD,OAAA,SAAS;SACJ,MAAM,CACH,UAAC,GAAG;;QACA,OAAA,GAAG,CAAC,IAAI,KAAK,QAAQ;YACrB,CAAC,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,CAAA;gBACd,CAAC,CAAA,MAAA,GAAG,CAAC,IAAI,0CAAE,MAAM,MAAK,CAAC;oBACnB,CAAA,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAG,CAAC,CAAC,0CAAE,IAAI,MAAK,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,eAAe;gBACb,uCAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAAA;KAAA,CAC9D;SACA,GAAG,CAAC,UAAC,GAAG;;QAAK,OAAA,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,KAAK,EAAE,MAAA,MAAA,GAAG,CAAC,IAAI,0CAAG,CAAC,CAAC,0CAAE,IAAI;SAC7B,CAAC,CAAA;KAAA,CAAC;AAbP,CAaO,EAdmB,CAcnB,CAAC;AAfH,QAAA,gBAAgB,oBAeb"}
@@ -1,4 +0,0 @@
1
- export interface ICommentTag {
2
- name: string;
3
- value?: string;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ICommentTag.js","sourceRoot":"","sources":["../../../src/schemas/metadata/ICommentTag.ts"],"names":[],"mappings":""}
@@ -1,63 +0,0 @@
1
- export type IMetadataTag = IMetadataTag.INumberType | IMetadataTag.IMinimum | IMetadataTag.IMaximum | IMetadataTag.IExclusiveMinimum | IMetadataTag.IExclusiveMaximum | IMetadataTag.IMultipleOf | IMetadataTag.IStep | IMetadataTag.IFormat | IMetadataTag.IPattern | IMetadataTag.ILength | IMetadataTag.IMinLength | IMetadataTag.IMaxLength | IMetadataTag.IItems | IMetadataTag.IMinItems | IMetadataTag.IMaxItems;
2
- export declare namespace IMetadataTag {
3
- interface INumberType {
4
- kind: "type";
5
- value: "int" | "uint" | "int32" | "uint32" | "int64" | "uint64" | "float";
6
- }
7
- interface IMinimum {
8
- kind: "minimum";
9
- value: number;
10
- }
11
- interface IMaximum {
12
- kind: "maximum";
13
- value: number;
14
- }
15
- interface IExclusiveMinimum {
16
- kind: "exclusiveMinimum";
17
- value: number;
18
- }
19
- interface IExclusiveMaximum {
20
- kind: "exclusiveMaximum";
21
- value: number;
22
- }
23
- interface IMultipleOf {
24
- kind: "multipleOf";
25
- value: number;
26
- }
27
- interface IStep {
28
- kind: "step";
29
- value: number;
30
- }
31
- interface IFormat {
32
- kind: "format";
33
- value: "uuid" | "email" | "url" | "ipv4" | "ipv6" | "date" | "datetime";
34
- }
35
- interface IPattern {
36
- kind: "pattern";
37
- value: string;
38
- }
39
- interface ILength {
40
- kind: "length";
41
- value: number;
42
- }
43
- interface IMinLength {
44
- kind: "minLength";
45
- value: number;
46
- }
47
- interface IMaxLength {
48
- kind: "maxLength";
49
- value: number;
50
- }
51
- interface IItems {
52
- kind: "items";
53
- value: number;
54
- }
55
- interface IMinItems {
56
- kind: "minItems";
57
- value: number;
58
- }
59
- interface IMaxItems {
60
- kind: "maxItems";
61
- value: number;
62
- }
63
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"IMetadataTag.js","sourceRoot":"","sources":["../../../src/schemas/metadata/IMetadataTag.ts"],"names":[],"mappings":""}
@@ -1,126 +0,0 @@
1
- import { Customizable } from "./typings/Customizable";
2
-
3
- /**
4
- * Map of custom validators.
5
- *
6
- * Map of custom validator functions, storing tag name and type of target value
7
- * as key, and custom validator function as value.
8
- *
9
- * When you want to add a custom validation logic utilizing comment tags, you
10
- * can insert a custom validator function with specific tag name and type of
11
- * the target value like below.
12
- *
13
- * ```ts
14
- * typia.customValidators.insert("powerOf")("number")(
15
- * (text: string) => {
16
- * const denominator: number = Math.log(Number(text));
17
- * return (value: number) => {
18
- * value = Math.log(value) / denominator;
19
- * return value === Math.floor(value);
20
- * };
21
- * }
22
- * );
23
- * typia.customValidators.insert("dollar")("string")(
24
- * () => (value: string) => value.startsWith("$"),
25
- * );
26
- *
27
- * interface TagCustom {
28
- * /**
29
- * * @powerOf 10
30
- * *\/
31
- * powerOf: number;
32
- *
33
- * /**
34
- * * @dollar
35
- * *\/
36
- * dollar: string;
37
- * }
38
- * ```
39
- *
40
- * @author Jeongho Nam - https://github.com/samchon
41
- */
42
- export interface CustomValidatorMap {
43
- /**
44
- * Get number of stored tags.
45
- *
46
- * @return Number of stored tags
47
- */
48
- size(): number;
49
-
50
- /**
51
- * Get number of stored types of the specified tag name.
52
- *
53
- * In other words, number of stored custom validator functions of
54
- * the specified tag name.
55
- *
56
- * @param name Tag name
57
- * @return Number of stored types function
58
- */
59
- size(name: string): number;
60
-
61
- /**
62
- * Test whether custom validator function exists or not.
63
- *
64
- * @param name Tag name
65
- * @param type Type of the target value
66
- * @returns Whether exists or not
67
- */
68
- has: (name: string) => (type: keyof Customizable) => boolean;
69
-
70
- /**
71
- * Get custom validator function.
72
- *
73
- * @param name Tag name
74
- * @param type Type of the target value
75
- * @returns Custom validator function or undefined value
76
- */
77
- get(
78
- name: string,
79
- ): <Type extends keyof Customizable>(
80
- type: Type,
81
- ) => CustomValidatorMap.Closure<Type> | undefined;
82
-
83
- /**
84
- * Insert a new custom validator function.
85
- *
86
- * You can add a custom validation logic utilizing comment tags,
87
- * by inserting a function which returns a boolean value, with specific
88
- * tag name and type of the target value.
89
- *
90
- * However, if you try to insert a duplicated tag name and type, the
91
- * closure function would not be enrolled and `false` value would be
92
- * returned.
93
- *
94
- * @param name Tag name
95
- * @param type Type of the target value
96
- * @param closure Custom validator function
97
- * @returns Whether succeeded to insert or not
98
- */
99
- insert(
100
- name: string,
101
- ): <Type extends keyof Customizable>(
102
- type: Type,
103
- ) => (closure: CustomValidatorMap.Closure<Type>) => boolean;
104
-
105
- /**
106
- * Erase custom validator function.
107
- *
108
- * @param name Tag name
109
- * @param type Type of the target value
110
- * @returns Whether succeeded to erase or not
111
- */
112
- erase(name: string): (type: keyof Customizable) => boolean;
113
- }
114
- export namespace CustomValidatorMap {
115
- /**
116
- * Type of closure function of custom validation.
117
- *
118
- * @template Type Type of the target value
119
- * @param text Text of the tag. For example, if the tag is `@powerOf 10`, `text` is 10.
120
- * @param value Value to validate
121
- * @returns Whether the value is valid or not
122
- */
123
- export type Closure<Type extends keyof Customizable> = (
124
- text: string,
125
- ) => (value: Customizable[Type]) => boolean;
126
- }