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
@@ -19,12 +19,16 @@ var ImportTransformer;
19
19
  return props.file;
20
20
  const from = get_directory_path(path_1.default.resolve(props.file.getSourceFile().fileName));
21
21
  const to = from.replace(props.top, props.to);
22
- return typescript_1.default.visitEachChild(props.file, (node) => transform_node({
22
+ // First pass: transform relative imports
23
+ let transformedFile = typescript_1.default.visitEachChild(props.file, (node) => transform_node({
23
24
  top: props.top,
24
25
  from,
25
26
  to,
26
27
  node,
27
28
  }), props.context);
29
+ // Second pass: remove unused typia imports
30
+ transformedFile = removeUnusedTypiaImports(transformedFile);
31
+ return transformedFile;
28
32
  };
29
33
  const transform_node = (props) => {
30
34
  if (!typescript_1.default.isImportDeclaration(props.node) ||
@@ -51,4 +55,113 @@ const get_directory_path = (file) => {
51
55
  split.pop();
52
56
  return path_1.default.resolve(split.join(path_1.default.sep));
53
57
  };
58
+ /** Remove unused typia imports that are only used in transformable calls */
59
+ const removeUnusedTypiaImports = (file) => {
60
+ const imports = new Map();
61
+ for (const stmt of file.statements) {
62
+ if (typescript_1.default.isImportDeclaration(stmt) === false ||
63
+ typescript_1.default.isStringLiteral(stmt.moduleSpecifier) === false ||
64
+ stmt.moduleSpecifier.text !== "typia" ||
65
+ stmt.importClause === undefined)
66
+ continue;
67
+ // Track default import (import typia from 'typia')
68
+ if (stmt.importClause.name)
69
+ imports.set(stmt.importClause.name.text, {
70
+ declaration: stmt,
71
+ default: true,
72
+ });
73
+ // Track named imports (import { tags } from 'typia') - keep these
74
+ if (stmt.importClause.namedBindings &&
75
+ typescript_1.default.isNamedImports(stmt.importClause.namedBindings))
76
+ for (const element of stmt.importClause.namedBindings.elements)
77
+ imports.set(element.name.text, {
78
+ declaration: stmt,
79
+ default: false,
80
+ });
81
+ }
82
+ if (imports.size === 0)
83
+ return file; // No typia imports to check
84
+ // Find usage of typia identifiers that are NOT transformable calls
85
+ const nonTransformableUsage = new Set();
86
+ const checkUsage = (node) => {
87
+ if (typescript_1.default.isIdentifier(node) && imports.has(node.text)) {
88
+ const identifier = node.text;
89
+ // Check if this identifier is being used as part of a property access
90
+ if (node.parent &&
91
+ typescript_1.default.isPropertyAccessExpression(node.parent) &&
92
+ node.parent.expression === node) {
93
+ // This is typia.something - check if it's a transformable call pattern
94
+ if (!isLikelyTransformableCall(node.parent))
95
+ nonTransformableUsage.add(identifier);
96
+ }
97
+ else
98
+ // Direct usage of the typia identifier (not as property access)
99
+ // This is definitely non-transformable usage
100
+ nonTransformableUsage.add(identifier);
101
+ }
102
+ typescript_1.default.forEachChild(node, checkUsage);
103
+ };
104
+ // Check all statements except import declarations
105
+ for (const stmt of file.statements)
106
+ if (!typescript_1.default.isImportDeclaration(stmt) ||
107
+ !typescript_1.default.isStringLiteral(stmt.moduleSpecifier) ||
108
+ stmt.moduleSpecifier.text !== "typia")
109
+ checkUsage(stmt);
110
+ // Update import statements
111
+ const newStatements = file.statements
112
+ .map((stmt) => {
113
+ if (typescript_1.default.isImportDeclaration(stmt) &&
114
+ typescript_1.default.isStringLiteral(stmt.moduleSpecifier) &&
115
+ stmt.moduleSpecifier.text === "typia" &&
116
+ stmt.importClause) {
117
+ const newImportClause = filterTypiaImportClause(stmt.importClause, nonTransformableUsage);
118
+ if (newImportClause)
119
+ return typescript_1.default.factory.createImportDeclaration(stmt.modifiers, newImportClause, stmt.moduleSpecifier, stmt.attributes);
120
+ return null; // Skip adding the import if all imports are unused
121
+ }
122
+ return stmt;
123
+ })
124
+ .filter((stmt) => stmt !== null);
125
+ return typescript_1.default.factory.updateSourceFile(file, newStatements, file.isDeclarationFile, file.referencedFiles, file.typeReferenceDirectives, file.hasNoDefaultLib, file.libReferenceDirectives);
126
+ };
127
+ /**
128
+ * Check if a property access expression looks like a transformable typia call
129
+ * This uses heuristics to detect patterns like typia.xxx(),
130
+ * typia.namespace.xxx()
131
+ */
132
+ const isLikelyTransformableCall = (node) => {
133
+ // Check if this is eventually part of a call expression
134
+ let current = node;
135
+ // Walk up the chain to find if this leads to a call expression
136
+ // Handle patterns like: typia.xxx(), typia.namespace.xxx()
137
+ while (typescript_1.default.isPropertyAccessExpression(current)) {
138
+ current = current.parent;
139
+ }
140
+ // If the final result is a call expression, this is likely transformable
141
+ if (typescript_1.default.isCallExpression(current) &&
142
+ (current.expression === node ||
143
+ (typescript_1.default.isPropertyAccessExpression(current.expression) &&
144
+ isTypiaPropertyChain(current.expression)))) {
145
+ return true;
146
+ }
147
+ return false;
148
+ };
149
+ /** Check if a property access expression is part of a typia.xxx.yyy chain */
150
+ const isTypiaPropertyChain = (node) => {
151
+ let current = node;
152
+ while (typescript_1.default.isPropertyAccessExpression(current)) {
153
+ current = current.expression;
154
+ }
155
+ return typescript_1.default.isIdentifier(current) && current.text === "typia";
156
+ };
157
+ /** Filter import clause to remove unused default imports */
158
+ const filterTypiaImportClause = (importClause, usedImports) => {
159
+ const hasDefaultImport = importClause.name && usedImports.has(importClause.name.text);
160
+ const namedBindings = importClause.namedBindings; // Always keep named bindings like { tags }
161
+ // Return undefined if no imports are used
162
+ if (!hasDefaultImport && !namedBindings) {
163
+ return undefined;
164
+ }
165
+ return typescript_1.default.factory.createImportClause(importClause.isTypeOnly, hasDefaultImport ? importClause.name : undefined, namedBindings);
166
+ };
54
167
  //# sourceMappingURL=ImportTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImportTransformer.js","sourceRoot":"","sources":["../../src/transformers/ImportTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImportTransformer.js","sourceRoot":"","sources":["../../src/transformers/ImportTransformer.ts"],"names":[],"mappings":"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"}
@@ -14,12 +14,16 @@ var ImportTransformer;
14
14
  return props.file;
15
15
  const from = get_directory_path(path.resolve(props.file.getSourceFile().fileName));
16
16
  const to = from.replace(props.top, props.to);
17
- return ts.visitEachChild(props.file, (node) => transform_node({
17
+ // First pass: transform relative imports
18
+ let transformedFile = ts.visitEachChild(props.file, (node) => transform_node({
18
19
  top: props.top,
19
20
  from,
20
21
  to,
21
22
  node,
22
23
  }), props.context);
24
+ // Second pass: remove unused typia imports
25
+ transformedFile = removeUnusedTypiaImports(transformedFile);
26
+ return transformedFile;
23
27
  };
24
28
  const transform_node = (props) => {
25
29
  if (!ts.isImportDeclaration(props.node) ||
@@ -46,6 +50,115 @@ const get_directory_path = (file) => {
46
50
  split.pop();
47
51
  return path.resolve(split.join(path.sep));
48
52
  };
53
+ /** Remove unused typia imports that are only used in transformable calls */
54
+ const removeUnusedTypiaImports = (file) => {
55
+ const imports = new Map();
56
+ for (const stmt of file.statements) {
57
+ if (ts.isImportDeclaration(stmt) === false ||
58
+ ts.isStringLiteral(stmt.moduleSpecifier) === false ||
59
+ stmt.moduleSpecifier.text !== "typia" ||
60
+ stmt.importClause === undefined)
61
+ continue;
62
+ // Track default import (import typia from 'typia')
63
+ if (stmt.importClause.name)
64
+ imports.set(stmt.importClause.name.text, {
65
+ declaration: stmt,
66
+ default: true,
67
+ });
68
+ // Track named imports (import { tags } from 'typia') - keep these
69
+ if (stmt.importClause.namedBindings &&
70
+ ts.isNamedImports(stmt.importClause.namedBindings))
71
+ for (const element of stmt.importClause.namedBindings.elements)
72
+ imports.set(element.name.text, {
73
+ declaration: stmt,
74
+ default: false,
75
+ });
76
+ }
77
+ if (imports.size === 0)
78
+ return file; // No typia imports to check
79
+ // Find usage of typia identifiers that are NOT transformable calls
80
+ const nonTransformableUsage = new Set();
81
+ const checkUsage = (node) => {
82
+ if (ts.isIdentifier(node) && imports.has(node.text)) {
83
+ const identifier = node.text;
84
+ // Check if this identifier is being used as part of a property access
85
+ if (node.parent &&
86
+ ts.isPropertyAccessExpression(node.parent) &&
87
+ node.parent.expression === node) {
88
+ // This is typia.something - check if it's a transformable call pattern
89
+ if (!isLikelyTransformableCall(node.parent))
90
+ nonTransformableUsage.add(identifier);
91
+ }
92
+ else
93
+ // Direct usage of the typia identifier (not as property access)
94
+ // This is definitely non-transformable usage
95
+ nonTransformableUsage.add(identifier);
96
+ }
97
+ ts.forEachChild(node, checkUsage);
98
+ };
99
+ // Check all statements except import declarations
100
+ for (const stmt of file.statements)
101
+ if (!ts.isImportDeclaration(stmt) ||
102
+ !ts.isStringLiteral(stmt.moduleSpecifier) ||
103
+ stmt.moduleSpecifier.text !== "typia")
104
+ checkUsage(stmt);
105
+ // Update import statements
106
+ const newStatements = file.statements
107
+ .map((stmt) => {
108
+ if (ts.isImportDeclaration(stmt) &&
109
+ ts.isStringLiteral(stmt.moduleSpecifier) &&
110
+ stmt.moduleSpecifier.text === "typia" &&
111
+ stmt.importClause) {
112
+ const newImportClause = filterTypiaImportClause(stmt.importClause, nonTransformableUsage);
113
+ if (newImportClause)
114
+ return ts.factory.createImportDeclaration(stmt.modifiers, newImportClause, stmt.moduleSpecifier, stmt.attributes);
115
+ return null; // Skip adding the import if all imports are unused
116
+ }
117
+ return stmt;
118
+ })
119
+ .filter((stmt) => stmt !== null);
120
+ return ts.factory.updateSourceFile(file, newStatements, file.isDeclarationFile, file.referencedFiles, file.typeReferenceDirectives, file.hasNoDefaultLib, file.libReferenceDirectives);
121
+ };
122
+ /**
123
+ * Check if a property access expression looks like a transformable typia call
124
+ * This uses heuristics to detect patterns like typia.xxx(),
125
+ * typia.namespace.xxx()
126
+ */
127
+ const isLikelyTransformableCall = (node) => {
128
+ // Check if this is eventually part of a call expression
129
+ let current = node;
130
+ // Walk up the chain to find if this leads to a call expression
131
+ // Handle patterns like: typia.xxx(), typia.namespace.xxx()
132
+ while (ts.isPropertyAccessExpression(current)) {
133
+ current = current.parent;
134
+ }
135
+ // If the final result is a call expression, this is likely transformable
136
+ if (ts.isCallExpression(current) &&
137
+ (current.expression === node ||
138
+ (ts.isPropertyAccessExpression(current.expression) &&
139
+ isTypiaPropertyChain(current.expression)))) {
140
+ return true;
141
+ }
142
+ return false;
143
+ };
144
+ /** Check if a property access expression is part of a typia.xxx.yyy chain */
145
+ const isTypiaPropertyChain = (node) => {
146
+ let current = node;
147
+ while (ts.isPropertyAccessExpression(current)) {
148
+ current = current.expression;
149
+ }
150
+ return ts.isIdentifier(current) && current.text === "typia";
151
+ };
152
+ /** Filter import clause to remove unused default imports */
153
+ const filterTypiaImportClause = (importClause, usedImports) => {
154
+ const hasDefaultImport = importClause.name && usedImports.has(importClause.name.text);
155
+ const namedBindings = importClause.namedBindings; // Always keep named bindings like { tags }
156
+ // Return undefined if no imports are used
157
+ if (!hasDefaultImport && !namedBindings) {
158
+ return undefined;
159
+ }
160
+ return ts.factory.createImportClause(importClause.isTypeOnly, hasDefaultImport ? importClause.name : undefined, namedBindings);
161
+ };
49
162
 
50
163
  export { ImportTransformer };
51
164
  //# sourceMappingURL=ImportTransformer.mjs.map
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NoTransformConfigurationError = NoTransformConfigurationError;
4
- /**
5
- * @internal
6
- */
4
+ /** @internal */
7
5
  function NoTransformConfigurationError(name) {
8
6
  throw new Error([
9
7
  `Error on typia.${name}(): no transform has been configured.`,
@@ -1 +1 @@
1
- {"version":3,"file":"NoTransformConfigurationError.js","sourceRoot":"","sources":["../../src/transformers/NoTransformConfigurationError.ts"],"names":[],"mappings":";;AAGA,sEAcC;AAjBD;;GAEG;AACH,SAAgB,6BAA6B,CAAC,IAAY;IACxD,MAAM,IAAI,KAAK,CACb;QACE,kBAAkB,IAAI,uCAAuC;QAC7D,EAAE;QACF,qDAAqD;QACrD,EAAE;QACF;YACE,yDAAyD;YACzD,0DAA0D;YAC1D,0BAA0B;SAC3B,CAAC,IAAI,CAAC,GAAG,CAAC;KACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"NoTransformConfigurationError.js","sourceRoot":"","sources":["../../src/transformers/NoTransformConfigurationError.ts"],"names":[],"mappings":";;AACA,sEAcC;AAfD,gBAAgB;AAChB,SAAgB,6BAA6B,CAAC,IAAY;IACxD,MAAM,IAAI,KAAK,CACb;QACE,kBAAkB,IAAI,uCAAuC;QAC7D,EAAE;QACF,qDAAqD;QACrD,EAAE;QACF;YACE,yDAAyD;YACzD,0DAA0D;YAC1D,0BAA0B;SAC3B,CAAC,IAAI,CAAC,GAAG,CAAC;KACZ,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;AACJ,CAAC"}
@@ -1,6 +1,4 @@
1
- /**
2
- * @internal
3
- */
1
+ /** @internal */
4
2
  function NoTransformConfigurationError(name) {
5
3
  throw new Error([
6
4
  `Error on typia.${name}(): no transform has been configured.`,
@@ -44,9 +44,7 @@ var LlmApplicationTransformer;
44
44
  typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("application")),
45
45
  ], true));
46
46
  };
47
- /**
48
- * @internal
49
- */
47
+ /** @internal */
50
48
  LlmApplicationTransformer.decompose = (method, props) => {
51
49
  var _a;
52
50
  // GET GENERIC ARGUMENT
@@ -1 +1 @@
1
- {"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmApplicationTransformer.ts"],"names":[],"mappings":"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"}
@@ -38,9 +38,7 @@ var LlmApplicationTransformer;
38
38
  ts.factory.createReturnStatement(ts.factory.createIdentifier("application")),
39
39
  ], true));
40
40
  };
41
- /**
42
- * @internal
43
- */
41
+ /** @internal */
44
42
  LlmApplicationTransformer.decompose = (method, props) => {
45
43
  // GET GENERIC ARGUMENT
46
44
  if (!props.expression.typeArguments?.length)
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * Compare the equivalence of the two types X and Y.
3
3
  *
4
- * The two types X and Y refer to any type that can be expressed in the type script, such as the union type and the object type.
4
+ * The two types X and Y refer to any type that can be expressed in the
5
+ * TypeScript, such as the union type and the object type.
5
6
  *
7
+ * @author Kyungsu Kang - https://github.com/kakasoo
6
8
  * @template X One of the types to compare
7
9
  * @template Y One of the types to compare
8
10
  *
9
- * ```ts
10
- * type Answer = Equal<1 | 2, 1 | 2>; // true
11
- * ```
12
- *
13
- * @author Kyungsu Kang - https://github.com/kakasoo
11
+ * ```ts
12
+ * type Answer = Equal<1 | 2, 1 | 2>; // true
13
+ * ```
14
14
  */
15
15
  export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false;
@@ -1,15 +1,15 @@
1
1
  /**
2
2
  * Compare the equivalence of the two types X and Y.
3
3
  *
4
- * The two types X and Y refer to any type that can be expressed in the type script, such as the union type and the object type.
4
+ * The two types X and Y refer to any type that can be expressed in the
5
+ * TypeScript, such as the union type and the object type.
5
6
  *
7
+ * @author Kyungsu Kang - https://github.com/kakasoo
6
8
  * @template X One of the types to compare
7
9
  * @template Y One of the types to compare
8
10
  *
9
- * ```ts
10
- * type Answer = Equal<1 | 2, 1 | 2>; // true
11
- * ```
12
- *
13
- * @author Kyungsu Kang - https://github.com/kakasoo
11
+ * ```ts
12
+ * type Answer = Equal<1 | 2, 1 | 2>; // true
13
+ * ```
14
14
  */
15
15
  export type Equal<X, Y> = (<T>() => T extends X ? 1 : 2) extends <T>() => T extends Y ? 1 : 2 ? true : false;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "9.7.0",
3
+ "version": "9.7.2",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -65,6 +65,7 @@
65
65
  "chalk": "^4.0.0",
66
66
  "eslint-plugin-deprecation": "^3.0.0",
67
67
  "prettier": "^3.2.5",
68
+ "prettier-plugin-jsdoc": "^1.3.3",
68
69
  "rimraf": "^5.0.5",
69
70
  "rollup": "^4.18.0",
70
71
  "rollup-plugin-auto-external": "^2.0.0",
@@ -1,39 +1,41 @@
1
1
  /**
2
2
  * Type definition for assertion guard functions in `typia`.
3
3
  *
4
- * An assertion guard is a function that asserts an input value's type at runtime
5
- * and performs a TypeScript type assertion if validation passes. Unlike regular
6
- * assertion functions that return the validated value, assertion guards return
7
- * nothing but automatically cast the input parameter to the expected type `T`.
4
+ * An assertion guard is a function that asserts an input value's type at
5
+ * runtime and performs a TypeScript type assertion if validation passes. Unlike
6
+ * regular assertion functions that return the validated value, assertion guards
7
+ * return nothing but automatically cast the input parameter to the expected
8
+ * type `T`.
8
9
  *
9
- * This type is used by `typia.createAssertGuard<T>()` and `typia.createAssertGuardEquals<T>()`
10
- * to generate reusable assertion guard functions.
11
- *
12
- * @template T - The expected type to validate and assert against
13
- * @param input - The value to validate (type unknown)
14
- * @throws {TypeGuardError} When the input value doesn't match the expected type T
15
- * @returns void - Returns nothing, but asserts that input is type T
10
+ * This type is used by `typia.createAssertGuard<T>()` and
11
+ * `typia.createAssertGuardEquals<T>()` to generate reusable assertion guard
12
+ * functions.
16
13
  *
14
+ * @author Jeongho Nam - https://github.com/samchon
17
15
  * @example
18
- * ```typescript
19
- * interface IMember {
20
- * name: string;
21
- * age: number;
22
- * }
16
+ * ```typescript
17
+ * interface IMember {
18
+ * name: string;
19
+ * age: number;
20
+ * }
23
21
  *
24
- * // Create reusable assertion guard
25
- * const assertMember: AssertionGuard<IMember> = typia.createAssertGuard<IMember>();
22
+ * // Create reusable assertion guard
23
+ * const assertMember: AssertionGuard<IMember> = typia.createAssertGuard<IMember>();
26
24
  *
27
- * // Usage - input will be automatically cast to IMember if validation passes
28
- * const unknownData: unknown = { name: "John", age: 25 };
25
+ * // Usage - input will be automatically cast to IMember if validation passes
26
+ * const unknownData: unknown = { name: "John", age: 25 };
29
27
  *
30
- * assertMember(unknownData);
31
- * // After this line, unknownData is automatically treated as IMember type
32
- * console.log(unknownData.name); // TypeScript knows this is safe
33
- * ```
28
+ * assertMember(unknownData);
29
+ * // After this line, unknownData is automatically treated as IMember type
30
+ * console.log(unknownData.name); // TypeScript knows this is safe
31
+ * ```;
34
32
  *
33
+ * @template T - The expected type to validate and assert against
34
+ * @param input - The value to validate (type unknown)
35
+ * @returns Void - Returns nothing, but asserts that input is type T
36
+ * @throws {TypeGuardError} When the input value doesn't match the expected type
37
+ * T
35
38
  * @see {@link https://github.com/samchon/typia#assertguard-functions} Typia assertion guards documentation
36
39
  * @see {@link TypeGuardError} Error thrown when assertion fails
37
- * @author Jeongho Nam - https://github.com/samchon
38
40
  */
39
41
  export type AssertionGuard<T> = (input: unknown) => asserts input is T;
package/src/CamelCase.ts CHANGED
@@ -10,8 +10,8 @@ import { ValueOf } from "./typings/ValueOf";
10
10
  *
11
11
  * It also erases every method property like {@link Resolved} type.
12
12
  *
13
- * @template T Target type to be camelized
14
13
  * @author Jeongho Nam - https://github.com/samchon
14
+ * @template T Target type to be camelized
15
15
  */
16
16
  export type CamelCase<T> =
17
17
  Equal<T, CamelizeMain<T>> extends true ? T : CamelizeMain<T>;