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
@@ -51,9 +51,7 @@ export class Metadata {
51
51
  /* -----------------------------------------------------------
52
52
  CONSTRUCTORS
53
53
  ----------------------------------------------------------- */
54
- /**
55
- * @hidden
56
- */
54
+ /** @ignore */
57
55
  private constructor(props: ClassProperties<Metadata>) {
58
56
  this.any = props.any;
59
57
  this.required = props.required;
@@ -77,16 +75,12 @@ export class Metadata {
77
75
  this.maps = props.maps;
78
76
  }
79
77
 
80
- /**
81
- * @internal
82
- */
78
+ /** @internal */
83
79
  public static create(props: ClassProperties<Metadata>): Metadata {
84
80
  return new Metadata(props);
85
81
  }
86
82
 
87
- /**
88
- * @internal
89
- */
83
+ /** @internal */
90
84
  public static initialize(parentResolved: boolean = false): Metadata {
91
85
  const meta: Metadata = Metadata.create({
92
86
  any: false,
@@ -262,9 +256,7 @@ export class Metadata {
262
256
  );
263
257
  }
264
258
 
265
- /**
266
- * @internal
267
- */
259
+ /** @internal */
268
260
  public isSequence(): boolean {
269
261
  return (this.is_sequence_ ??= (() => {
270
262
  const exists = (tags: IMetadataTypeTag[][]): boolean =>
@@ -303,9 +295,7 @@ export class Metadata {
303
295
  return this.required === true && this.optional === false;
304
296
  }
305
297
 
306
- /**
307
- * @internal
308
- */
298
+ /** @internal */
309
299
  public isUnionBucket(): boolean {
310
300
  const size: number = this.bucket();
311
301
  const emended: number =
@@ -313,9 +303,7 @@ export class Metadata {
313
303
  return emended > 1;
314
304
  }
315
305
 
316
- /**
317
- * @internal
318
- */
306
+ /** @internal */
319
307
  public getSoleLiteral(): string | null {
320
308
  if (
321
309
  this.size() === 1 &&
@@ -331,9 +319,7 @@ export class Metadata {
331
319
  return this.getSoleLiteral() !== null;
332
320
  }
333
321
 
334
- /**
335
- * @internal
336
- */
322
+ /** @internal */
337
323
  public isParentResolved(): boolean {
338
324
  return this.parent_resolved_;
339
325
  }
@@ -513,9 +499,7 @@ export namespace Metadata {
513
499
  return true;
514
500
  };
515
501
 
516
- /**
517
- * @internal
518
- */
502
+ /** @internal */
519
503
  export const merge = (x: Metadata, y: Metadata): Metadata => {
520
504
  const output: Metadata = Metadata.create({
521
505
  any: x.any || y.any,
@@ -595,9 +579,7 @@ export namespace Metadata {
595
579
  return output;
596
580
  };
597
581
 
598
- /**
599
- * @internal
600
- */
582
+ /** @internal */
601
583
  export const unalias = (w: Metadata) => {
602
584
  const visited: Set<Metadata> = new Set();
603
585
  while (
@@ -15,9 +15,7 @@ export class MetadataAliasType {
15
15
  /* -----------------------------------------------------------
16
16
  CONSTRUCTORS
17
17
  ----------------------------------------------------------- */
18
- /**
19
- * @hidden
20
- */
18
+ /** @ignore */
21
19
  private constructor(props: ClassProperties<MetadataAliasType>) {
22
20
  this.name = props.name;
23
21
  this.value = props.value;
@@ -27,18 +25,14 @@ export class MetadataAliasType {
27
25
  this.nullables = props.nullables;
28
26
  }
29
27
 
30
- /**
31
- * @internal
32
- */
28
+ /** @internal */
33
29
  public static create(
34
30
  props: ClassProperties<MetadataAliasType>,
35
31
  ): MetadataAliasType {
36
32
  return new MetadataAliasType(props);
37
33
  }
38
34
 
39
- /**
40
- * @internal
41
- */
35
+ /** @internal */
42
36
  public static _From_without_value(props: Omit<IMetadataAliasType, "value">) {
43
37
  return MetadataAliasType.create({
44
38
  name: props.name,
@@ -8,17 +8,13 @@ export class MetadataApplication {
8
8
  public readonly metadatas: Metadata[];
9
9
  public readonly components: MetadataComponents;
10
10
 
11
- /**
12
- * @hidden
13
- */
11
+ /** @ignore */
14
12
  private constructor(props: ClassProperties<MetadataApplication>) {
15
13
  this.metadatas = props.metadatas;
16
14
  this.components = props.components;
17
15
  }
18
16
 
19
- /**
20
- * @internal
21
- */
17
+ /** @internal */
22
18
  public static create(
23
19
  props: ClassProperties<MetadataApplication>,
24
20
  ): MetadataApplication {
@@ -10,9 +10,7 @@ export class MetadataArray {
10
10
 
11
11
  private name_?: string;
12
12
 
13
- /**
14
- * @hidden
15
- */
13
+ /** @ignore */
16
14
  private constructor(props: ClassProperties<MetadataArray>) {
17
15
  this.type = props.type;
18
16
  this.tags = props.tags;
@@ -10,9 +10,7 @@ export class MetadataArrayType {
10
10
  public readonly recursive: boolean;
11
11
  public readonly index: number | null;
12
12
 
13
- /**
14
- * @hidden
15
- */
13
+ /** @ignore */
16
14
  private constructor(props: ClassProperties<MetadataArrayType>) {
17
15
  this.name = props.name;
18
16
  this.value = props.value;
@@ -21,9 +19,7 @@ export class MetadataArrayType {
21
19
  this.nullables = props.nullables;
22
20
  }
23
21
 
24
- /**
25
- * @internal
26
- */
22
+ /** @internal */
27
23
  public static _From_without_value(
28
24
  props: Omit<IMetadataArrayType, "value">,
29
25
  ): MetadataArrayType {
@@ -36,9 +32,7 @@ export class MetadataArrayType {
36
32
  });
37
33
  }
38
34
 
39
- /**
40
- * @internal
41
- */
35
+ /** @internal */
42
36
  public static create(
43
37
  props: ClassProperties<MetadataArrayType>,
44
38
  ): MetadataArrayType {
@@ -9,9 +9,7 @@ export class MetadataAtomic {
9
9
 
10
10
  private name_?: string;
11
11
 
12
- /**
13
- * @internal
14
- */
12
+ /** @internal */
15
13
  private constructor(props: ClassProperties<MetadataAtomic>) {
16
14
  this.type = props.type;
17
15
  this.tags = props.tags;
@@ -8,17 +8,13 @@ export class MetadataEscaped {
8
8
  public readonly original: Metadata;
9
9
  public readonly returns: Metadata;
10
10
 
11
- /**
12
- * @hidden
13
- */
11
+ /** @ignore */
14
12
  private constructor(props: ClassProperties<MetadataEscaped>) {
15
13
  this.original = props.original;
16
14
  this.returns = props.returns;
17
15
  }
18
16
 
19
- /**
20
- * @internal
21
- */
17
+ /** @internal */
22
18
  public static from(
23
19
  props: IMetadataEscaped,
24
20
  dict: IMetadataDictionary,
@@ -29,9 +25,7 @@ export class MetadataEscaped {
29
25
  });
30
26
  }
31
27
 
32
- /**
33
- * @internal
34
- */
28
+ /** @internal */
35
29
  public static create(
36
30
  props: ClassProperties<MetadataEscaped>,
37
31
  ): MetadataEscaped {
@@ -10,18 +10,14 @@ export class MetadataFunction {
10
10
  public output: Metadata;
11
11
  public async: boolean;
12
12
 
13
- /**
14
- * @hidden
15
- */
13
+ /** @ignore */
16
14
  private constructor(props: ClassProperties<MetadataFunction>) {
17
15
  this.parameters = props.parameters;
18
16
  this.output = props.output;
19
17
  this.async = props.async;
20
18
  }
21
19
 
22
- /**
23
- * @internal
24
- */
20
+ /** @internal */
25
21
  public static create(
26
22
  props: ClassProperties<MetadataFunction>,
27
23
  ): MetadataFunction {
@@ -9,9 +9,7 @@ export class MetadataObject {
9
9
  public readonly tags: IMetadataTypeTag[][];
10
10
  private name_?: string;
11
11
 
12
- /**
13
- * @hidden
14
- */
12
+ /** @ignore */
15
13
  private constructor(props: ClassProperties<MetadataObject>) {
16
14
  this.type = props.type;
17
15
  this.tags = props.tags;
@@ -15,22 +15,16 @@ export class MetadataObjectType {
15
15
  public recursive: boolean;
16
16
  public nullables: boolean[] = [];
17
17
 
18
- /**
19
- * @internal
20
- */
18
+ /** @internal */
21
19
  public tagged_: boolean = false;
22
20
 
23
- /**
24
- * @internal
25
- */
21
+ /** @internal */
26
22
  private literal_?: boolean;
27
23
 
28
24
  /* -----------------------------------------------------------
29
25
  CONSTRUCTORS
30
26
  ----------------------------------------------------------- */
31
- /**
32
- * @hidden
33
- */
27
+ /** @ignore */
34
28
  private constructor(
35
29
  props: Omit<ClassProperties<MetadataObjectType>, "tagged_">,
36
30
  ) {
@@ -47,18 +41,14 @@ export class MetadataObjectType {
47
41
  this.tagged_ = false;
48
42
  }
49
43
 
50
- /**
51
- * @internal
52
- */
44
+ /** @internal */
53
45
  public static create(
54
46
  props: Omit<ClassProperties<MetadataObjectType>, "tagged_">,
55
47
  ) {
56
48
  return new MetadataObjectType(props);
57
49
  }
58
50
 
59
- /**
60
- * @internal
61
- */
51
+ /** @internal */
62
52
  public static _From_without_properties(
63
53
  obj: IMetadataObjectType,
64
54
  ): MetadataObjectType {
@@ -120,9 +110,7 @@ export class MetadataObjectType {
120
110
  }
121
111
  }
122
112
 
123
- /**
124
- * @internal
125
- */
113
+ /** @internal */
126
114
  export namespace MetadataObjectType {
127
115
  export const intersects = (
128
116
  x: MetadataObjectType,
@@ -22,9 +22,7 @@ export class MetadataParameter {
22
22
  this.tsType = props.tsType;
23
23
  }
24
24
 
25
- /**
26
- * @internal
27
- */
25
+ /** @internal */
28
26
  public static create(
29
27
  props: ClassProperties<MetadataParameter>,
30
28
  ): MetadataParameter {
@@ -17,9 +17,7 @@ export class MetadataProperty {
17
17
  /* -----------------------------------------------------------
18
18
  CONSTRUCTORS
19
19
  ----------------------------------------------------------- */
20
- /**
21
- * @hidden
22
- */
20
+ /** @ignore */
23
21
  private constructor(props: ClassProperties<MetadataProperty>) {
24
22
  this.key = props.key;
25
23
  this.value = props.value;
@@ -27,18 +25,14 @@ export class MetadataProperty {
27
25
  this.jsDocTags = props.jsDocTags;
28
26
  }
29
27
 
30
- /**
31
- * @internal
32
- */
28
+ /** @internal */
33
29
  public static create(
34
30
  props: ClassProperties<MetadataProperty>,
35
31
  ): MetadataProperty {
36
32
  return new MetadataProperty(props);
37
33
  }
38
34
 
39
- /**
40
- * @internal
41
- */
35
+ /** @internal */
42
36
  public static from(property: IMetadataProperty, dict: IMetadataDictionary) {
43
37
  return MetadataProperty.create({
44
38
  key: Metadata.from(property.key, dict),
@@ -36,9 +36,7 @@ export class MetadataTemplate {
36
36
  return (this.name_ ??= getName(this));
37
37
  }
38
38
 
39
- /**
40
- * @internal
41
- */
39
+ /** @internal */
42
40
  public getBaseName(): string {
43
41
  return (
44
42
  "`" +
@@ -8,17 +8,13 @@ export class MetadataTuple {
8
8
  public readonly type: MetadataTupleType;
9
9
  public readonly tags: IMetadataTypeTag[][];
10
10
 
11
- /**
12
- * @hidden
13
- */
11
+ /** @ignore */
14
12
  private constructor(props: ClassProperties<MetadataTuple>) {
15
13
  this.type = props.type;
16
14
  this.tags = props.tags;
17
15
  }
18
16
 
19
- /**
20
- * @internal
21
- */
17
+ /** @internal */
22
18
  public static create(props: ClassProperties<MetadataTuple>): MetadataTuple {
23
19
  return new MetadataTuple(props);
24
20
  }
@@ -11,14 +11,10 @@ export class MetadataTupleType {
11
11
  public readonly recursive: boolean;
12
12
  public readonly nullables: boolean[];
13
13
 
14
- /**
15
- * @internal
16
- */
14
+ /** @internal */
17
15
  public of_map?: boolean;
18
16
 
19
- /**
20
- * @internal
21
- */
17
+ /** @internal */
22
18
  private constructor(props: ClassProperties<MetadataTupleType>) {
23
19
  this.name = props.name;
24
20
  this.elements = props.elements;
@@ -27,9 +23,7 @@ export class MetadataTupleType {
27
23
  this.nullables = props.nullables;
28
24
  }
29
25
 
30
- /**
31
- * @internal
32
- */
26
+ /** @internal */
33
27
  public static _From_without_elements(
34
28
  props: Omit<IMetadataTupleType, "elements">,
35
29
  ): MetadataTupleType {
@@ -7,30 +7,30 @@ import { TagBase } from "./TagBase";
7
7
  * changing their runtime type. It's particularly useful for enum-like values
8
8
  * where you want to provide context about what each value represents.
9
9
  *
10
- * The metadata appears in generated JSON Schema, making API documentation
11
- * more descriptive and helping developers understand the meaning of specific
10
+ * The metadata appears in generated JSON Schema, making API documentation more
11
+ * descriptive and helping developers understand the meaning of specific
12
12
  * constant values.
13
13
  *
14
+ * @author Jeongho Nam - https://github.com/samchon
14
15
  * @example
15
- * ```typescript
16
- * type Status =
17
- * | Constant<"active", { title: "Active", description: "User is currently active" }>
18
- * | Constant<"inactive", { title: "Inactive", description: "User account is disabled" }>
19
- * | Constant<"pending", { title: "Pending", description: "Awaiting verification" }>;
20
- * ```
16
+ * ```typescript
17
+ * type Status =
18
+ * | Constant<"active", { title: "Active", description: "User is currently active" }>
19
+ * | Constant<"inactive", { title: "Inactive", description: "User account is disabled" }>
20
+ * | Constant<"pending", { title: "Pending", description: "Awaiting verification" }>;
21
+ * ```;
21
22
  *
22
23
  * @example
23
- * ```typescript
24
- * interface Config {
25
- * debugLevel: Constant<0, { title: "Off", description: "No debug output" }>
26
- * | Constant<1, { title: "Basic", description: "Basic logging" }>
27
- * | Constant<2, { title: "Verbose", description: "Detailed debug info" }>;
28
- * }
29
- * ```
24
+ * ```typescript
25
+ * interface Config {
26
+ * debugLevel: Constant<0, { title: "Off", description: "No debug output" }>
27
+ * | Constant<1, { title: "Basic", description: "Basic logging" }>
28
+ * | Constant<2, { title: "Verbose", description: "Detailed debug info" }>;
29
+ * }
30
+ * ```;
30
31
  *
31
32
  * @template Value The literal value (boolean, number, string, or bigint)
32
33
  * @template Content Metadata with optional title and description
33
- * @author Jeongho Nam - https://github.com/samchon
34
34
  */
35
35
  export type Constant<
36
36
  Value extends boolean | number | string | bigint,
@@ -3,14 +3,14 @@ import { TagBase } from "./TagBase";
3
3
  /**
4
4
  * String content media type constraint tag.
5
5
  *
6
- * Specifies the MIME type of string content for proper interpretation.
7
- * This tag serves as metadata to indicate how the string content should be
8
- * interpreted, but does not perform validation on the content itself.
6
+ * Specifies the MIME type of string content for proper interpretation. This tag
7
+ * serves as metadata to indicate how the string content should be interpreted,
8
+ * but does not perform validation on the content itself.
9
9
  *
10
- * Examples:
11
- * type JsonData = string & ContentMediaType<"application/json">; // JSON string
12
- * type Base64Image = string & ContentMediaType<"image/png">; // Base64 PNG
13
- * type XmlContent = string & ContentMediaType<"application/xml">; // XML data
10
+ * Examples: type JsonData = string & ContentMediaType<"application/json">; //
11
+ * JSON string type Base64Image = string & ContentMediaType<"image/png">; //
12
+ * Base64 PNG type XmlContent = string & ContentMediaType<"application/xml">; //
13
+ * XML data
14
14
  *
15
15
  * Common MIME types: application/json, text/html, image/jpeg, image/png,
16
16
  * application/pdf, text/plain, application/xml, and many more.
@@ -3,32 +3,32 @@ import { TagBase } from "./TagBase";
3
3
  /**
4
4
  * Default value tag that specifies a default value for properties.
5
5
  *
6
- * When a property is not provided during validation, this tag instructs
7
- * typia to use the specified default value. This is useful for optional
8
- * properties that should have a specific fallback value.
6
+ * When a property is not provided during validation, this tag instructs typia
7
+ * to use the specified default value. This is useful for optional properties
8
+ * that should have a specific fallback value.
9
9
  *
10
- * Supported types: boolean, bigint, number, and string primitives.
11
- * Note: Default values are applied during validation, not at compile time.
10
+ * Supported types: boolean, bigint, number, and string primitives. Note:
11
+ * Default values are applied during validation, not at compile time.
12
12
  *
13
+ * @author Jeongho Nam - https://github.com/samchon
13
14
  * @example
14
- * ```typescript
15
- * interface User {
16
- * name: string;
17
- * active: boolean & Default<true>; // defaults to true if not provided
18
- * retries: number & Default<3>; // defaults to 3 if not provided
19
- * }
20
- * ```
15
+ * ```typescript
16
+ * interface User {
17
+ * name: string;
18
+ * active: boolean & Default<true>; // defaults to true if not provided
19
+ * retries: number & Default<3>; // defaults to 3 if not provided
20
+ * }
21
+ * ```;
21
22
  *
22
23
  * @example
23
- * ```typescript
24
- * interface Config {
25
- * timeout: bigint & Default<5000n>; // defaults to 5000n
26
- * prefix: string & Default<"user_">; // defaults to "user_"
27
- * }
28
- * ```
24
+ * ```typescript
25
+ * interface Config {
26
+ * timeout: bigint & Default<5000n>; // defaults to 5000n
27
+ * prefix: string & Default<"user_">; // defaults to "user_"
28
+ * }
29
+ * ```;
29
30
  *
30
31
  * @template Value The default value (boolean, bigint, number, or string)
31
- * @author Jeongho Nam - https://github.com/samchon
32
32
  */
33
33
  export type Default<Value extends boolean | bigint | number | string> =
34
34
  TagBase<{
@@ -3,34 +3,34 @@ import { TagBase } from "./TagBase";
3
3
  /**
4
4
  * Example value tag that provides a single example value for documentation.
5
5
  *
6
- * This tag adds an example value to your JSON Schema, which is useful for
7
- * API documentation, client code generation, and helping developers understand
6
+ * This tag adds an example value to your JSON Schema, which is useful for API
7
+ * documentation, client code generation, and helping developers understand
8
8
  * expected data formats. The example doesn't affect runtime validation.
9
9
  *
10
10
  * Use Example for a single representative value. For multiple named examples,
11
11
  * use the Examples tag instead.
12
12
  *
13
+ * @author Jeongho Nam - https://github.com/samchon
13
14
  * @example
14
- * ```typescript
15
- * interface Product {
16
- * name: string & Example<"iPhone 15 Pro">;
17
- * price: number & Example<999.99>;
18
- * inStock: boolean & Example<true>;
19
- * }
20
- * ```
15
+ * ```typescript
16
+ * interface Product {
17
+ * name: string & Example<"iPhone 15 Pro">;
18
+ * price: number & Example<999.99>;
19
+ * inStock: boolean & Example<true>;
20
+ * }
21
+ * ```;
21
22
  *
22
23
  * @example
23
- * ```typescript
24
- * interface User {
25
- * profile: {
26
- * bio: string;
27
- * tags: string[];
28
- * } & Example<{ bio: "Software engineer", tags: ["typescript", "react"] }>;
29
- * }
30
- * ```
24
+ * ```typescript
25
+ * interface User {
26
+ * profile: {
27
+ * bio: string;
28
+ * tags: string[];
29
+ * } & Example<{ bio: "Software engineer", tags: ["typescript", "react"] }>;
30
+ * }
31
+ * ```;
31
32
  *
32
33
  * @template Value The example value (primitives, objects, arrays, or null)
33
- * @author Jeongho Nam - https://github.com/samchon
34
34
  */
35
35
  export type Example<
36
36
  Value extends
@@ -11,34 +11,34 @@ import { TagBase } from "./TagBase";
11
11
  * names and values are the example data. This helps in API documentation and
12
12
  * test case generation.
13
13
  *
14
+ * @author Jeongho Nam - https://github.com/samchon
14
15
  * @example
15
- * ```typescript
16
- * interface PaymentRequest {
17
- * amount: number & Examples<{
18
- * small: 10.50,
19
- * medium: 99.99,
20
- * large: 1000.00
21
- * }>;
22
- * }
23
- * ```
16
+ * ```typescript
17
+ * interface PaymentRequest {
18
+ * amount: number & Examples<{
19
+ * small: 10.50,
20
+ * medium: 99.99,
21
+ * large: 1000.00
22
+ * }>;
23
+ * }
24
+ * ```;
24
25
  *
25
26
  * @example
26
- * ```typescript
27
- * interface UserStatus {
28
- * state: string & Examples<{
29
- * active: "active",
30
- * inactive: "inactive",
31
- * suspended: "suspended"
32
- * }>;
33
- * profile: object & Examples<{
34
- * basic: { name: "John", age: 25 },
35
- * detailed: { name: "Jane", age: 30, bio: "Developer", verified: true }
36
- * }>;
37
- * }
38
- * ```
27
+ * ```typescript
28
+ * interface UserStatus {
29
+ * state: string & Examples<{
30
+ * active: "active",
31
+ * inactive: "inactive",
32
+ * suspended: "suspended"
33
+ * }>;
34
+ * profile: object & Examples<{
35
+ * basic: { name: "John", age: 25 },
36
+ * detailed: { name: "Jane", age: 30, bio: "Developer", verified: true }
37
+ * }>;
38
+ * }
39
+ * ```;
39
40
  *
40
41
  * @template Value A record object mapping example names to example values
41
- * @author Jeongho Nam - https://github.com/samchon
42
42
  */
43
43
  export type Examples<
44
44
  Value extends Record<