typia 9.7.0 → 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 (407) 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/protobuf.d.mts +290 -297
  166. package/lib/protobuf.d.ts +290 -297
  167. package/lib/protobuf.js +17 -51
  168. package/lib/protobuf.js.map +1 -1
  169. package/lib/protobuf.mjs +17 -51
  170. package/lib/reflect.d.mts +2 -4
  171. package/lib/reflect.d.ts +2 -4
  172. package/lib/reflect.js +1 -3
  173. package/lib/reflect.js.map +1 -1
  174. package/lib/reflect.mjs +1 -3
  175. package/lib/schemas/json/IJsonApplication.d.mts +4 -4
  176. package/lib/schemas/json/IJsonApplication.d.ts +4 -4
  177. package/lib/schemas/json/IJsonSchemaCollection.d.mts +73 -56
  178. package/lib/schemas/json/IJsonSchemaCollection.d.ts +73 -56
  179. package/lib/schemas/json/IJsonSchemaUnit.d.mts +83 -70
  180. package/lib/schemas/json/IJsonSchemaUnit.d.ts +83 -70
  181. package/lib/schemas/metadata/Metadata.d.mts +1 -3
  182. package/lib/schemas/metadata/Metadata.d.ts +1 -3
  183. package/lib/schemas/metadata/Metadata.js +9 -27
  184. package/lib/schemas/metadata/Metadata.js.map +1 -1
  185. package/lib/schemas/metadata/Metadata.mjs +9 -27
  186. package/lib/schemas/metadata/MetadataAliasType.d.mts +1 -3
  187. package/lib/schemas/metadata/MetadataAliasType.d.ts +1 -3
  188. package/lib/schemas/metadata/MetadataAliasType.js +3 -9
  189. package/lib/schemas/metadata/MetadataAliasType.js.map +1 -1
  190. package/lib/schemas/metadata/MetadataAliasType.mjs +3 -9
  191. package/lib/schemas/metadata/MetadataApplication.d.mts +1 -3
  192. package/lib/schemas/metadata/MetadataApplication.d.ts +1 -3
  193. package/lib/schemas/metadata/MetadataApplication.js +2 -6
  194. package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
  195. package/lib/schemas/metadata/MetadataApplication.mjs +2 -6
  196. package/lib/schemas/metadata/MetadataArray.d.mts +1 -3
  197. package/lib/schemas/metadata/MetadataArray.d.ts +1 -3
  198. package/lib/schemas/metadata/MetadataArray.js +1 -3
  199. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  200. package/lib/schemas/metadata/MetadataArray.mjs +1 -3
  201. package/lib/schemas/metadata/MetadataArrayType.d.mts +1 -3
  202. package/lib/schemas/metadata/MetadataArrayType.d.ts +1 -3
  203. package/lib/schemas/metadata/MetadataArrayType.js +3 -9
  204. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  205. package/lib/schemas/metadata/MetadataArrayType.mjs +3 -9
  206. package/lib/schemas/metadata/MetadataAtomic.js +1 -3
  207. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  208. package/lib/schemas/metadata/MetadataAtomic.mjs +1 -3
  209. package/lib/schemas/metadata/MetadataEscaped.d.mts +1 -3
  210. package/lib/schemas/metadata/MetadataEscaped.d.ts +1 -3
  211. package/lib/schemas/metadata/MetadataEscaped.js +3 -9
  212. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  213. package/lib/schemas/metadata/MetadataEscaped.mjs +3 -9
  214. package/lib/schemas/metadata/MetadataFunction.d.mts +1 -3
  215. package/lib/schemas/metadata/MetadataFunction.d.ts +1 -3
  216. package/lib/schemas/metadata/MetadataFunction.js +2 -6
  217. package/lib/schemas/metadata/MetadataFunction.js.map +1 -1
  218. package/lib/schemas/metadata/MetadataFunction.mjs +2 -6
  219. package/lib/schemas/metadata/MetadataObject.d.mts +1 -3
  220. package/lib/schemas/metadata/MetadataObject.d.ts +1 -3
  221. package/lib/schemas/metadata/MetadataObject.js +1 -3
  222. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  223. package/lib/schemas/metadata/MetadataObject.mjs +1 -3
  224. package/lib/schemas/metadata/MetadataObjectType.d.mts +1 -3
  225. package/lib/schemas/metadata/MetadataObjectType.d.ts +1 -3
  226. package/lib/schemas/metadata/MetadataObjectType.js +5 -15
  227. package/lib/schemas/metadata/MetadataObjectType.js.map +1 -1
  228. package/lib/schemas/metadata/MetadataObjectType.mjs +6 -18
  229. package/lib/schemas/metadata/MetadataParameter.js +1 -3
  230. package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
  231. package/lib/schemas/metadata/MetadataParameter.mjs +1 -3
  232. package/lib/schemas/metadata/MetadataProperty.d.mts +1 -3
  233. package/lib/schemas/metadata/MetadataProperty.d.ts +1 -3
  234. package/lib/schemas/metadata/MetadataProperty.js +3 -9
  235. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  236. package/lib/schemas/metadata/MetadataProperty.mjs +3 -9
  237. package/lib/schemas/metadata/MetadataTemplate.js +1 -3
  238. package/lib/schemas/metadata/MetadataTemplate.js.map +1 -1
  239. package/lib/schemas/metadata/MetadataTemplate.mjs +1 -3
  240. package/lib/schemas/metadata/MetadataTuple.d.mts +1 -3
  241. package/lib/schemas/metadata/MetadataTuple.d.ts +1 -3
  242. package/lib/schemas/metadata/MetadataTuple.js +2 -6
  243. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  244. package/lib/schemas/metadata/MetadataTuple.mjs +2 -6
  245. package/lib/schemas/metadata/MetadataTupleType.js +2 -6
  246. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  247. package/lib/schemas/metadata/MetadataTupleType.mjs +3 -9
  248. package/lib/tags/Constant.d.mts +32 -0
  249. package/lib/tags/Constant.d.ts +32 -0
  250. package/lib/tags/ContentMediaType.d.mts +17 -0
  251. package/lib/tags/ContentMediaType.d.ts +17 -0
  252. package/lib/tags/Default.d.mts +30 -0
  253. package/lib/tags/Default.d.ts +30 -0
  254. package/lib/tags/Example.d.mts +32 -0
  255. package/lib/tags/Example.d.ts +32 -0
  256. package/lib/tags/Examples.d.mts +40 -0
  257. package/lib/tags/Examples.d.ts +40 -0
  258. package/lib/tags/ExclusiveMaximum.d.mts +21 -0
  259. package/lib/tags/ExclusiveMaximum.d.ts +21 -0
  260. package/lib/tags/ExclusiveMinimum.d.mts +21 -0
  261. package/lib/tags/ExclusiveMinimum.d.ts +21 -0
  262. package/lib/tags/Format.d.mts +28 -0
  263. package/lib/tags/Format.d.ts +28 -0
  264. package/lib/tags/JsonSchemaPlugin.d.mts +28 -0
  265. package/lib/tags/JsonSchemaPlugin.d.ts +28 -0
  266. package/lib/tags/MaxItems.d.mts +19 -0
  267. package/lib/tags/MaxItems.d.ts +19 -0
  268. package/lib/tags/MaxLength.d.mts +13 -0
  269. package/lib/tags/MaxLength.d.ts +13 -0
  270. package/lib/tags/Maximum.d.mts +20 -0
  271. package/lib/tags/Maximum.d.ts +20 -0
  272. package/lib/tags/MinItems.d.mts +19 -0
  273. package/lib/tags/MinItems.d.ts +19 -0
  274. package/lib/tags/MinLength.d.mts +13 -0
  275. package/lib/tags/MinLength.d.ts +13 -0
  276. package/lib/tags/Minimum.d.mts +20 -0
  277. package/lib/tags/Minimum.d.ts +20 -0
  278. package/lib/tags/MultipleOf.d.mts +21 -0
  279. package/lib/tags/MultipleOf.d.ts +21 -0
  280. package/lib/tags/Pattern.d.mts +18 -0
  281. package/lib/tags/Pattern.d.ts +18 -0
  282. package/lib/tags/Sequence.d.mts +27 -0
  283. package/lib/tags/Sequence.d.ts +27 -0
  284. package/lib/tags/TagBase.d.mts +38 -18
  285. package/lib/tags/TagBase.d.ts +38 -18
  286. package/lib/tags/Type.d.mts +27 -0
  287. package/lib/tags/Type.d.ts +27 -0
  288. package/lib/tags/UniqueItems.d.mts +20 -0
  289. package/lib/tags/UniqueItems.d.ts +20 -0
  290. package/lib/tags/internal/FormatCheatSheet.d.mts +1 -3
  291. package/lib/tags/internal/FormatCheatSheet.d.ts +1 -3
  292. package/lib/tags/internal/FormatCheatSheet.js +1 -3
  293. package/lib/tags/internal/FormatCheatSheet.js.map +1 -1
  294. package/lib/tags/internal/FormatCheatSheet.mjs +1 -3
  295. package/lib/transformers/ITransformOptions.d.mts +27 -19
  296. package/lib/transformers/ITransformOptions.d.ts +27 -19
  297. package/lib/transformers/ImportTransformer.js +114 -1
  298. package/lib/transformers/ImportTransformer.js.map +1 -1
  299. package/lib/transformers/ImportTransformer.mjs +114 -1
  300. package/lib/transformers/NoTransformConfigurationError.js +1 -3
  301. package/lib/transformers/NoTransformConfigurationError.js.map +1 -1
  302. package/lib/transformers/NoTransformConfigurationError.mjs +1 -3
  303. package/lib/transformers/features/llm/LlmApplicationTransformer.js +1 -3
  304. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  305. package/lib/transformers/features/llm/LlmApplicationTransformer.mjs +1 -3
  306. package/lib/typings/Equal.d.mts +6 -6
  307. package/lib/typings/Equal.d.ts +6 -6
  308. package/package.json +2 -1
  309. package/src/AssertionGuard.ts +27 -25
  310. package/src/CamelCase.ts +1 -1
  311. package/src/IRandomGenerator.ts +57 -47
  312. package/src/IReadableURLSearchParams.ts +2 -2
  313. package/src/PascalCase.ts +1 -1
  314. package/src/Primitive.ts +20 -22
  315. package/src/Resolved.ts +16 -18
  316. package/src/SnakeCase.ts +3 -2
  317. package/src/TypeGuardError.ts +101 -64
  318. package/src/factories/MetadataCollection.ts +4 -12
  319. package/src/factories/MetadataCommentTagFactory.ts +8 -24
  320. package/src/factories/MetadataFactory.ts +1 -3
  321. package/src/factories/ProtobufFactory.ts +1 -3
  322. package/src/functional.ts +214 -249
  323. package/src/http.ts +329 -397
  324. package/src/internal/_ProtobufReader.ts +3 -9
  325. package/src/internal/_ProtobufSizer.ts +4 -12
  326. package/src/internal/_ProtobufWriter.ts +5 -15
  327. package/src/internal/_jsonStringifyString.ts +4 -4
  328. package/src/json.ts +190 -243
  329. package/src/llm.ts +279 -204
  330. package/src/misc.ts +166 -223
  331. package/src/module.ts +281 -329
  332. package/src/notations.ts +177 -246
  333. package/src/programmers/FeatureProgrammer.ts +19 -41
  334. package/src/programmers/ImportProgrammer.ts +3 -9
  335. package/src/programmers/RandomProgrammer.ts +6 -1
  336. package/src/programmers/helpers/ProtobufWire.ts +13 -13
  337. package/src/programmers/internal/check_array_length.ts +2 -6
  338. package/src/programmers/internal/check_bigint.ts +2 -6
  339. package/src/programmers/internal/check_dynamic_key.ts +2 -6
  340. package/src/programmers/internal/check_dynamic_properties.ts +3 -9
  341. package/src/programmers/internal/check_everything.ts +1 -3
  342. package/src/programmers/internal/check_native.ts +2 -6
  343. package/src/programmers/internal/check_number.ts +2 -6
  344. package/src/programmers/internal/check_object.ts +3 -9
  345. package/src/programmers/internal/check_string.ts +2 -6
  346. package/src/programmers/internal/check_template.ts +1 -3
  347. package/src/programmers/internal/check_union_array_like.ts +2 -6
  348. package/src/programmers/internal/decode_union_object.ts +3 -9
  349. package/src/programmers/internal/feature_object_entries.ts +1 -3
  350. package/src/programmers/internal/json_schema_escaped.ts +2 -6
  351. package/src/programmers/internal/json_schema_object.ts +4 -12
  352. package/src/programmers/internal/metadata_to_pattern.ts +1 -3
  353. package/src/programmers/internal/postfix_of_tuple.ts +1 -3
  354. package/src/programmers/internal/prune_object_properties.ts +1 -3
  355. package/src/programmers/internal/stringify_dynamic_properties.ts +2 -6
  356. package/src/programmers/internal/stringify_native.ts +1 -3
  357. package/src/programmers/internal/stringify_regular_properties.ts +2 -6
  358. package/src/programmers/internal/template_to_pattern.ts +1 -3
  359. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +1 -3
  360. package/src/protobuf.ts +307 -348
  361. package/src/reflect.ts +3 -7
  362. package/src/schemas/json/IJsonApplication.ts +4 -4
  363. package/src/schemas/json/IJsonSchemaCollection.ts +73 -56
  364. package/src/schemas/json/IJsonSchemaUnit.ts +83 -70
  365. package/src/schemas/metadata/IMetadataTypeTag.ts +1 -3
  366. package/src/schemas/metadata/Metadata.ts +9 -27
  367. package/src/schemas/metadata/MetadataAliasType.ts +3 -9
  368. package/src/schemas/metadata/MetadataApplication.ts +2 -6
  369. package/src/schemas/metadata/MetadataArray.ts +1 -3
  370. package/src/schemas/metadata/MetadataArrayType.ts +3 -9
  371. package/src/schemas/metadata/MetadataAtomic.ts +1 -3
  372. package/src/schemas/metadata/MetadataEscaped.ts +3 -9
  373. package/src/schemas/metadata/MetadataFunction.ts +2 -6
  374. package/src/schemas/metadata/MetadataObject.ts +1 -3
  375. package/src/schemas/metadata/MetadataObjectType.ts +6 -18
  376. package/src/schemas/metadata/MetadataParameter.ts +1 -3
  377. package/src/schemas/metadata/MetadataProperty.ts +3 -9
  378. package/src/schemas/metadata/MetadataTemplate.ts +1 -3
  379. package/src/schemas/metadata/MetadataTuple.ts +2 -6
  380. package/src/schemas/metadata/MetadataTupleType.ts +3 -9
  381. package/src/tags/Constant.ts +32 -0
  382. package/src/tags/ContentMediaType.ts +17 -0
  383. package/src/tags/Default.ts +30 -0
  384. package/src/tags/Example.ts +32 -0
  385. package/src/tags/Examples.ts +40 -0
  386. package/src/tags/ExclusiveMaximum.ts +21 -0
  387. package/src/tags/ExclusiveMinimum.ts +21 -0
  388. package/src/tags/Format.ts +28 -0
  389. package/src/tags/JsonSchemaPlugin.ts +28 -0
  390. package/src/tags/MaxItems.ts +19 -0
  391. package/src/tags/MaxLength.ts +13 -0
  392. package/src/tags/Maximum.ts +20 -0
  393. package/src/tags/MinItems.ts +19 -0
  394. package/src/tags/MinLength.ts +13 -0
  395. package/src/tags/Minimum.ts +20 -0
  396. package/src/tags/MultipleOf.ts +21 -0
  397. package/src/tags/Pattern.ts +18 -0
  398. package/src/tags/Sequence.ts +27 -0
  399. package/src/tags/TagBase.ts +38 -18
  400. package/src/tags/Type.ts +27 -0
  401. package/src/tags/UniqueItems.ts +20 -0
  402. package/src/tags/internal/FormatCheatSheet.ts +1 -3
  403. package/src/transformers/ITransformOptions.ts +27 -19
  404. package/src/transformers/ImportTransformer.ts +173 -1
  405. package/src/transformers/NoTransformConfigurationError.ts +1 -3
  406. package/src/transformers/features/llm/LlmApplicationTransformer.ts +1 -3
  407. package/src/typings/Equal.ts +6 -6
@@ -3,37 +3,43 @@ import type { OpenApi, OpenApiV3 } from "@samchon/openapi";
3
3
  * Collection of JSON schemas with OpenAPI specification support.
4
4
  *
5
5
  * `IJsonSchemaCollection` represents a comprehensive collection of JSON schemas
6
- * that can be generated from TypeScript types using the `typia.json.schemas()` function.
7
- * This interface supports both OpenAPI v3.0 and v3.1 specifications, with the ability
8
- * to automatically generate appropriate schema definitions based on the specified version.
6
+ * that can be generated from TypeScript types using the `typia.json.schemas()`
7
+ * function. This interface supports both OpenAPI v3.0 and v3.1 specifications,
8
+ * with the ability to automatically generate appropriate schema definitions
9
+ * based on the specified version.
9
10
  *
10
11
  * The collection includes:
11
- * - Generated JSON schemas array containing schema definitions for the specified types
12
+ *
13
+ * - Generated JSON schemas array containing schema definitions for the specified
14
+ * types
12
15
  * - Reusable components that can be referenced across different schemas
13
- * - Version-specific formatting that adheres to either OpenAPI v3.0 or v3.1 standards
16
+ * - Version-specific formatting that adheres to either OpenAPI v3.0 or v3.1
17
+ * standards
14
18
  *
15
19
  * Key differences between versions:
16
- * - OpenAPI v3.0: Uses {@link OpenApiV3.IJsonSchema} format with limited tuple support
17
- * - OpenAPI v3.1: Uses {@link OpenApi.IJsonSchema} format with full JSON Schema Draft 2020-12 compatibility
18
20
  *
19
- * @template Version The OpenAPI specification version to target ("3.0" or "3.1").
20
- * Defaults to "3.1" for enhanced JSON Schema compatibility.
21
- * @template Types Array of original TypeScript types that were analyzed to generate
22
- * the JSON schemas. This provides type safety and traceability
23
- * back to the source TypeScript definitions.
21
+ * - OpenAPI v3.0: Uses {@link OpenApiV3.IJsonSchema} format with limited tuple
22
+ * support
23
+ * - OpenAPI v3.1: Uses {@link OpenApi.IJsonSchema} format with full JSON Schema
24
+ * Draft 2020-12 compatibility
24
25
  *
26
+ * @author Jeongho Nam - https://github.com/samchon
25
27
  * @example
26
- * ```typescript
27
- * // Generate schemas for OpenAPI v3.1 (default)
28
- * const schemas = typia.json.schemas<[User, Product]>();
29
- * // Type: IJsonSchemaCollection<"3.1", [User, Product]>
28
+ * ```typescript
29
+ * // Generate schemas for OpenAPI v3.1 (default)
30
+ * const schemas = typia.json.schemas<[User, Product]>();
31
+ * // Type: IJsonSchemaCollection<"3.1", [User, Product]>
30
32
  *
31
- * // Generate schemas for OpenAPI v3.0 (Swagger compatibility)
32
- * const swaggerSchemas = typia.json.schemas<[User, Product], "3.0">();
33
- * // Type: IJsonSchemaCollection<"3.0", [User, Product]>
34
- * ```
33
+ * // Generate schemas for OpenAPI v3.0 (Swagger compatibility)
34
+ * const swaggerSchemas = typia.json.schemas<[User, Product], "3.0">();
35
+ * // Type: IJsonSchemaCollection<"3.0", [User, Product]>
36
+ * ```;
35
37
  *
36
- * @author Jeongho Nam - https://github.com/samchon
38
+ * @template Version The OpenAPI specification version to target ("3.0" or
39
+ * "3.1"). Defaults to "3.1" for enhanced JSON Schema compatibility.
40
+ * @template Types Array of original TypeScript types that were analyzed to
41
+ * generate the JSON schemas. This provides type safety and traceability back
42
+ * to the source TypeScript definitions.
37
43
  */
38
44
  export type IJsonSchemaCollection<Version extends "3.0" | "3.1" = "3.1", Types = unknown[]> = Version extends "3.0" ? IJsonSchemaCollection.IV3_0<Types> : IJsonSchemaCollection.IV3_1<Types>;
39
45
  export declare namespace IJsonSchemaCollection {
@@ -41,54 +47,59 @@ export declare namespace IJsonSchemaCollection {
41
47
  * JSON Schema collection formatted for OpenAPI v3.0 specification.
42
48
  *
43
49
  * This interface represents a collection of JSON schemas that comply with
44
- * OpenAPI v3.0 standards, which are compatible with Swagger tools and
45
- * legacy OpenAPI implementations. OpenAPI v3.0 has some limitations
46
- * compared to v3.1, particularly around tuple types and pattern properties.
50
+ * OpenAPI v3.0 standards, which are compatible with Swagger tools and legacy
51
+ * OpenAPI implementations. OpenAPI v3.0 has some limitations compared to
52
+ * v3.1, particularly around tuple types and pattern properties.
47
53
  *
48
54
  * Key characteristics of v3.0:
55
+ *
49
56
  * - Cannot express tuple types natively (falls back to array representations)
50
57
  * - Cannot express pattern properties in object schemas
51
58
  * - Uses nullable property instead of union with null type
52
59
  * - Limited JSON Schema Draft compatibility (based on Draft 4)
53
60
  *
54
- * @template Types Array of original TypeScript types used to generate the schemas.
55
- * This provides compile-time type information about what types
56
- * were analyzed during schema generation.
61
+ * @template Types Array of original TypeScript types used to generate the
62
+ * schemas. This provides compile-time type information about what types
63
+ * were analyzed during schema generation.
57
64
  */
58
65
  interface IV3_0<Types = unknown[]> {
59
66
  /**
60
67
  * OpenAPI specification version identifier.
61
68
  *
62
- * Always set to "3.0" to indicate this collection uses OpenAPI v3.0
63
- * schema format and constraints.
69
+ * Always set to "3.0" to indicate this collection uses OpenAPI v3.0 schema
70
+ * format and constraints.
64
71
  */
65
72
  version: "3.0";
66
73
  /**
67
74
  * Array of generated JSON schemas.
68
75
  *
69
- * Contains the actual JSON schema definitions generated from the input TypeScript types.
70
- * Each schema in this array corresponds to one of the types specified in the `Types`
71
- * template parameter. The schemas follow OpenAPI v3.0 format and may contain
72
- * references to components defined in the {@link components} property.
76
+ * Contains the actual JSON schema definitions generated from the input
77
+ * TypeScript types. Each schema in this array corresponds to one of the
78
+ * types specified in the `Types` template parameter. The schemas follow
79
+ * OpenAPI v3.0 format and may contain references to components defined in
80
+ * the {@link components} property.
73
81
  *
74
- * Schema references typically use the format: `{ "$ref": "#/components/schemas/TypeName" }`
82
+ * Schema references typically use the format: `{ "$ref":
83
+ * "#/components/schemas/TypeName" }`
75
84
  */
76
85
  schemas: OpenApiV3.IJsonSchema[];
77
86
  /**
78
87
  * Reusable schema components for OpenAPI v3.0.
79
88
  *
80
- * Contains reusable schema definitions, security schemes, and other components
81
- * that can be referenced from the main schemas. This follows the OpenAPI v3.0
82
- * components structure and enables schema reuse and modularity.
89
+ * Contains reusable schema definitions, security schemes, and other
90
+ * components that can be referenced from the main schemas. This follows the
91
+ * OpenAPI v3.0 components structure and enables schema reuse and
92
+ * modularity.
83
93
  *
84
94
  * Components include:
85
- * - schemas: Named type definitions that can be referenced via $ref
86
- * - securitySchemes: Authentication and authorization schemes
87
- * - parameters: Reusable parameter definitions
88
- * - requestBodies: Reusable request body definitions
89
- * - responses: Reusable response definitions
90
- * - headers: Reusable header definitions
91
- * - examples: Reusable example definitions
95
+ *
96
+ * - Schemas: Named type definitions that can be referenced via $ref
97
+ * - SecuritySchemes: Authentication and authorization schemes
98
+ * - Parameters: Reusable parameter definitions
99
+ * - RequestBodies: Reusable request body definitions
100
+ * - Responses: Reusable response definitions
101
+ * - Headers: Reusable header definitions
102
+ * - Examples: Reusable example definitions
92
103
  */
93
104
  components: OpenApiV3.IComponents;
94
105
  /**
@@ -100,6 +111,7 @@ export declare namespace IJsonSchemaCollection {
100
111
  * and undefined to prevent it from appearing in serialized JSON output.
101
112
  *
102
113
  * This enables:
114
+ *
103
115
  * - Compile-time type checking against the original types
104
116
  * - IDE intellisense and autocompletion
105
117
  * - Type-safe schema validation and usage
@@ -111,38 +123,40 @@ export declare namespace IJsonSchemaCollection {
111
123
  *
112
124
  * This interface represents a collection of JSON schemas that comply with
113
125
  * OpenAPI v3.1 standards, which provide enhanced JSON Schema compatibility
114
- * and support for modern JSON Schema features. OpenAPI v3.1 is based on
115
- * JSON Schema Draft 2020-12 and offers significant improvements over v3.0.
126
+ * and support for modern JSON Schema features. OpenAPI v3.1 is based on JSON
127
+ * Schema Draft 2020-12 and offers significant improvements over v3.0.
116
128
  *
117
129
  * Key advantages of v3.1:
130
+ *
118
131
  * - Full tuple type support with prefixItems
119
132
  * - Pattern properties support for dynamic object keys
120
133
  * - Proper null type handling via union types
121
134
  * - Enhanced JSON Schema Draft 2020-12 compatibility
122
135
  * - Better const, enum, and validation support
123
136
  *
124
- * @template Types Array of original TypeScript types used to generate the schemas.
125
- * This provides compile-time type information about what types
126
- * were analyzed during schema generation.
137
+ * @template Types Array of original TypeScript types used to generate the
138
+ * schemas. This provides compile-time type information about what types
139
+ * were analyzed during schema generation.
127
140
  */
128
141
  interface IV3_1<Types = unknown[]> {
129
142
  /**
130
143
  * OpenAPI specification version identifier.
131
144
  *
132
- * Always set to "3.1" to indicate this collection uses OpenAPI v3.1
133
- * schema format with enhanced JSON Schema compatibility.
145
+ * Always set to "3.1" to indicate this collection uses OpenAPI v3.1 schema
146
+ * format with enhanced JSON Schema compatibility.
134
147
  */
135
148
  version: "3.1";
136
149
  /**
137
150
  * Reusable schema components for OpenAPI v3.1.
138
151
  *
139
152
  * Contains reusable schema definitions and other components following the
140
- * OpenAPI v3.1 specification. This structure is similar to v3.0 but supports
141
- * enhanced JSON Schema features and improved type definitions.
153
+ * OpenAPI v3.1 specification. This structure is similar to v3.0 but
154
+ * supports enhanced JSON Schema features and improved type definitions.
142
155
  *
143
156
  * Components include:
144
- * - schemas: Named type definitions with enhanced JSON Schema support
145
- * - securitySchemes: Authentication and authorization schemes
157
+ *
158
+ * - Schemas: Named type definitions with enhanced JSON Schema support
159
+ * - SecuritySchemes: Authentication and authorization schemes
146
160
  *
147
161
  * The emended OpenAPI v3.1 format used here removes ambiguous expressions
148
162
  * and standardizes certain patterns for better tooling compatibility.
@@ -154,6 +168,7 @@ export declare namespace IJsonSchemaCollection {
154
168
  * Contains JSON schema definitions that take advantage of OpenAPI v3.1's
155
169
  * enhanced capabilities. These schemas can express more complex TypeScript
156
170
  * types accurately, including:
171
+ *
157
172
  * - Tuple types using prefixItems
158
173
  * - Union types with proper null handling
159
174
  * - Complex nested object structures
@@ -168,9 +183,11 @@ export declare namespace IJsonSchemaCollection {
168
183
  *
169
184
  * This optional property stores the original TypeScript types that were
170
185
  * used to generate the JSON schemas. It provides compile-time type safety
171
- * and enables better development experience without affecting runtime behavior.
186
+ * and enables better development experience without affecting runtime
187
+ * behavior.
172
188
  *
173
189
  * Benefits include:
190
+ *
174
191
  * - Strong typing connection to original TypeScript definitions
175
192
  * - Enhanced IDE support and autocompletion
176
193
  * - Compile-time validation of schema usage
@@ -2,55 +2,57 @@ import { OpenApi, OpenApiV3 } from "@samchon/openapi";
2
2
  /**
3
3
  * Single unit of JSON schema representation.
4
4
  *
5
- * `IJsonSchemaUnit` represents a self-contained JSON schema unit that encapsulates
6
- * a single schema definition along with its associated reusable components. This is
7
- * typically used when generating a JSON schema for a single TypeScript type, as
8
- * opposed to a collection of multiple types.
5
+ * `IJsonSchemaUnit` represents a self-contained JSON schema unit that
6
+ * encapsulates a single schema definition along with its associated reusable
7
+ * components. This is typically used when generating a JSON schema for a single
8
+ * TypeScript type, as opposed to a collection of multiple types.
9
9
  *
10
- * Unlike {@link IJsonSchemaCollection} which handles multiple schemas, `IJsonSchemaUnit`
11
- * focuses on representing a single schema with its dependencies. This makes it ideal
12
- * for scenarios where you need to work with individual type definitions or when
13
- * integrating with systems that expect single schema documents.
10
+ * Unlike {@link IJsonSchemaCollection} which handles multiple schemas,
11
+ * `IJsonSchemaUnit` focuses on representing a single schema with its
12
+ * dependencies. This makes it ideal for scenarios where you need to work with
13
+ * individual type definitions or when integrating with systems that expect
14
+ * single schema documents.
14
15
  *
15
16
  * The unit contains:
17
+ *
16
18
  * - A single JSON schema definition for the specified TypeScript type
17
19
  * - All necessary reusable components that the schema may reference
18
20
  * - Version-specific formatting for either OpenAPI v3.0 or v3.1 compatibility
19
21
  * - Optional type metadata for compile-time type safety
20
22
  *
21
23
  * Key differences from collection:
24
+ *
22
25
  * - Contains only one schema instead of an array of schemas
23
26
  * - More lightweight for single-type use cases
24
27
  * - Simpler structure for direct schema consumption
25
28
  * - Still maintains full component reference support
26
29
  *
27
- * @template Version The OpenAPI specification version to target ("3.0" or "3.1").
28
- * Defaults to "3.1" for enhanced JSON Schema Draft 2020-12 compatibility.
29
- * This determines the schema format, validation capabilities, and
30
- * available features like tuple support and null type handling.
31
- * @template Type The original TypeScript type that was analyzed to generate this
32
- * JSON schema unit. This provides compile-time type safety and
33
- * enables IDEs to provide better intellisense and validation.
34
- *
30
+ * @author Jeongho Nam - https://github.com/samchon
35
31
  * @example
36
- * ```typescript
37
- * interface User {
38
- * id: string;
39
- * name: string;
40
- * email?: string;
41
- * }
32
+ * ```typescript
33
+ * interface User {
34
+ * id: string;
35
+ * name: string;
36
+ * email?: string;
37
+ * }
42
38
  *
43
- * // Generate a single schema unit for OpenAPI v3.1 (default)
44
- * const userSchema = typia.json.schema<User>();
45
- * // Type: IJsonSchemaUnit<"3.1", User>
39
+ * // Generate a single schema unit for OpenAPI v3.1 (default)
40
+ * const userSchema = typia.json.schema<User>();
41
+ * // Type: IJsonSchemaUnit<"3.1", User>
46
42
  *
47
- * // Generate a single schema unit for OpenAPI v3.0 (Swagger compatibility)
48
- * const swaggerUserSchema = typia.json.schema<User, "3.0">();
49
- * // Type: IJsonSchemaUnit<"3.0", User>
50
- * ```
43
+ * // Generate a single schema unit for OpenAPI v3.0 (Swagger compatibility)
44
+ * const swaggerUserSchema = typia.json.schema<User, "3.0">();
45
+ * // Type: IJsonSchemaUnit<"3.0", User>
46
+ * ```;
51
47
  *
48
+ * @template Version The OpenAPI specification version to target ("3.0" or
49
+ * "3.1"). Defaults to "3.1" for enhanced JSON Schema Draft 2020-12
50
+ * compatibility. This determines the schema format, validation capabilities,
51
+ * and available features like tuple support and null type handling.
52
+ * @template Type The original TypeScript type that was analyzed to generate
53
+ * this JSON schema unit. This provides compile-time type safety and enables
54
+ * IDEs to provide better intellisense and validation.
52
55
  * @see {@link IJsonSchemaCollection} For handling multiple schemas at once
53
- * @author Jeongho Nam - https://github.com/samchon
54
56
  */
55
57
  export type IJsonSchemaUnit<Version extends "3.0" | "3.1" = "3.1", Type = unknown> = Version extends "3.0" ? IJsonSchemaUnit.IV3_0<Type> : IJsonSchemaUnit.IV3_1<Type>;
56
58
  export declare namespace IJsonSchemaUnit {
@@ -58,11 +60,12 @@ export declare namespace IJsonSchemaUnit {
58
60
  * JSON Schema unit formatted for OpenAPI v3.0 specification.
59
61
  *
60
62
  * This interface represents a single JSON schema unit that complies with
61
- * OpenAPI v3.0 standards. It contains one schema definition along with
62
- * any reusable components that the schema references, formatted according
63
- * to OpenAPI v3.0 constraints and limitations.
63
+ * OpenAPI v3.0 standards. It contains one schema definition along with any
64
+ * reusable components that the schema references, formatted according to
65
+ * OpenAPI v3.0 constraints and limitations.
64
66
  *
65
67
  * OpenAPI v3.0 characteristics affecting this unit:
68
+ *
66
69
  * - Schema follows OpenAPI v3.0 JSON Schema subset
67
70
  * - Limited support for advanced JSON Schema features
68
71
  * - Uses nullable property for optional null values
@@ -70,32 +73,34 @@ export declare namespace IJsonSchemaUnit {
70
73
  * - Based on JSON Schema Draft 4 with OpenAPI-specific extensions
71
74
  *
72
75
  * Use cases for v3.0:
76
+ *
73
77
  * - Integration with legacy Swagger tooling
74
78
  * - Compatibility with older OpenAPI implementations
75
79
  * - Systems that specifically require OpenAPI v3.0 format
76
80
  * - Code generation tools that expect v3.0 schemas
77
81
  *
78
- * @template Type The original TypeScript type represented by this schema unit.
79
- * Provides compile-time type information and enables type-safe
80
- * operations on the schema.
82
+ * @template Type The original TypeScript type represented by this schema
83
+ * unit. Provides compile-time type information and enables type-safe
84
+ * operations on the schema.
81
85
  */
82
86
  interface IV3_0<Type> {
83
87
  /**
84
88
  * OpenAPI specification version identifier.
85
89
  *
86
- * Always set to "3.0" to indicate this schema unit uses OpenAPI v3.0
87
- * format and adheres to its specific constraints and limitations.
90
+ * Always set to "3.0" to indicate this schema unit uses OpenAPI v3.0 format
91
+ * and adheres to its specific constraints and limitations.
88
92
  */
89
93
  version: "3.0";
90
94
  /**
91
95
  * The primary JSON schema definition.
92
96
  *
93
- * Contains the main JSON schema that represents the TypeScript type specified
94
- * in the `Type` template parameter. This schema follows OpenAPI v3.0 format
95
- * and may contain references to reusable components defined in the
96
- * {@link components} property.
97
+ * Contains the main JSON schema that represents the TypeScript type
98
+ * specified in the `Type` template parameter. This schema follows OpenAPI
99
+ * v3.0 format and may contain references to reusable components defined in
100
+ * the {@link components} property.
97
101
  *
98
102
  * The schema structure includes:
103
+ *
99
104
  * - Type definitions following OpenAPI v3.0 constraints
100
105
  * - Property definitions with v3.0-compatible validation rules
101
106
  * - References to shared components using $ref syntax
@@ -113,13 +118,14 @@ export declare namespace IJsonSchemaUnit {
113
118
  * within the schema definition.
114
119
  *
115
120
  * Component categories include:
116
- * - schemas: Named type definitions for complex objects, arrays, and unions
117
- * - securitySchemes: Authentication and authorization definitions
118
- * - parameters: Reusable parameter specifications
119
- * - requestBodies: Reusable request body definitions
120
- * - responses: Reusable response specifications
121
- * - headers: Reusable header definitions
122
- * - examples: Reusable example values
121
+ *
122
+ * - Schemas: Named type definitions for complex objects, arrays, and unions
123
+ * - SecuritySchemes: Authentication and authorization definitions
124
+ * - Parameters: Reusable parameter specifications
125
+ * - RequestBodies: Reusable request body definitions
126
+ * - Responses: Reusable response specifications
127
+ * - Headers: Reusable header definitions
128
+ * - Examples: Reusable example values
123
129
  *
124
130
  * All components follow OpenAPI v3.0 format restrictions and capabilities.
125
131
  */
@@ -132,26 +138,28 @@ export declare namespace IJsonSchemaUnit {
132
138
  * type information without affecting the runtime JSON representation.
133
139
  *
134
140
  * Benefits of type metadata:
141
+ *
135
142
  * - Enables type-safe schema validation and usage
136
143
  * - Provides IDE intellisense and autocompletion
137
144
  * - Allows compile-time checking of schema operations
138
145
  * - Maintains traceability to original TypeScript definitions
139
146
  *
140
147
  * The property is intentionally marked as optional and undefined to ensure
141
- * it doesn't appear in serialized JSON output while preserving type information
142
- * at compile time.
148
+ * it doesn't appear in serialized JSON output while preserving type
149
+ * information at compile time.
143
150
  */
144
151
  __type?: Type | undefined;
145
152
  }
146
153
  /**
147
154
  * JSON Schema unit formatted for OpenAPI v3.1 specification.
148
155
  *
149
- * This interface represents a single JSON schema unit that takes advantage
150
- * of OpenAPI v3.1's enhanced capabilities and improved JSON Schema compatibility.
151
- * It provides a more feature-rich and accurate representation of TypeScript
152
- * types compared to the v3.0 format.
156
+ * This interface represents a single JSON schema unit that takes advantage of
157
+ * OpenAPI v3.1's enhanced capabilities and improved JSON Schema
158
+ * compatibility. It provides a more feature-rich and accurate representation
159
+ * of TypeScript types compared to the v3.0 format.
153
160
  *
154
161
  * OpenAPI v3.1 advantages for this unit:
162
+ *
155
163
  * - Full JSON Schema Draft 2020-12 compatibility
156
164
  * - Native tuple type support using prefixItems
157
165
  * - Proper null type handling via union types
@@ -160,21 +168,22 @@ export declare namespace IJsonSchemaUnit {
160
168
  * - Better support for complex nested structures
161
169
  *
162
170
  * Use cases for v3.1:
171
+ *
163
172
  * - Modern OpenAPI implementations and tooling
164
173
  * - Systems requiring accurate TypeScript type representation
165
174
  * - Applications needing advanced JSON Schema features
166
175
  * - New projects without legacy compatibility requirements
167
176
  *
168
- * @template Type The original TypeScript type represented by this schema unit.
169
- * Enables compile-time type safety and provides enhanced
170
- * development experience with better IDE support.
177
+ * @template Type The original TypeScript type represented by this schema
178
+ * unit. Enables compile-time type safety and provides enhanced development
179
+ * experience with better IDE support.
171
180
  */
172
181
  interface IV3_1<Type> {
173
182
  /**
174
183
  * OpenAPI specification version identifier.
175
184
  *
176
- * Always set to "3.1" to indicate this schema unit uses OpenAPI v3.1
177
- * format with enhanced JSON Schema compatibility and modern features.
185
+ * Always set to "3.1" to indicate this schema unit uses OpenAPI v3.1 format
186
+ * with enhanced JSON Schema compatibility and modern features.
178
187
  */
179
188
  version: "3.1";
180
189
  /**
@@ -182,9 +191,11 @@ export declare namespace IJsonSchemaUnit {
182
191
  *
183
192
  * Contains the main JSON schema that accurately represents the TypeScript
184
193
  * type using OpenAPI v3.1's enhanced capabilities. This schema can express
185
- * complex TypeScript constructs that were not possible or accurate in v3.0.
194
+ * complex TypeScript constructs that were not possible or accurate in
195
+ * v3.0.
186
196
  *
187
197
  * Enhanced schema features include:
198
+ *
188
199
  * - Tuple types using prefixItems for exact array structure
189
200
  * - Union types with proper null handling via oneOf
190
201
  * - Const values for literal types
@@ -192,20 +203,21 @@ export declare namespace IJsonSchemaUnit {
192
203
  * - Advanced validation constraints and metadata
193
204
  * - Recursive type definitions with proper $ref handling
194
205
  *
195
- * The schema follows the emended OpenAPI v3.1 format used by typia,
196
- * which removes ambiguous expressions while maintaining full compatibility.
206
+ * The schema follows the emended OpenAPI v3.1 format used by typia, which
207
+ * removes ambiguous expressions while maintaining full compatibility.
197
208
  */
198
209
  schema: OpenApi.IJsonSchema;
199
210
  /**
200
211
  * Reusable schema components for OpenAPI v3.1.
201
212
  *
202
- * Contains reusable schema definitions and components that leverage
203
- * OpenAPI v3.1's enhanced capabilities. These components provide better
204
- * type representation and more accurate schema definitions compared to v3.0.
213
+ * Contains reusable schema definitions and components that leverage OpenAPI
214
+ * v3.1's enhanced capabilities. These components provide better type
215
+ * representation and more accurate schema definitions compared to v3.0.
205
216
  *
206
217
  * Enhanced component features:
207
- * - schemas: More accurate type definitions with v3.1 JSON Schema features
208
- * - securitySchemes: Enhanced authentication scheme definitions
218
+ *
219
+ * - Schemas: More accurate type definitions with v3.1 JSON Schema features
220
+ * - SecuritySchemes: Enhanced authentication scheme definitions
209
221
  * - Better support for complex nested references
210
222
  * - Improved handling of recursive and circular type dependencies
211
223
  *
@@ -218,10 +230,11 @@ export declare namespace IJsonSchemaUnit {
218
230
  *
219
231
  * This optional property preserves the original TypeScript type information
220
232
  * for compile-time type checking and enhanced development experience. It
221
- * enables type-safe operations and better IDE support without affecting
222
- * the runtime JSON schema representation.
233
+ * enables type-safe operations and better IDE support without affecting the
234
+ * runtime JSON schema representation.
223
235
  *
224
236
  * Enhanced type safety features:
237
+ *
225
238
  * - Strong typing connection to original TypeScript definitions
226
239
  * - Better IDE intellisense and error detection
227
240
  * - Compile-time validation of schema usage patterns