typia 9.7.1 → 9.7.2

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 (411) hide show
  1. package/lib/AssertionGuard.d.mts +27 -25
  2. package/lib/AssertionGuard.d.ts +27 -25
  3. package/lib/CamelCase.d.mts +1 -1
  4. package/lib/CamelCase.d.ts +1 -1
  5. package/lib/IRandomGenerator.d.mts +44 -42
  6. package/lib/IRandomGenerator.d.ts +44 -42
  7. package/lib/IReadableURLSearchParams.d.mts +2 -2
  8. package/lib/IReadableURLSearchParams.d.ts +2 -2
  9. package/lib/PascalCase.d.mts +1 -1
  10. package/lib/PascalCase.d.ts +1 -1
  11. package/lib/Primitive.d.mts +20 -22
  12. package/lib/Primitive.d.ts +20 -22
  13. package/lib/Resolved.d.mts +16 -18
  14. package/lib/Resolved.d.ts +16 -18
  15. package/lib/SnakeCase.d.mts +3 -2
  16. package/lib/SnakeCase.d.ts +3 -2
  17. package/lib/TypeGuardError.d.mts +88 -61
  18. package/lib/TypeGuardError.d.ts +88 -61
  19. package/lib/TypeGuardError.js +40 -29
  20. package/lib/TypeGuardError.js.map +1 -1
  21. package/lib/TypeGuardError.mjs +70 -48
  22. package/lib/factories/MetadataCollection.js +4 -12
  23. package/lib/factories/MetadataCollection.js.map +1 -1
  24. package/lib/factories/MetadataCollection.mjs +4 -12
  25. package/lib/factories/MetadataCommentTagFactory.js +5 -15
  26. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  27. package/lib/factories/MetadataCommentTagFactory.mjs +5 -15
  28. package/lib/factories/MetadataFactory.js +1 -3
  29. package/lib/factories/MetadataFactory.js.map +1 -1
  30. package/lib/factories/MetadataFactory.mjs +1 -3
  31. package/lib/factories/ProtobufFactory.js +1 -3
  32. package/lib/factories/ProtobufFactory.js.map +1 -1
  33. package/lib/factories/ProtobufFactory.mjs +1 -3
  34. package/lib/functional.d.mts +196 -195
  35. package/lib/functional.d.ts +196 -195
  36. package/lib/functional.js +18 -54
  37. package/lib/functional.js.map +1 -1
  38. package/lib/functional.mjs +18 -54
  39. package/lib/http.d.mts +303 -319
  40. package/lib/http.d.ts +303 -319
  41. package/lib/http.js +26 -78
  42. package/lib/http.js.map +1 -1
  43. package/lib/http.mjs +26 -78
  44. package/lib/internal/_ProtobufReader.d.mts +3 -9
  45. package/lib/internal/_ProtobufReader.d.ts +3 -9
  46. package/lib/internal/_ProtobufReader.js.map +1 -1
  47. package/lib/internal/_ProtobufReader.mjs +3 -9
  48. package/lib/internal/_ProtobufSizer.d.mts +4 -12
  49. package/lib/internal/_ProtobufSizer.d.ts +4 -12
  50. package/lib/internal/_ProtobufSizer.js.map +1 -1
  51. package/lib/internal/_ProtobufSizer.mjs +4 -12
  52. package/lib/internal/_ProtobufWriter.d.mts +5 -15
  53. package/lib/internal/_ProtobufWriter.d.ts +5 -15
  54. package/lib/internal/_ProtobufWriter.js.map +1 -1
  55. package/lib/internal/_ProtobufWriter.mjs +5 -15
  56. package/lib/internal/_jsonStringifyString.d.mts +4 -4
  57. package/lib/internal/_jsonStringifyString.d.ts +4 -4
  58. package/lib/internal/_jsonStringifyString.js +4 -4
  59. package/lib/internal/_jsonStringifyString.mjs +4 -4
  60. package/lib/json.d.mts +174 -195
  61. package/lib/json.d.ts +174 -195
  62. package/lib/json.js +16 -48
  63. package/lib/json.js.map +1 -1
  64. package/lib/json.mjs +16 -48
  65. package/lib/llm.d.mts +275 -192
  66. package/lib/llm.d.ts +275 -192
  67. package/lib/llm.js +4 -12
  68. package/lib/llm.js.map +1 -1
  69. package/lib/llm.mjs +4 -12
  70. package/lib/misc.d.mts +149 -172
  71. package/lib/misc.d.ts +149 -172
  72. package/lib/misc.js +17 -51
  73. package/lib/misc.js.map +1 -1
  74. package/lib/misc.mjs +17 -51
  75. package/lib/module.d.mts +263 -275
  76. package/lib/module.d.ts +263 -275
  77. package/lib/module.js +18 -54
  78. package/lib/module.js.map +1 -1
  79. package/lib/module.mjs +18 -54
  80. package/lib/notations.d.mts +153 -174
  81. package/lib/notations.d.ts +153 -174
  82. package/lib/notations.js +24 -72
  83. package/lib/notations.js.map +1 -1
  84. package/lib/notations.mjs +24 -72
  85. package/lib/programmers/FeatureProgrammer.d.mts +19 -41
  86. package/lib/programmers/FeatureProgrammer.d.ts +19 -41
  87. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  88. package/lib/programmers/ImportProgrammer.js +3 -9
  89. package/lib/programmers/ImportProgrammer.js.map +1 -1
  90. package/lib/programmers/ImportProgrammer.mjs +3 -9
  91. package/lib/programmers/RandomProgrammer.js +6 -0
  92. package/lib/programmers/RandomProgrammer.js.map +1 -1
  93. package/lib/programmers/RandomProgrammer.mjs +6 -0
  94. package/lib/programmers/helpers/ProtobufWire.d.mts +13 -13
  95. package/lib/programmers/helpers/ProtobufWire.d.ts +13 -13
  96. package/lib/programmers/internal/check_array_length.js +2 -6
  97. package/lib/programmers/internal/check_array_length.js.map +1 -1
  98. package/lib/programmers/internal/check_array_length.mjs +2 -6
  99. package/lib/programmers/internal/check_bigint.js +2 -6
  100. package/lib/programmers/internal/check_bigint.js.map +1 -1
  101. package/lib/programmers/internal/check_bigint.mjs +2 -6
  102. package/lib/programmers/internal/check_dynamic_key.js +2 -6
  103. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  104. package/lib/programmers/internal/check_dynamic_key.mjs +2 -6
  105. package/lib/programmers/internal/check_dynamic_properties.js +3 -9
  106. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  107. package/lib/programmers/internal/check_dynamic_properties.mjs +3 -9
  108. package/lib/programmers/internal/check_everything.js +1 -3
  109. package/lib/programmers/internal/check_everything.js.map +1 -1
  110. package/lib/programmers/internal/check_everything.mjs +1 -3
  111. package/lib/programmers/internal/check_native.js +2 -6
  112. package/lib/programmers/internal/check_native.js.map +1 -1
  113. package/lib/programmers/internal/check_native.mjs +2 -6
  114. package/lib/programmers/internal/check_number.js +2 -6
  115. package/lib/programmers/internal/check_number.js.map +1 -1
  116. package/lib/programmers/internal/check_number.mjs +2 -6
  117. package/lib/programmers/internal/check_object.js +2 -6
  118. package/lib/programmers/internal/check_object.js.map +1 -1
  119. package/lib/programmers/internal/check_object.mjs +2 -6
  120. package/lib/programmers/internal/check_string.js +2 -6
  121. package/lib/programmers/internal/check_string.js.map +1 -1
  122. package/lib/programmers/internal/check_string.mjs +2 -6
  123. package/lib/programmers/internal/check_template.js +1 -3
  124. package/lib/programmers/internal/check_template.js.map +1 -1
  125. package/lib/programmers/internal/check_template.mjs +1 -3
  126. package/lib/programmers/internal/check_union_array_like.js +1 -3
  127. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  128. package/lib/programmers/internal/check_union_array_like.mjs +1 -3
  129. package/lib/programmers/internal/decode_union_object.js +2 -6
  130. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  131. package/lib/programmers/internal/decode_union_object.mjs +2 -6
  132. package/lib/programmers/internal/feature_object_entries.js +1 -3
  133. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  134. package/lib/programmers/internal/feature_object_entries.mjs +1 -3
  135. package/lib/programmers/internal/json_schema_escaped.js +2 -6
  136. package/lib/programmers/internal/json_schema_escaped.js.map +1 -1
  137. package/lib/programmers/internal/json_schema_escaped.mjs +2 -6
  138. package/lib/programmers/internal/json_schema_object.js +3 -9
  139. package/lib/programmers/internal/json_schema_object.js.map +1 -1
  140. package/lib/programmers/internal/json_schema_object.mjs +3 -9
  141. package/lib/programmers/internal/metadata_to_pattern.js +1 -3
  142. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  143. package/lib/programmers/internal/metadata_to_pattern.mjs +1 -3
  144. package/lib/programmers/internal/postfix_of_tuple.js +1 -3
  145. package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
  146. package/lib/programmers/internal/postfix_of_tuple.mjs +1 -3
  147. package/lib/programmers/internal/prune_object_properties.js +1 -3
  148. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  149. package/lib/programmers/internal/prune_object_properties.mjs +1 -3
  150. package/lib/programmers/internal/stringify_dynamic_properties.js +2 -6
  151. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  152. package/lib/programmers/internal/stringify_dynamic_properties.mjs +2 -6
  153. package/lib/programmers/internal/stringify_native.js +1 -3
  154. package/lib/programmers/internal/stringify_native.js.map +1 -1
  155. package/lib/programmers/internal/stringify_native.mjs +1 -3
  156. package/lib/programmers/internal/stringify_regular_properties.js +2 -6
  157. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  158. package/lib/programmers/internal/stringify_regular_properties.mjs +2 -6
  159. package/lib/programmers/internal/template_to_pattern.js +1 -3
  160. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  161. package/lib/programmers/internal/template_to_pattern.mjs +1 -3
  162. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +1 -3
  163. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  164. package/lib/programmers/internal/wrap_metadata_rest_tuple.mjs +1 -3
  165. package/lib/programmers/json/JsonStringifyProgrammer.js +2 -2
  166. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  167. package/lib/programmers/json/JsonStringifyProgrammer.mjs +2 -2
  168. package/lib/protobuf.d.mts +290 -297
  169. package/lib/protobuf.d.ts +290 -297
  170. package/lib/protobuf.js +17 -51
  171. package/lib/protobuf.js.map +1 -1
  172. package/lib/protobuf.mjs +17 -51
  173. package/lib/reflect.d.mts +2 -4
  174. package/lib/reflect.d.ts +2 -4
  175. package/lib/reflect.js +1 -3
  176. package/lib/reflect.js.map +1 -1
  177. package/lib/reflect.mjs +1 -3
  178. package/lib/schemas/json/IJsonApplication.d.mts +4 -4
  179. package/lib/schemas/json/IJsonApplication.d.ts +4 -4
  180. package/lib/schemas/json/IJsonSchemaCollection.d.mts +73 -56
  181. package/lib/schemas/json/IJsonSchemaCollection.d.ts +73 -56
  182. package/lib/schemas/json/IJsonSchemaUnit.d.mts +83 -70
  183. package/lib/schemas/json/IJsonSchemaUnit.d.ts +83 -70
  184. package/lib/schemas/metadata/Metadata.d.mts +1 -3
  185. package/lib/schemas/metadata/Metadata.d.ts +1 -3
  186. package/lib/schemas/metadata/Metadata.js +9 -27
  187. package/lib/schemas/metadata/Metadata.js.map +1 -1
  188. package/lib/schemas/metadata/Metadata.mjs +9 -27
  189. package/lib/schemas/metadata/MetadataAliasType.d.mts +1 -3
  190. package/lib/schemas/metadata/MetadataAliasType.d.ts +1 -3
  191. package/lib/schemas/metadata/MetadataAliasType.js +3 -9
  192. package/lib/schemas/metadata/MetadataAliasType.js.map +1 -1
  193. package/lib/schemas/metadata/MetadataAliasType.mjs +3 -9
  194. package/lib/schemas/metadata/MetadataApplication.d.mts +1 -3
  195. package/lib/schemas/metadata/MetadataApplication.d.ts +1 -3
  196. package/lib/schemas/metadata/MetadataApplication.js +2 -6
  197. package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
  198. package/lib/schemas/metadata/MetadataApplication.mjs +2 -6
  199. package/lib/schemas/metadata/MetadataArray.d.mts +1 -3
  200. package/lib/schemas/metadata/MetadataArray.d.ts +1 -3
  201. package/lib/schemas/metadata/MetadataArray.js +1 -3
  202. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  203. package/lib/schemas/metadata/MetadataArray.mjs +1 -3
  204. package/lib/schemas/metadata/MetadataArrayType.d.mts +1 -3
  205. package/lib/schemas/metadata/MetadataArrayType.d.ts +1 -3
  206. package/lib/schemas/metadata/MetadataArrayType.js +3 -9
  207. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  208. package/lib/schemas/metadata/MetadataArrayType.mjs +3 -9
  209. package/lib/schemas/metadata/MetadataAtomic.js +1 -3
  210. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  211. package/lib/schemas/metadata/MetadataAtomic.mjs +1 -3
  212. package/lib/schemas/metadata/MetadataEscaped.d.mts +1 -3
  213. package/lib/schemas/metadata/MetadataEscaped.d.ts +1 -3
  214. package/lib/schemas/metadata/MetadataEscaped.js +3 -9
  215. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  216. package/lib/schemas/metadata/MetadataEscaped.mjs +3 -9
  217. package/lib/schemas/metadata/MetadataFunction.d.mts +1 -3
  218. package/lib/schemas/metadata/MetadataFunction.d.ts +1 -3
  219. package/lib/schemas/metadata/MetadataFunction.js +2 -6
  220. package/lib/schemas/metadata/MetadataFunction.js.map +1 -1
  221. package/lib/schemas/metadata/MetadataFunction.mjs +2 -6
  222. package/lib/schemas/metadata/MetadataObject.d.mts +1 -3
  223. package/lib/schemas/metadata/MetadataObject.d.ts +1 -3
  224. package/lib/schemas/metadata/MetadataObject.js +1 -3
  225. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  226. package/lib/schemas/metadata/MetadataObject.mjs +1 -3
  227. package/lib/schemas/metadata/MetadataObjectType.d.mts +1 -3
  228. package/lib/schemas/metadata/MetadataObjectType.d.ts +1 -3
  229. package/lib/schemas/metadata/MetadataObjectType.js +5 -15
  230. package/lib/schemas/metadata/MetadataObjectType.js.map +1 -1
  231. package/lib/schemas/metadata/MetadataObjectType.mjs +6 -18
  232. package/lib/schemas/metadata/MetadataParameter.js +1 -3
  233. package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
  234. package/lib/schemas/metadata/MetadataParameter.mjs +1 -3
  235. package/lib/schemas/metadata/MetadataProperty.d.mts +1 -3
  236. package/lib/schemas/metadata/MetadataProperty.d.ts +1 -3
  237. package/lib/schemas/metadata/MetadataProperty.js +3 -9
  238. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  239. package/lib/schemas/metadata/MetadataProperty.mjs +3 -9
  240. package/lib/schemas/metadata/MetadataTemplate.js +1 -3
  241. package/lib/schemas/metadata/MetadataTemplate.js.map +1 -1
  242. package/lib/schemas/metadata/MetadataTemplate.mjs +1 -3
  243. package/lib/schemas/metadata/MetadataTuple.d.mts +1 -3
  244. package/lib/schemas/metadata/MetadataTuple.d.ts +1 -3
  245. package/lib/schemas/metadata/MetadataTuple.js +2 -6
  246. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  247. package/lib/schemas/metadata/MetadataTuple.mjs +2 -6
  248. package/lib/schemas/metadata/MetadataTupleType.js +2 -6
  249. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  250. package/lib/schemas/metadata/MetadataTupleType.mjs +3 -9
  251. package/lib/tags/Constant.d.mts +16 -16
  252. package/lib/tags/Constant.d.ts +16 -16
  253. package/lib/tags/ContentMediaType.d.mts +7 -7
  254. package/lib/tags/ContentMediaType.d.ts +7 -7
  255. package/lib/tags/Default.d.mts +19 -19
  256. package/lib/tags/Default.d.ts +19 -19
  257. package/lib/tags/Example.d.mts +18 -18
  258. package/lib/tags/Example.d.ts +18 -18
  259. package/lib/tags/Examples.d.mts +23 -23
  260. package/lib/tags/Examples.d.ts +23 -23
  261. package/lib/tags/ExclusiveMaximum.d.mts +8 -5
  262. package/lib/tags/ExclusiveMaximum.d.ts +8 -5
  263. package/lib/tags/ExclusiveMinimum.d.mts +8 -5
  264. package/lib/tags/ExclusiveMinimum.d.ts +8 -5
  265. package/lib/tags/Format.d.mts +12 -8
  266. package/lib/tags/Format.d.ts +12 -8
  267. package/lib/tags/JsonSchemaPlugin.d.mts +20 -18
  268. package/lib/tags/JsonSchemaPlugin.d.ts +20 -18
  269. package/lib/tags/MaxItems.d.mts +9 -9
  270. package/lib/tags/MaxItems.d.ts +9 -9
  271. package/lib/tags/MaxLength.d.mts +6 -5
  272. package/lib/tags/MaxLength.d.ts +6 -5
  273. package/lib/tags/Maximum.d.mts +9 -7
  274. package/lib/tags/Maximum.d.ts +9 -7
  275. package/lib/tags/MinItems.d.mts +9 -9
  276. package/lib/tags/MinItems.d.ts +9 -9
  277. package/lib/tags/MinLength.d.mts +6 -5
  278. package/lib/tags/MinLength.d.ts +6 -5
  279. package/lib/tags/Minimum.d.mts +9 -7
  280. package/lib/tags/Minimum.d.ts +9 -7
  281. package/lib/tags/MultipleOf.d.mts +10 -7
  282. package/lib/tags/MultipleOf.d.ts +10 -7
  283. package/lib/tags/Pattern.d.mts +7 -4
  284. package/lib/tags/Pattern.d.ts +7 -4
  285. package/lib/tags/Sequence.d.mts +19 -17
  286. package/lib/tags/Sequence.d.ts +19 -17
  287. package/lib/tags/TagBase.d.mts +21 -28
  288. package/lib/tags/TagBase.d.ts +21 -28
  289. package/lib/tags/Type.d.mts +12 -11
  290. package/lib/tags/Type.d.ts +12 -11
  291. package/lib/tags/UniqueItems.d.mts +10 -9
  292. package/lib/tags/UniqueItems.d.ts +10 -9
  293. package/lib/tags/internal/FormatCheatSheet.d.mts +1 -3
  294. package/lib/tags/internal/FormatCheatSheet.d.ts +1 -3
  295. package/lib/tags/internal/FormatCheatSheet.js +1 -3
  296. package/lib/tags/internal/FormatCheatSheet.js.map +1 -1
  297. package/lib/tags/internal/FormatCheatSheet.mjs +1 -3
  298. package/lib/transformers/ITransformOptions.d.mts +27 -19
  299. package/lib/transformers/ITransformOptions.d.ts +27 -19
  300. package/lib/transformers/ImportTransformer.js +5 -10
  301. package/lib/transformers/ImportTransformer.js.map +1 -1
  302. package/lib/transformers/ImportTransformer.mjs +5 -10
  303. package/lib/transformers/NoTransformConfigurationError.js +1 -3
  304. package/lib/transformers/NoTransformConfigurationError.js.map +1 -1
  305. package/lib/transformers/NoTransformConfigurationError.mjs +1 -3
  306. package/lib/transformers/features/llm/LlmApplicationTransformer.js +1 -3
  307. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  308. package/lib/transformers/features/llm/LlmApplicationTransformer.mjs +1 -3
  309. package/lib/typings/Equal.d.mts +6 -6
  310. package/lib/typings/Equal.d.ts +6 -6
  311. package/package.json +2 -1
  312. package/src/AssertionGuard.ts +27 -25
  313. package/src/CamelCase.ts +1 -1
  314. package/src/IRandomGenerator.ts +44 -42
  315. package/src/IReadableURLSearchParams.ts +2 -2
  316. package/src/PascalCase.ts +1 -1
  317. package/src/Primitive.ts +20 -22
  318. package/src/Resolved.ts +16 -18
  319. package/src/SnakeCase.ts +3 -2
  320. package/src/TypeGuardError.ts +101 -64
  321. package/src/factories/MetadataCollection.ts +4 -12
  322. package/src/factories/MetadataCommentTagFactory.ts +8 -24
  323. package/src/factories/MetadataFactory.ts +1 -3
  324. package/src/factories/ProtobufFactory.ts +1 -3
  325. package/src/functional.ts +214 -249
  326. package/src/http.ts +329 -397
  327. package/src/internal/_ProtobufReader.ts +3 -9
  328. package/src/internal/_ProtobufSizer.ts +4 -12
  329. package/src/internal/_ProtobufWriter.ts +5 -15
  330. package/src/internal/_jsonStringifyString.ts +4 -4
  331. package/src/json.ts +190 -243
  332. package/src/llm.ts +279 -204
  333. package/src/misc.ts +166 -223
  334. package/src/module.ts +281 -329
  335. package/src/notations.ts +177 -246
  336. package/src/programmers/FeatureProgrammer.ts +19 -41
  337. package/src/programmers/ImportProgrammer.ts +3 -9
  338. package/src/programmers/RandomProgrammer.ts +6 -1
  339. package/src/programmers/helpers/ProtobufWire.ts +13 -13
  340. package/src/programmers/internal/check_array_length.ts +2 -6
  341. package/src/programmers/internal/check_bigint.ts +2 -6
  342. package/src/programmers/internal/check_dynamic_key.ts +2 -6
  343. package/src/programmers/internal/check_dynamic_properties.ts +3 -9
  344. package/src/programmers/internal/check_everything.ts +1 -3
  345. package/src/programmers/internal/check_native.ts +2 -6
  346. package/src/programmers/internal/check_number.ts +2 -6
  347. package/src/programmers/internal/check_object.ts +3 -9
  348. package/src/programmers/internal/check_string.ts +2 -6
  349. package/src/programmers/internal/check_template.ts +1 -3
  350. package/src/programmers/internal/check_union_array_like.ts +2 -6
  351. package/src/programmers/internal/decode_union_object.ts +3 -9
  352. package/src/programmers/internal/feature_object_entries.ts +1 -3
  353. package/src/programmers/internal/json_schema_escaped.ts +2 -6
  354. package/src/programmers/internal/json_schema_object.ts +4 -12
  355. package/src/programmers/internal/metadata_to_pattern.ts +1 -3
  356. package/src/programmers/internal/postfix_of_tuple.ts +1 -3
  357. package/src/programmers/internal/prune_object_properties.ts +1 -3
  358. package/src/programmers/internal/stringify_dynamic_properties.ts +2 -6
  359. package/src/programmers/internal/stringify_native.ts +1 -3
  360. package/src/programmers/internal/stringify_regular_properties.ts +2 -6
  361. package/src/programmers/internal/template_to_pattern.ts +1 -3
  362. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +1 -3
  363. package/src/programmers/json/JsonStringifyProgrammer.ts +2 -2
  364. package/src/protobuf.ts +307 -348
  365. package/src/reflect.ts +3 -7
  366. package/src/schemas/json/IJsonApplication.ts +4 -4
  367. package/src/schemas/json/IJsonSchemaCollection.ts +73 -56
  368. package/src/schemas/json/IJsonSchemaUnit.ts +83 -70
  369. package/src/schemas/metadata/IMetadataTypeTag.ts +1 -3
  370. package/src/schemas/metadata/Metadata.ts +9 -27
  371. package/src/schemas/metadata/MetadataAliasType.ts +3 -9
  372. package/src/schemas/metadata/MetadataApplication.ts +2 -6
  373. package/src/schemas/metadata/MetadataArray.ts +1 -3
  374. package/src/schemas/metadata/MetadataArrayType.ts +3 -9
  375. package/src/schemas/metadata/MetadataAtomic.ts +1 -3
  376. package/src/schemas/metadata/MetadataEscaped.ts +3 -9
  377. package/src/schemas/metadata/MetadataFunction.ts +2 -6
  378. package/src/schemas/metadata/MetadataObject.ts +1 -3
  379. package/src/schemas/metadata/MetadataObjectType.ts +6 -18
  380. package/src/schemas/metadata/MetadataParameter.ts +1 -3
  381. package/src/schemas/metadata/MetadataProperty.ts +3 -9
  382. package/src/schemas/metadata/MetadataTemplate.ts +1 -3
  383. package/src/schemas/metadata/MetadataTuple.ts +2 -6
  384. package/src/schemas/metadata/MetadataTupleType.ts +3 -9
  385. package/src/tags/Constant.ts +16 -16
  386. package/src/tags/ContentMediaType.ts +7 -7
  387. package/src/tags/Default.ts +19 -19
  388. package/src/tags/Example.ts +18 -18
  389. package/src/tags/Examples.ts +23 -23
  390. package/src/tags/ExclusiveMaximum.ts +8 -5
  391. package/src/tags/ExclusiveMinimum.ts +8 -5
  392. package/src/tags/Format.ts +12 -8
  393. package/src/tags/JsonSchemaPlugin.ts +20 -18
  394. package/src/tags/MaxItems.ts +9 -9
  395. package/src/tags/MaxLength.ts +6 -5
  396. package/src/tags/Maximum.ts +9 -7
  397. package/src/tags/MinItems.ts +9 -9
  398. package/src/tags/MinLength.ts +6 -5
  399. package/src/tags/Minimum.ts +9 -7
  400. package/src/tags/MultipleOf.ts +10 -7
  401. package/src/tags/Pattern.ts +7 -4
  402. package/src/tags/Sequence.ts +19 -17
  403. package/src/tags/TagBase.ts +21 -28
  404. package/src/tags/Type.ts +12 -11
  405. package/src/tags/UniqueItems.ts +10 -9
  406. package/src/tags/internal/FormatCheatSheet.ts +1 -3
  407. package/src/transformers/ITransformOptions.ts +27 -19
  408. package/src/transformers/ImportTransformer.ts +5 -10
  409. package/src/transformers/NoTransformConfigurationError.ts +1 -3
  410. package/src/transformers/features/llm/LlmApplicationTransformer.ts +1 -3
  411. package/src/typings/Equal.ts +6 -6
@@ -2,20 +2,22 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Maximum value constraint tag.
4
4
  *
5
- * Enforces that a numeric value must be less than or equal to the specified maximum.
6
- * This constraint validates that the input value satisfies: input <= maximum.
5
+ * Enforces that a numeric value must be less than or equal to the specified
6
+ * maximum. This constraint validates that the input value satisfies: input <=
7
+ * maximum.
7
8
  *
8
9
  * Example usage:
10
+ *
9
11
  * ```typescript
10
- * type Percentage = number & tags.Maximum<100>; // Must be <= 100
11
- * type SmallInt = bigint & tags.Maximum<255n>; // BigInt must be <= 255
12
+ * type Percentage = number & tags.Maximum<100>; // Must be <= 100
13
+ * type SmallInt = bigint & tags.Maximum<255n>; // BigInt must be <= 255
12
14
  * ```
13
15
  *
14
- * Note: This tag is mutually exclusive with ExclusiveMaximum. You cannot apply both
15
- * Maximum and ExclusiveMaximum constraints to the same property.
16
+ * Note: This tag is mutually exclusive with ExclusiveMaximum. You cannot apply
17
+ * both Maximum and ExclusiveMaximum constraints to the same property.
16
18
  *
17
- * @template Value - The maximum value constraint (number or bigint literal)
18
19
  * @author Jeongho Nam - https://github.com/samchon
20
+ * @template Value - The maximum value constraint (number or bigint literal)
19
21
  */
20
22
  export type Maximum<Value extends number | bigint> = TagBase<{
21
23
  target: Value extends bigint ? "bigint" : "number";
@@ -2,20 +2,22 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Maximum value constraint tag.
4
4
  *
5
- * Enforces that a numeric value must be less than or equal to the specified maximum.
6
- * This constraint validates that the input value satisfies: input <= maximum.
5
+ * Enforces that a numeric value must be less than or equal to the specified
6
+ * maximum. This constraint validates that the input value satisfies: input <=
7
+ * maximum.
7
8
  *
8
9
  * Example usage:
10
+ *
9
11
  * ```typescript
10
- * type Percentage = number & tags.Maximum<100>; // Must be <= 100
11
- * type SmallInt = bigint & tags.Maximum<255n>; // BigInt must be <= 255
12
+ * type Percentage = number & tags.Maximum<100>; // Must be <= 100
13
+ * type SmallInt = bigint & tags.Maximum<255n>; // BigInt must be <= 255
12
14
  * ```
13
15
  *
14
- * Note: This tag is mutually exclusive with ExclusiveMaximum. You cannot apply both
15
- * Maximum and ExclusiveMaximum constraints to the same property.
16
+ * Note: This tag is mutually exclusive with ExclusiveMaximum. You cannot apply
17
+ * both Maximum and ExclusiveMaximum constraints to the same property.
16
18
  *
17
- * @template Value - The maximum value constraint (number or bigint literal)
18
19
  * @author Jeongho Nam - https://github.com/samchon
20
+ * @template Value - The maximum value constraint (number or bigint literal)
19
21
  */
20
22
  export type Maximum<Value extends number | bigint> = TagBase<{
21
23
  target: Value extends bigint ? "bigint" : "number";
@@ -2,21 +2,21 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Minimum items validation tag for arrays.
4
4
  *
5
- * Enforces that an array contains at least the specified number of items.
6
- * This tag is useful for ensuring arrays have a minimum length requirement,
7
- * such as requiring at least one item in a list or a minimum number of
8
- * selections in a multi-choice field.
5
+ * Enforces that an array contains at least the specified number of items. This
6
+ * tag is useful for ensuring arrays have a minimum length requirement, such as
7
+ * requiring at least one item in a list or a minimum number of selections in a
8
+ * multi-choice field.
9
9
  *
10
+ * @author Jeongho Nam - https://github.com/samchon
10
11
  * @example
11
- * // Require at least 1 item in the array
12
- * type Tags = string[] & MinItems<1>;
12
+ * // Require at least 1 item in the array
13
+ * type Tags = string[] & MinItems<1>;
13
14
  *
14
15
  * @example
15
- * // Require at least 3 selections
16
- * type MultipleChoice = number[] & MinItems<3>;
16
+ * // Require at least 3 selections
17
+ * type MultipleChoice = number[] & MinItems<3>;
17
18
  *
18
19
  * @template Value - The minimum number of items required
19
- * @author Jeongho Nam - https://github.com/samchon
20
20
  */
21
21
  export type MinItems<Value extends number> = TagBase<{
22
22
  target: "array";
@@ -2,21 +2,21 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Minimum items validation tag for arrays.
4
4
  *
5
- * Enforces that an array contains at least the specified number of items.
6
- * This tag is useful for ensuring arrays have a minimum length requirement,
7
- * such as requiring at least one item in a list or a minimum number of
8
- * selections in a multi-choice field.
5
+ * Enforces that an array contains at least the specified number of items. This
6
+ * tag is useful for ensuring arrays have a minimum length requirement, such as
7
+ * requiring at least one item in a list or a minimum number of selections in a
8
+ * multi-choice field.
9
9
  *
10
+ * @author Jeongho Nam - https://github.com/samchon
10
11
  * @example
11
- * // Require at least 1 item in the array
12
- * type Tags = string[] & MinItems<1>;
12
+ * // Require at least 1 item in the array
13
+ * type Tags = string[] & MinItems<1>;
13
14
  *
14
15
  * @example
15
- * // Require at least 3 selections
16
- * type MultipleChoice = number[] & MinItems<3>;
16
+ * // Require at least 3 selections
17
+ * type MultipleChoice = number[] & MinItems<3>;
17
18
  *
18
19
  * @template Value - The minimum number of items required
19
- * @author Jeongho Nam - https://github.com/samchon
20
20
  */
21
21
  export type MinItems<Value extends number> = TagBase<{
22
22
  target: "array";
@@ -2,12 +2,13 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * String minimum length constraint tag.
4
4
  *
5
- * Validates that a string's length is greater than or equal to the specified value.
6
- * This tag ensures that string values meet a minimum character count requirement.
5
+ * Validates that a string's length is greater than or equal to the specified
6
+ * value. This tag ensures that string values meet a minimum character count
7
+ * requirement.
7
8
  *
8
- * Examples:
9
- * type Username = string & MinLength<3>; // Username must be at least 3 characters
10
- * type Password = string & MinLength<8>; // Password must be at least 8 characters
9
+ * Examples: type Username = string & MinLength<3>; // Username must be at least
10
+ * 3 characters type Password = string & MinLength<8>; // Password must be at
11
+ * least 8 characters
11
12
  *
12
13
  * @author Jeongho Nam - https://github.com/samchon
13
14
  */
@@ -2,12 +2,13 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * String minimum length constraint tag.
4
4
  *
5
- * Validates that a string's length is greater than or equal to the specified value.
6
- * This tag ensures that string values meet a minimum character count requirement.
5
+ * Validates that a string's length is greater than or equal to the specified
6
+ * value. This tag ensures that string values meet a minimum character count
7
+ * requirement.
7
8
  *
8
- * Examples:
9
- * type Username = string & MinLength<3>; // Username must be at least 3 characters
10
- * type Password = string & MinLength<8>; // Password must be at least 8 characters
9
+ * Examples: type Username = string & MinLength<3>; // Username must be at least
10
+ * 3 characters type Password = string & MinLength<8>; // Password must be at
11
+ * least 8 characters
11
12
  *
12
13
  * @author Jeongho Nam - https://github.com/samchon
13
14
  */
@@ -2,20 +2,22 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Minimum value constraint tag.
4
4
  *
5
- * Enforces that a numeric value must be greater than or equal to the specified minimum.
6
- * This constraint validates that the input value satisfies: input >= minimum.
5
+ * Enforces that a numeric value must be greater than or equal to the specified
6
+ * minimum. This constraint validates that the input value satisfies: input >=
7
+ * minimum.
7
8
  *
8
9
  * Example usage:
10
+ *
9
11
  * ```typescript
10
- * type Age = number & tags.Minimum<0>; // Age must be 0 or greater
11
- * type Balance = bigint & tags.Minimum<0n>; // BigInt balance must be non-negative
12
+ * type Age = number & tags.Minimum<0>; // Age must be 0 or greater
13
+ * type Balance = bigint & tags.Minimum<0n>; // BigInt balance must be non-negative
12
14
  * ```
13
15
  *
14
- * Note: This tag is mutually exclusive with ExclusiveMinimum. You cannot apply both
15
- * Minimum and ExclusiveMinimum constraints to the same property.
16
+ * Note: This tag is mutually exclusive with ExclusiveMinimum. You cannot apply
17
+ * both Minimum and ExclusiveMinimum constraints to the same property.
16
18
  *
17
- * @template Value - The minimum value constraint (number or bigint literal)
18
19
  * @author Jeongho Nam - https://github.com/samchon
20
+ * @template Value - The minimum value constraint (number or bigint literal)
19
21
  */
20
22
  export type Minimum<Value extends number | bigint> = TagBase<{
21
23
  target: Value extends bigint ? "bigint" : "number";
@@ -2,20 +2,22 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Minimum value constraint tag.
4
4
  *
5
- * Enforces that a numeric value must be greater than or equal to the specified minimum.
6
- * This constraint validates that the input value satisfies: input >= minimum.
5
+ * Enforces that a numeric value must be greater than or equal to the specified
6
+ * minimum. This constraint validates that the input value satisfies: input >=
7
+ * minimum.
7
8
  *
8
9
  * Example usage:
10
+ *
9
11
  * ```typescript
10
- * type Age = number & tags.Minimum<0>; // Age must be 0 or greater
11
- * type Balance = bigint & tags.Minimum<0n>; // BigInt balance must be non-negative
12
+ * type Age = number & tags.Minimum<0>; // Age must be 0 or greater
13
+ * type Balance = bigint & tags.Minimum<0n>; // BigInt balance must be non-negative
12
14
  * ```
13
15
  *
14
- * Note: This tag is mutually exclusive with ExclusiveMinimum. You cannot apply both
15
- * Minimum and ExclusiveMinimum constraints to the same property.
16
+ * Note: This tag is mutually exclusive with ExclusiveMinimum. You cannot apply
17
+ * both Minimum and ExclusiveMinimum constraints to the same property.
16
18
  *
17
- * @template Value - The minimum value constraint (number or bigint literal)
18
19
  * @author Jeongho Nam - https://github.com/samchon
20
+ * @template Value - The minimum value constraint (number or bigint literal)
19
21
  */
20
22
  export type Minimum<Value extends number | bigint> = TagBase<{
21
23
  target: Value extends bigint ? "bigint" : "number";
@@ -2,20 +2,23 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Multiple of constraint tag.
4
4
  *
5
- * Enforces that a numeric value must be an exact multiple of the specified divisor.
6
- * This constraint validates that the input value satisfies: input % divisor === 0.
5
+ * Enforces that a numeric value must be an exact multiple of the specified
6
+ * divisor. This constraint validates that the input value satisfies: input %
7
+ * divisor === 0.
7
8
  *
8
9
  * Example usage:
10
+ *
9
11
  * ```typescript
10
- * type EvenNumber = number & tags.MultipleOf<2>; // Must be even (2, 4, 6, ...)
11
- * type DollarAmount = number & tags.MultipleOf<0.01>; // Must be in cents
12
+ * type EvenNumber = number & tags.MultipleOf<2>; // Must be even (2, 4, 6, ...)
13
+ * type DollarAmount = number & tags.MultipleOf<0.01>; // Must be in cents
12
14
  * ```
13
15
  *
14
- * Common use cases include validating even/odd numbers, currency amounts,
15
- * time intervals, or any value that must align to specific increments.
16
+ * Common use cases include validating even/odd numbers, currency amounts, time
17
+ * intervals, or any value that must align to specific increments.
16
18
  *
17
- * @template Value - The divisor value that input must be a multiple of (number or bigint literal)
18
19
  * @author Jeongho Nam - https://github.com/samchon
20
+ * @template Value - The divisor value that input must be a multiple of (number
21
+ * or bigint literal)
19
22
  */
20
23
  export type MultipleOf<Value extends number | bigint> = TagBase<{
21
24
  target: Value extends bigint ? "bigint" : "number";
@@ -2,20 +2,23 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Multiple of constraint tag.
4
4
  *
5
- * Enforces that a numeric value must be an exact multiple of the specified divisor.
6
- * This constraint validates that the input value satisfies: input % divisor === 0.
5
+ * Enforces that a numeric value must be an exact multiple of the specified
6
+ * divisor. This constraint validates that the input value satisfies: input %
7
+ * divisor === 0.
7
8
  *
8
9
  * Example usage:
10
+ *
9
11
  * ```typescript
10
- * type EvenNumber = number & tags.MultipleOf<2>; // Must be even (2, 4, 6, ...)
11
- * type DollarAmount = number & tags.MultipleOf<0.01>; // Must be in cents
12
+ * type EvenNumber = number & tags.MultipleOf<2>; // Must be even (2, 4, 6, ...)
13
+ * type DollarAmount = number & tags.MultipleOf<0.01>; // Must be in cents
12
14
  * ```
13
15
  *
14
- * Common use cases include validating even/odd numbers, currency amounts,
15
- * time intervals, or any value that must align to specific increments.
16
+ * Common use cases include validating even/odd numbers, currency amounts, time
17
+ * intervals, or any value that must align to specific increments.
16
18
  *
17
- * @template Value - The divisor value that input must be a multiple of (number or bigint literal)
18
19
  * @author Jeongho Nam - https://github.com/samchon
20
+ * @template Value - The divisor value that input must be a multiple of (number
21
+ * or bigint literal)
19
22
  */
20
23
  export type MultipleOf<Value extends number | bigint> = TagBase<{
21
24
  target: Value extends bigint ? "bigint" : "number";
@@ -2,12 +2,15 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * String pattern (regular expression) constraint tag.
4
4
  *
5
- * Validates that a string matches a specified regular expression pattern.
6
- * Use this tag to enforce custom string formats through regex validation.
5
+ * Validates that a string matches a specified regular expression pattern. Use
6
+ * this tag to enforce custom string formats through regex validation.
7
7
  *
8
8
  * Examples:
9
- * type PhoneNumber = string & Pattern<"^\\d{3}-\\d{3}-\\d{4}$">; // 123-456-7890
10
- * type HexColor = string & Pattern<"^#[0-9A-Fa-f]{6}$">; // #FF5733
9
+ *
10
+ * ```ts
11
+ * type PhoneNumber = string & Pattern<"^\d{3}-\d{3}-\d{4}$">; // 123-456-7890
12
+ * type HexColor = string & Pattern<"^#[0-9A-Fa-f]{6}$">; // #FF5733
13
+ * ```
11
14
  *
12
15
  * Note: This tag is mutually exclusive with the Format tag. You cannot use both
13
16
  * Pattern and Format on the same type.
@@ -2,12 +2,15 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * String pattern (regular expression) constraint tag.
4
4
  *
5
- * Validates that a string matches a specified regular expression pattern.
6
- * Use this tag to enforce custom string formats through regex validation.
5
+ * Validates that a string matches a specified regular expression pattern. Use
6
+ * this tag to enforce custom string formats through regex validation.
7
7
  *
8
8
  * Examples:
9
- * type PhoneNumber = string & Pattern<"^\\d{3}-\\d{3}-\\d{4}$">; // 123-456-7890
10
- * type HexColor = string & Pattern<"^#[0-9A-Fa-f]{6}$">; // #FF5733
9
+ *
10
+ * ```ts
11
+ * type PhoneNumber = string & Pattern<"^\d{3}-\d{3}-\d{4}$">; // 123-456-7890
12
+ * type HexColor = string & Pattern<"^#[0-9A-Fa-f]{6}$">; // #FF5733
13
+ * ```
11
14
  *
12
15
  * Note: This tag is mutually exclusive with the Format tag. You cannot use both
13
16
  * Pattern and Format on the same type.
@@ -2,27 +2,29 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Assigns unique field numbers for Protocol Buffer serialization.
4
4
  *
5
- * In Protocol Buffer encoding, each field in a message must have a unique numeric identifier.
6
- * The Sequence tag assigns these field numbers to TypeScript properties, enabling proper
7
- * Protocol Buffer serialization and deserialization. Field numbers 1-15 require only one
8
- * byte to encode, making them ideal for frequently used fields. Numbers 19000-19999 are
9
- * reserved by the Protocol Buffer specification and should not be used.
5
+ * In Protocol Buffer encoding, each field in a message must have a unique
6
+ * numeric identifier. The Sequence tag assigns these field numbers to
7
+ * TypeScript properties, enabling proper Protocol Buffer serialization and
8
+ * deserialization. Field numbers 1-15 require only one byte to encode, making
9
+ * them ideal for frequently used fields. Numbers 19000-19999 are reserved by
10
+ * the Protocol Buffer specification and should not be used.
10
11
  *
12
+ * @author Jeongho Nam - https://github.com/samchon
11
13
  * @example
12
- * ```typescript
13
- * interface User {
14
- * id: string & Sequence<1>; // Most frequent field uses 1
15
- * email: string & Sequence<2>; // Common fields use low numbers
16
- * createdAt: number & Sequence<3>;
17
- * metadata?: object & Sequence<10>; // Optional fields work too
18
- * }
14
+ * ```typescript
15
+ * interface User {
16
+ * id: string & Sequence<1>; // Most frequent field uses 1
17
+ * email: string & Sequence<2>; // Common fields use low numbers
18
+ * createdAt: number & Sequence<3>;
19
+ * metadata?: object & Sequence<10>; // Optional fields work too
20
+ * }
19
21
  *
20
- * // Generate Protocol Buffer message
21
- * const message = typia.protobuf.message<User>();
22
- * ```
22
+ * // Generate Protocol Buffer message
23
+ * const message = typia.protobuf.message<User>();
24
+ * ```
23
25
  *
24
- * @template N - Field number (positive integer from 1 to 536,870,911, excluding 19000-19999)
25
- * @author Jeongho Nam - https://github.com/samchon
26
+ * @template N - Field number (positive integer from 1 to 536,870,911, excluding
27
+ * 19000-19999)
26
28
  */
27
29
  export type Sequence<N extends number> = TagBase<{
28
30
  target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
@@ -2,27 +2,29 @@ import { TagBase } from "./TagBase";
2
2
  /**
3
3
  * Assigns unique field numbers for Protocol Buffer serialization.
4
4
  *
5
- * In Protocol Buffer encoding, each field in a message must have a unique numeric identifier.
6
- * The Sequence tag assigns these field numbers to TypeScript properties, enabling proper
7
- * Protocol Buffer serialization and deserialization. Field numbers 1-15 require only one
8
- * byte to encode, making them ideal for frequently used fields. Numbers 19000-19999 are
9
- * reserved by the Protocol Buffer specification and should not be used.
5
+ * In Protocol Buffer encoding, each field in a message must have a unique
6
+ * numeric identifier. The Sequence tag assigns these field numbers to
7
+ * TypeScript properties, enabling proper Protocol Buffer serialization and
8
+ * deserialization. Field numbers 1-15 require only one byte to encode, making
9
+ * them ideal for frequently used fields. Numbers 19000-19999 are reserved by
10
+ * the Protocol Buffer specification and should not be used.
10
11
  *
12
+ * @author Jeongho Nam - https://github.com/samchon
11
13
  * @example
12
- * ```typescript
13
- * interface User {
14
- * id: string & Sequence<1>; // Most frequent field uses 1
15
- * email: string & Sequence<2>; // Common fields use low numbers
16
- * createdAt: number & Sequence<3>;
17
- * metadata?: object & Sequence<10>; // Optional fields work too
18
- * }
14
+ * ```typescript
15
+ * interface User {
16
+ * id: string & Sequence<1>; // Most frequent field uses 1
17
+ * email: string & Sequence<2>; // Common fields use low numbers
18
+ * createdAt: number & Sequence<3>;
19
+ * metadata?: object & Sequence<10>; // Optional fields work too
20
+ * }
19
21
  *
20
- * // Generate Protocol Buffer message
21
- * const message = typia.protobuf.message<User>();
22
- * ```
22
+ * // Generate Protocol Buffer message
23
+ * const message = typia.protobuf.message<User>();
24
+ * ```
23
25
  *
24
- * @template N - Field number (positive integer from 1 to 536,870,911, excluding 19000-19999)
25
- * @author Jeongho Nam - https://github.com/samchon
26
+ * @template N - Field number (positive integer from 1 to 536,870,911, excluding
27
+ * 19000-19999)
26
28
  */
27
29
  export type Sequence<N extends number> = TagBase<{
28
30
  target: "boolean" | "bigint" | "number" | "string" | "array" | "object";
@@ -2,23 +2,22 @@
2
2
  * Base type for all validation tags in typia.
3
3
  *
4
4
  * TagBase provides the foundation for all typia's validation tags. It attaches
5
- * metadata to TypeScript types that typia's transformer processes at compile-time
6
- * to generate optimized runtime validation code.
7
- *
8
- * @template Props - Tag properties that define validation behavior
5
+ * metadata to TypeScript types that typia's transformer processes at
6
+ * compile-time to generate optimized runtime validation code.
9
7
  *
8
+ * @author Jeongho Nam - https://github.com/samchon
10
9
  * @example
11
- * ```typescript
12
- * // Custom tag example
13
- * type MyCustomTag<Value extends number> = TagBase<{
10
+ * ```typescript
11
+ * // Custom tag example
12
+ * type MyCustomTag<Value extends number> = TagBase<{
14
13
  * target: "number";
15
14
  * kind: "MyCustom";
16
15
  * value: Value;
17
16
  * validate: `$input === ${Value}`;
18
- * }>;
19
- * ```
17
+ * }>;
18
+ * ```
20
19
  *
21
- * @author Jeongho Nam - https://github.com/samchon
20
+ * @template Props - Tag properties that define validation behavior
22
21
  */
23
22
  export type TagBase<Props extends TagBase.IProps<any, any, any, any, any, any>> = {
24
23
  /**
@@ -40,27 +39,23 @@ export declare namespace TagBase {
40
39
  /**
41
40
  * Target type.
42
41
  *
43
- * If user tries to adapt this tag to a different type, it would be a compile
44
- * error.
42
+ * If user tries to adapt this tag to a different type, it would be a
43
+ * compile error.
45
44
  *
46
- * For example, you've configured target type as `string`, but user adapted it
47
- * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
48
- * blocked by TypeScript compiler.
45
+ * For example, you've configured target type as `string`, but user adapted
46
+ * it onto a `number` type (`number & YourCustomTag<Value>`), then it would
47
+ * be blocked by TypeScript compiler.
49
48
  */
50
49
  target: Target;
51
- /**
52
- * What kind of tag is this?
53
- */
50
+ /** What kind of tag is this? */
54
51
  kind: Kind;
55
- /**
56
- * Value to be configured by user.
57
- */
52
+ /** Value to be configured by user. */
58
53
  value: Value;
59
54
  /**
60
55
  * Validation script.
61
56
  *
62
- * This script would be inserted into the generated validation function.
63
- * In here script, target variable name must be `$input`. The variable name
57
+ * This script would be inserted into the generated validation function. In
58
+ * here script, target variable name must be `$input`. The variable name
64
59
  * `$input` would be transformed to the suitable when compilation.
65
60
  *
66
61
  * Also, If you've take a mistake on this script, compile error would be
@@ -73,15 +68,13 @@ export declare namespace TagBase {
73
68
  *
74
69
  * If this property configured as `true`, same {@link kind} tag cannot be
75
70
  * duplicated in the target type. Otherwise, if you've configured this
76
- * property as string array, all of the {@link kind} value assigned
77
- * tags cannot be compatible in the target type.
71
+ * property as string array, all of the {@link kind} value assigned tags
72
+ * cannot be compatible in the target type.
78
73
  *
79
74
  * @default false
80
75
  */
81
76
  exclusive?: Exclusive | string[];
82
- /**
83
- * Additional schema info assigned to the {@link IJsonSchema} object.
84
- */
77
+ /** Additional schema info assigned to the {@link IJsonSchema} object. */
85
78
  schema?: Schema;
86
79
  }
87
80
  }
@@ -2,23 +2,22 @@
2
2
  * Base type for all validation tags in typia.
3
3
  *
4
4
  * TagBase provides the foundation for all typia's validation tags. It attaches
5
- * metadata to TypeScript types that typia's transformer processes at compile-time
6
- * to generate optimized runtime validation code.
7
- *
8
- * @template Props - Tag properties that define validation behavior
5
+ * metadata to TypeScript types that typia's transformer processes at
6
+ * compile-time to generate optimized runtime validation code.
9
7
  *
8
+ * @author Jeongho Nam - https://github.com/samchon
10
9
  * @example
11
- * ```typescript
12
- * // Custom tag example
13
- * type MyCustomTag<Value extends number> = TagBase<{
10
+ * ```typescript
11
+ * // Custom tag example
12
+ * type MyCustomTag<Value extends number> = TagBase<{
14
13
  * target: "number";
15
14
  * kind: "MyCustom";
16
15
  * value: Value;
17
16
  * validate: `$input === ${Value}`;
18
- * }>;
19
- * ```
17
+ * }>;
18
+ * ```
20
19
  *
21
- * @author Jeongho Nam - https://github.com/samchon
20
+ * @template Props - Tag properties that define validation behavior
22
21
  */
23
22
  export type TagBase<Props extends TagBase.IProps<any, any, any, any, any, any>> = {
24
23
  /**
@@ -40,27 +39,23 @@ export declare namespace TagBase {
40
39
  /**
41
40
  * Target type.
42
41
  *
43
- * If user tries to adapt this tag to a different type, it would be a compile
44
- * error.
42
+ * If user tries to adapt this tag to a different type, it would be a
43
+ * compile error.
45
44
  *
46
- * For example, you've configured target type as `string`, but user adapted it
47
- * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
48
- * blocked by TypeScript compiler.
45
+ * For example, you've configured target type as `string`, but user adapted
46
+ * it onto a `number` type (`number & YourCustomTag<Value>`), then it would
47
+ * be blocked by TypeScript compiler.
49
48
  */
50
49
  target: Target;
51
- /**
52
- * What kind of tag is this?
53
- */
50
+ /** What kind of tag is this? */
54
51
  kind: Kind;
55
- /**
56
- * Value to be configured by user.
57
- */
52
+ /** Value to be configured by user. */
58
53
  value: Value;
59
54
  /**
60
55
  * Validation script.
61
56
  *
62
- * This script would be inserted into the generated validation function.
63
- * In here script, target variable name must be `$input`. The variable name
57
+ * This script would be inserted into the generated validation function. In
58
+ * here script, target variable name must be `$input`. The variable name
64
59
  * `$input` would be transformed to the suitable when compilation.
65
60
  *
66
61
  * Also, If you've take a mistake on this script, compile error would be
@@ -73,15 +68,13 @@ export declare namespace TagBase {
73
68
  *
74
69
  * If this property configured as `true`, same {@link kind} tag cannot be
75
70
  * duplicated in the target type. Otherwise, if you've configured this
76
- * property as string array, all of the {@link kind} value assigned
77
- * tags cannot be compatible in the target type.
71
+ * property as string array, all of the {@link kind} value assigned tags
72
+ * cannot be compatible in the target type.
78
73
  *
79
74
  * @default false
80
75
  */
81
76
  exclusive?: Exclusive | string[];
82
- /**
83
- * Additional schema info assigned to the {@link IJsonSchema} object.
84
- */
77
+ /** Additional schema info assigned to the {@link IJsonSchema} object. */
85
78
  schema?: Schema;
86
79
  }
87
80
  }