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
package/lib/http.d.mts CHANGED
@@ -7,9 +7,9 @@ import { TypeGuardError } from "./TypeGuardError";
7
7
  * Form data decoder.
8
8
  *
9
9
  * `typia.http.formData()` is a function decoding `FormData` instance, with
10
- * automatic type casting to the expected type. When property type is defined
11
- * as `boolean` or `Blob` type, `typia.http.formData()` will cast the value to
12
- * the expected type when decoding.
10
+ * automatic type casting to the expected type. When property type is defined as
11
+ * `boolean` or `Blob` type, `typia.http.formData()` will cast the value to the
12
+ * expected type when decoding.
13
13
  *
14
14
  * By the way, as `FormData` is not enough to express complex data structures,
15
15
  * `typia.http.formData()` function has some limitations. If target type `T` is
@@ -17,138 +17,139 @@ import { TypeGuardError } from "./TypeGuardError";
17
17
  *
18
18
  * 1. Type `T` must be an object type
19
19
  * 2. Do not allow dynamic property
20
- * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array types are allowed
20
+ * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
21
+ * types are allowed
21
22
  * 4. Union types are never allowed
22
23
  *
23
24
  * Also, `typia.http.formData()` function does not perform validation about the
24
25
  * decoded value. Therefore, if you can't sure that input data is following the
25
26
  * `T` type, it would better to call one of below functions instead.
26
27
  *
28
+ * @author Jeongho Nam - https://github.com/samchon
27
29
  * @template T Expected type of decoded value
28
30
  * @param input FormData instance
29
31
  * @returns Decoded form FormData
30
- *
31
- * @author Jeongho Nam - https://github.com/samchon
32
32
  */
33
33
  export declare function formData<T extends object>(input: FormData): Resolved<T>;
34
34
  /**
35
35
  * Form data decoder with type assertion.
36
36
  *
37
- * `typia.http.assertFormData()` is a function decoding `FormData` instance, with
38
- * automatic type casting to the expected type. When property type is defined
39
- * as `boolean` or `Blob` type, `typia.http.assertFormData()` will cast the value
40
- * to the expected type when decoding.
37
+ * `typia.http.assertFormData()` is a function decoding `FormData` instance,
38
+ * with automatic type casting to the expected type. When property type is
39
+ * defined as `boolean` or `Blob` type, `typia.http.assertFormData()` will cast
40
+ * the value to the expected type when decoding.
41
41
  *
42
- * Also, after decoding, `typia.http.assertFormData()` performs type assertion to
43
- * the decoded value by combining with {@link assert} function. Therefore, when
44
- * the decoded value is not following the `T` type, {@link TypeGuardError} or
45
- * custom error generated by *errorFactory* would be thrown.
42
+ * Also, after decoding, `typia.http.assertFormData()` performs type assertion
43
+ * to the decoded value by combining with {@link assert} function. Therefore,
44
+ * when the decoded value is not following the `T` type, {@link TypeGuardError}
45
+ * or custom error generated by _errorFactory_ would be thrown.
46
46
  *
47
47
  * By the way, as `FormData` is not enough to express complex data structures,
48
- * `typia.http.assertFormData()` function has some limitations. If target type `T`
49
- * is not following those restrictions, compilation errors would be occurred.
48
+ * `typia.http.assertFormData()` function has some limitations. If target type
49
+ * `T` is not following those restrictions, compilation errors would be
50
+ * occurred.
50
51
  *
51
52
  * 1. Type `T` must be an object type
52
53
  * 2. Do not allow dynamic property
53
- * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array types are allowed
54
+ * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
55
+ * types are allowed
54
56
  * 4. Union types are never allowed
55
57
  *
58
+ * @author Jeongho Nam - https://github.com/samchon
56
59
  * @template T Expected type of decoded value
57
60
  * @param input FormData instance
58
61
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
59
62
  * @returns Decoded form FormData
60
- *
61
- * @author Jeongho Nam - https://github.com/samchon
62
63
  */
63
64
  export declare function assertFormData<T extends object>(input: FormData, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;
64
65
  /**
65
66
  * Form data decoder with type checking.
66
67
  *
67
68
  * `typia.http.isFormData()` is a function decoding `FormData` instance, with
68
- * automatic type casting to the expected type. When property type is defined
69
- * as `boolean` or `Blob` type, `typia.http.isFormData()` will cast the value
70
- * to the expected type when decoding.
69
+ * automatic type casting to the expected type. When property type is defined as
70
+ * `boolean` or `Blob` type, `typia.http.isFormData()` will cast the value to
71
+ * the expected type when decoding.
71
72
  *
72
73
  * Also, after decoding, `typia.http.isFormData()` performs type checking to the
73
74
  * decoded value by combining with {@link is} function. Therefore, when the
74
75
  * decoded value is not following the `T` type, `null` value would be returned.
75
76
  *
76
77
  * By the way, as `FormData` is not enough to express complex data structures,
77
- * `typia.http.isFormData()` function has some limitations. If target type `T` is
78
- * not following those restrictions, compilation errors would be occurred.
78
+ * `typia.http.isFormData()` function has some limitations. If target type `T`
79
+ * is not following those restrictions, compilation errors would be occurred.
79
80
  *
80
81
  * 1. Type `T` must be an object type
81
82
  * 2. Do not allow dynamic property
82
- * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array types are allowed
83
+ * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
84
+ * types are allowed
83
85
  * 4. Union types are never allowed
84
86
  *
87
+ * @author Jeongho Nam - https://github.com/samchon
85
88
  * @template T Expected type of decoded value
86
89
  * @param input FormData instance
87
90
  * @returns Decoded form FormData or `null` value
88
- *
89
- * @author Jeongho Nam - https://github.com/samchon
90
91
  */
91
92
  export declare function isFormData<T extends object>(input: FormData): Resolved<T> | null;
92
93
  /**
93
94
  * Form data decoder with type validation.
94
95
  *
95
96
  * `typia.http.validateFormData()` is a function decoding `FormData` instance,
96
- * with automatic type casting to the expected type. When property type is defined
97
- * as `boolean` or `Blob` type, `typia.http.validateFormData()` will cast the
98
- * value to the expected type when decoding.
97
+ * with automatic type casting to the expected type. When property type is
98
+ * defined as `boolean` or `Blob` type, `typia.http.validateFormData()` will
99
+ * cast the value to the expected type when decoding.
99
100
  *
100
- * Also, after decoding, `typia.http.validateFormData()` performs type validation
101
- * to the decoded value by combining with {@link validate} function. Therefore,
102
- * when the decoded value is not following the `T` type,
103
- * {@link IValidation.IFailure} would be returned. Otherwise,
104
- * x@xxxx IValidation.ISuccess} would be returned.
101
+ * Also, after decoding, `typia.http.validateFormData()` performs type
102
+ * validation to the decoded value by combining with {@link validate} function.
103
+ * Therefore, when the decoded value is not following the `T` type,
104
+ * {@link IValidation.IFailure} would be returned. Otherwise, x@xxxx
105
+ * IValidation.ISuccess} would be returned.
105
106
  *
106
107
  * By the way, as `FormData` is not enough to express complex data structures,
107
108
  * `typia.http.validateFormData()` function has some limitations. If target type
108
- * `T` is not following those restrictions, compilation errors would be occurred.
109
+ * `T` is not following those restrictions, compilation errors would be
110
+ * occurred.
109
111
  *
110
112
  * 1. Type `T` must be an object type
111
113
  * 2. Do not allow dynamic property
112
- * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array types are allowed
114
+ * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
115
+ * types are allowed
113
116
  * 4. Union types are never allowed
114
117
  *
118
+ * @author Jeongho Nam - https://github.com/samchon
115
119
  * @template T Expected type of decoded value
116
120
  * @param input FormData instance
117
121
  * @returns Validation result with decoded form FormData
118
- *
119
- * @author Jeongho Nam - https://github.com/samchon
120
122
  */
121
123
  export declare function validateFormData<T extends object>(input: FormData): IValidation<Resolved<T>>;
122
124
  /**
123
125
  * URL query decoder.
124
126
  *
125
- * `typia.http.query()` is a function decoding a query string or an `URLSearchParams`
126
- * instance, with automatic type casting to the expected type. When property type be
127
- * defined as `boolean` or `number` type, `typia.http.query()` will cast the value to
128
- * the expected type when decoding.
127
+ * `typia.http.query()` is a function decoding a query string or an
128
+ * `URLSearchParams` instance, with automatic type casting to the expected type.
129
+ * When property type be defined as `boolean` or `number` type,
130
+ * `typia.http.query()` will cast the value to the expected type when decoding.
129
131
  *
130
132
  * By the way, as URL query is not enough to express complex data structures,
131
133
  * `typia.http.query()` function has some limitations. If target type `T` is not
132
134
  * following those restrictions, compilation errors would be occurred.
133
135
  *
134
- * 1. Type `T` must be an object type
135
- * 2. Do not allow dynamic property
136
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
137
- * 4. Union types are never allowed
136
+ * 1. Type `T` must be an object type
137
+ * 2. Do not allow dynamic property
138
+ * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
139
+ * 4. Union types are never allowed
138
140
  *
139
- * Also, `typia.http.query()` function does not perform validation about the decoded
140
- * value. Therefore, if you can't sure that input data is following the `T` type,
141
- * it would better to call one of below functions instead.
141
+ * Also, `typia.http.query()` function does not perform validation about the
142
+ * decoded value. Therefore, if you can't sure that input data is following the
143
+ * `T` type, it would better to call one of below functions instead.
142
144
  *
143
- * - {@link assertQuery}
144
- * - {@link isQuery}
145
- * - {@link validateQuery}
145
+ * - {@link assertQuery}
146
+ * - {@link isQuery}
147
+ * - {@link validateQuery}
146
148
  *
149
+ * @author Jeongho Nam - https://github.com/samchon
147
150
  * @template T Expected type of decoded value
148
151
  * @param input Query string or URLSearchParams instance
149
152
  * @returns Decoded query object
150
- *
151
- * @author Jeongho Nam - https://github.com/samchon
152
153
  */
153
154
  export declare function query<T extends object>(input: string | IReadableURLSearchParams): Resolved<T>;
154
155
  /**
@@ -157,28 +158,28 @@ export declare function query<T extends object>(input: string | IReadableURLSear
157
158
  * `typia.http.assertQuery()` is a function decoding a query string or an
158
159
  * `URLSearchParams` instance, with automatic type casting to the expected type.
159
160
  * When property type is defined as `boolean` or `number` type,
160
- * `typia.http.assertQuery()` will cast the value to the expected type when decoding.
161
+ * `typia.http.assertQuery()` will cast the value to the expected type when
162
+ * decoding.
161
163
  *
162
- * Also, after decoding, `typia.http.assertQuery()` performs type assertion to the
163
- * decoded value by combining with {@link assert} function. Therefore, when the
164
- * decoded value is not following the `T` type, {@link TypeGuardError} or custom
165
- * error generated by *errorFactory* would be thrown.
164
+ * Also, after decoding, `typia.http.assertQuery()` performs type assertion to
165
+ * the decoded value by combining with {@link assert} function. Therefore, when
166
+ * the decoded value is not following the `T` type, {@link TypeGuardError} or
167
+ * custom error generated by _errorFactory_ would be thrown.
166
168
  *
167
169
  * By the way, as URL query is not enough to express complex data structures,
168
- * `typia.http.assertQuery()` function has some limitations. If target type `T` is
169
- * notfollowing those restrictions, compilation errors would be occurred.
170
+ * `typia.http.assertQuery()` function has some limitations. If target type `T`
171
+ * is notfollowing those restrictions, compilation errors would be occurred.
170
172
  *
171
- * 1. Type `T` must be an object type
172
- * 2. Do not allow dynamic property
173
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
174
- * 4. Union types are never allowed
173
+ * 1. Type `T` must be an object type
174
+ * 2. Do not allow dynamic property
175
+ * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
176
+ * 4. Union types are never allowed
175
177
  *
178
+ * @author Jeongho Nam - https://github.com/samchon
176
179
  * @template T Expected type of decoded value
177
180
  * @param input Query string or URLSearchParams instance
178
181
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
179
182
  * @returns Decoded query object
180
- *
181
- * @author Jeongho Nam - https://github.com/samchon
182
183
  */
183
184
  export declare function assertQuery<T extends object>(input: string | IReadableURLSearchParams, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;
184
185
  /**
@@ -187,7 +188,8 @@ export declare function assertQuery<T extends object>(input: string | IReadableU
187
188
  * `typia.http.isQuery()` is a function decoding a query string or an
188
189
  * `URLSearchParams` instance, with automatic type casting to the expected type.
189
190
  * When property type is defined as `boolean` or `number` type,
190
- * `typia.http.isQuery()` will cast the value to the expected type when decoding.
191
+ * `typia.http.isQuery()` will cast the value to the expected type when
192
+ * decoding.
191
193
  *
192
194
  * Also, after decoding, `typia.http.isQuery()` performs type checking to the
193
195
  * decoded value by combining with {@link is} function. Therefore, when the
@@ -197,16 +199,15 @@ export declare function assertQuery<T extends object>(input: string | IReadableU
197
199
  * `typia.http.isQuery()` function has some limitations. If target type `T` is
198
200
  * notfollowing those restrictions, compilation errors would be occurred.
199
201
  *
200
- * 1. Type `T` must be an object type
201
- * 2. Do not allow dynamic property
202
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
203
- * 4. Union types are never allowed
202
+ * 1. Type `T` must be an object type
203
+ * 2. Do not allow dynamic property
204
+ * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
205
+ * 4. Union types are never allowed
204
206
  *
207
+ * @author Jeongho Nam - https://github.com/samchon
205
208
  * @template T Expected type of decoded value
206
209
  * @param input Query string or URLSearchParams instance
207
210
  * @returns Decoded query object or `null` value
208
- *
209
- * @author Jeongho Nam - https://github.com/samchon
210
211
  */
211
212
  export declare function isQuery<T extends object>(input: string | IReadableURLSearchParams): Resolved<T> | null;
212
213
  /**
@@ -215,80 +216,84 @@ export declare function isQuery<T extends object>(input: string | IReadableURLSe
215
216
  * `typia.http.validateQuery()` is a function decoding a query string or an
216
217
  * `URLSearchParams` instance, with automatic type casting to the expected type.
217
218
  * When property type is defined as `boolean` or `number` type,
218
- * `typia.http.validateQuery()` will cast the value to the expected type when decoding.
219
+ * `typia.http.validateQuery()` will cast the value to the expected type when
220
+ * decoding.
219
221
  *
220
- * Also, after decoding, `typia.http.validateQuery()` performs type validation to the
221
- * decoded value by combining with {@link validate} function. Therefore, when the
222
- * decoded value is not following the `T` type, {@link IValidation.IFailure} would
223
- * be returned. Otherwise, {@link IValidation.ISuccess} would be returned.
222
+ * Also, after decoding, `typia.http.validateQuery()` performs type validation
223
+ * to the decoded value by combining with {@link validate} function. Therefore,
224
+ * when the decoded value is not following the `T` type,
225
+ * {@link IValidation.IFailure} would be returned. Otherwise,
226
+ * {@link IValidation.ISuccess} would be returned.
224
227
  *
225
228
  * By the way, as URL query is not enough to express complex data structures,
226
- * `typia.http.validateQuery()` function has some limitations. If target type `T` is
227
- * notfollowing those restrictions, compilation errors would be occurred.
229
+ * `typia.http.validateQuery()` function has some limitations. If target type
230
+ * `T` is notfollowing those restrictions, compilation errors would be
231
+ * occurred.
228
232
  *
229
- * 1. Type `T` must be an object type
230
- * 2. Do not allow dynamic property
231
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
232
- * 4. Union types are never allowed
233
+ * 1. Type `T` must be an object type
234
+ * 2. Do not allow dynamic property
235
+ * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
236
+ * 4. Union types are never allowed
233
237
  *
238
+ * @author Jeongho Nam - https://github.com/samchon
234
239
  * @template T Expected type of decoded value
235
240
  * @param input Query string or URLSearchParams instance
236
241
  * @returns Validation result with decoded query object
237
- *
238
- * @author Jeongho Nam - https://github.com/samchon
239
242
  */
240
243
  export declare function validateQuery<T extends object>(input: string | IReadableURLSearchParams): IValidation<Resolved<T>>;
241
244
  /**
242
245
  * Headers decoder (for express and fastify).
243
246
  *
244
- * `typia.http.headers()` is a function decoding an header instance, with automatic
245
- * type casting to the expected type. When property type is defined as `boolean` or
246
- * `number` type, `typia.http.headers()` will cast the value to the expected type.
247
+ * `typia.http.headers()` is a function decoding an header instance, with
248
+ * automatic type casting to the expected type. When property type is defined as
249
+ * `boolean` or `number` type, `typia.http.headers()` will cast the value to the
250
+ * expected type.
247
251
  *
248
- * By the way, as HTTP headers are not enough to express complex data structures,
249
- * `typia.http.headers()` function has some limitations. If target type `T` is not
250
- * following those restrictions, compilation errors would be occurred.
252
+ * By the way, as HTTP headers are not enough to express complex data
253
+ * structures, `typia.http.headers()` function has some limitations. If target
254
+ * type `T` is not following those restrictions, compilation errors would be
255
+ * occurred.
251
256
  *
252
- * 1. Type `T` must be an object type
253
- * 2. Do not allow dynamic property
254
- * 3. Property key must be lower case
255
- * 4. Property value cannot be `null`, but `undefined` is possible
256
- * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
257
- * 6. Union types are never allowed
258
- * 7. Property `set-cookie` must be array type
259
- * 8. Those properties cannot be array type
260
- * - age
261
- * - authorization
262
- * - content-length
263
- * - content-type
264
- * - etag
265
- * - expires
266
- * - from
267
- * - host
268
- * - if-modified-since
269
- * - if-unmodified-since
270
- * - last-modified
271
- * - location
272
- * - max-forwards
273
- * - proxy-authorization
274
- * - referer
275
- * - retry-after
276
- * - server
277
- * - user-agent
278
- *
279
- * Also, `typia.http.headers()` function does not perform validation about the decoded
280
- * value. Therefore, if you can't sure that input data is following the `T` type,
281
- * it would better to call one of below functions instead.
282
- *
283
- * - {@link assertHeaders}
284
- * - {@link isHeaders}
285
- * - {@link validateHeaders}
257
+ * 1. Type `T` must be an object type
258
+ * 2. Do not allow dynamic property
259
+ * 3. Property key must be lower case
260
+ * 4. Property value cannot be `null`, but `undefined` is possible
261
+ * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
262
+ * 6. Union types are never allowed
263
+ * 7. Property `set-cookie` must be array type
264
+ * 8. Those properties cannot be array type
265
+ *
266
+ * - Age
267
+ * - Authorization
268
+ * - Content-length
269
+ * - Content-type
270
+ * - Etag
271
+ * - Expires
272
+ * - From
273
+ * - Host
274
+ * - If-modified-since
275
+ * - If-unmodified-since
276
+ * - Last-modified
277
+ * - Location
278
+ * - Max-forwards
279
+ * - Proxy-authorization
280
+ * - Referer
281
+ * - Retry-after
282
+ * - Server
283
+ * - User-agent
284
+ *
285
+ * Also, `typia.http.headers()` function does not perform validation about the
286
+ * decoded value. Therefore, if you can't sure that input data is following the
287
+ * `T` type, it would better to call one of below functions instead.
288
+ *
289
+ * - {@link assertHeaders}
290
+ * - {@link isHeaders}
291
+ * - {@link validateHeaders}
286
292
  *
293
+ * @author Jeongho Nam - https://github.com/samchon
287
294
  * @template T Expected type of decoded value
288
295
  * @param input Query string or URLSearchParams instance
289
296
  * @returns Decoded headers object
290
- *
291
- * @author Jeongho Nam - https://github.com/samchon
292
297
  */
293
298
  export declare function headers<T extends object>(input: Record<string, string | string[] | undefined>): Resolved<T>;
294
299
  /**
@@ -299,48 +304,49 @@ export declare function headers<T extends object>(input: Record<string, string |
299
304
  * `boolean` or `number` type, `typia.http.headers()` will cast the value to the
300
305
  * expected type.
301
306
  *
302
- * Also, after decoding, `typia.http.assertHeaders()` performs type assertion to the
303
- * decoded value by combining with {@link assert} function. Therefore, when the
304
- * decoded value is not following the `T` type, {@link TypeGuardError} or custom
305
- * error generated by *errorFactory* would be thrown.
307
+ * Also, after decoding, `typia.http.assertHeaders()` performs type assertion to
308
+ * the decoded value by combining with {@link assert} function. Therefore, when
309
+ * the decoded value is not following the `T` type, {@link TypeGuardError} or
310
+ * custom error generated by _errorFactory_ would be thrown.
306
311
  *
307
- * By the way, as HTTP headers are not enough to express complex data structures,
308
- * `typia.http.headers()` function has some limitations. If target type `T` is not
309
- * following those restrictions, compilation errors would be occurred.
312
+ * By the way, as HTTP headers are not enough to express complex data
313
+ * structures, `typia.http.headers()` function has some limitations. If target
314
+ * type `T` is not following those restrictions, compilation errors would be
315
+ * occurred.
310
316
  *
311
- * 1. Type `T` must be an object type
312
- * 2. Do not allow dynamic property
313
- * 3. Property key must be lower case
314
- * 4. Property value cannot be `null`, but `undefined` is possible
315
- * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
316
- * 6. Union types are never allowed
317
- * 7. Property `set-cookie` must be array type
318
- * 8. Those properties cannot be array type
319
- * - age
320
- * - authorization
321
- * - content-length
322
- * - content-type
323
- * - etag
324
- * - expires
325
- * - from
326
- * - host
327
- * - if-modified-since
328
- * - if-unmodified-since
329
- * - last-modified
330
- * - location
331
- * - max-forwards
332
- * - proxy-authorization
333
- * - referer
334
- * - retry-after
335
- * - server
336
- * - user-agent
317
+ * 1. Type `T` must be an object type
318
+ * 2. Do not allow dynamic property
319
+ * 3. Property key must be lower case
320
+ * 4. Property value cannot be `null`, but `undefined` is possible
321
+ * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
322
+ * 6. Union types are never allowed
323
+ * 7. Property `set-cookie` must be array type
324
+ * 8. Those properties cannot be array type
325
+ *
326
+ * - Age
327
+ * - Authorization
328
+ * - Content-length
329
+ * - Content-type
330
+ * - Etag
331
+ * - Expires
332
+ * - From
333
+ * - Host
334
+ * - If-modified-since
335
+ * - If-unmodified-since
336
+ * - Last-modified
337
+ * - Location
338
+ * - Max-forwards
339
+ * - Proxy-authorization
340
+ * - Referer
341
+ * - Retry-after
342
+ * - Server
343
+ * - User-agent
337
344
  *
345
+ * @author Jeongho Nam - https://github.com/samchon
338
346
  * @template T Expected type of decoded value
339
347
  * @param input Query string or URLSearchParams instance
340
348
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
341
349
  * @returns Decoded headers object
342
- *
343
- * @author Jeongho Nam - https://github.com/samchon
344
350
  */
345
351
  export declare function assertHeaders<T extends object>(input: Record<string, string | string[] | undefined>, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;
346
352
  /**
@@ -357,105 +363,109 @@ export declare function assertHeaders<T extends object>(input: Record<string, st
357
363
  * decoded value by combining with {@link is} function. Therefore, when the
358
364
  * decoded value is not following the `T` type, `null` value would be returned.
359
365
  *
360
- * By the way, as HTTP headers are not enough to express complex data structures,
361
- * `typia.http.headers()` function has some limitations. If target type `T` is not
362
- * following those restrictions, compilation errors would be occurred.
366
+ * By the way, as HTTP headers are not enough to express complex data
367
+ * structures, `typia.http.headers()` function has some limitations. If target
368
+ * type `T` is not following those restrictions, compilation errors would be
369
+ * occurred.
363
370
  *
364
- * 1. Type `T` must be an object type
365
- * 2. Do not allow dynamic property
366
- * 3. Property key must be lower case
367
- * 4. Property value cannot be `null`, but `undefined` is possible
368
- * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
369
- * 6. Union types are never allowed
370
- * 7. Property `set-cookie` must be array type
371
- * 8. Those properties cannot be array type
372
- * - age
373
- * - authorization
374
- * - content-length
375
- * - content-type
376
- * - etag
377
- * - expires
378
- * - from
379
- * - host
380
- * - if-modified-since
381
- * - if-unmodified-since
382
- * - last-modified
383
- * - location
384
- * - max-forwards
385
- * - proxy-authorization
386
- * - referer
387
- * - retry-after
388
- * - server
389
- * - user-agent
371
+ * 1. Type `T` must be an object type
372
+ * 2. Do not allow dynamic property
373
+ * 3. Property key must be lower case
374
+ * 4. Property value cannot be `null`, but `undefined` is possible
375
+ * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
376
+ * 6. Union types are never allowed
377
+ * 7. Property `set-cookie` must be array type
378
+ * 8. Those properties cannot be array type
379
+ *
380
+ * - Age
381
+ * - Authorization
382
+ * - Content-length
383
+ * - Content-type
384
+ * - Etag
385
+ * - Expires
386
+ * - From
387
+ * - Host
388
+ * - If-modified-since
389
+ * - If-unmodified-since
390
+ * - Last-modified
391
+ * - Location
392
+ * - Max-forwards
393
+ * - Proxy-authorization
394
+ * - Referer
395
+ * - Retry-after
396
+ * - Server
397
+ * - User-agent
390
398
  *
399
+ * @author Jeongho Nam - https://github.com/samchon
391
400
  * @template T Expected type of decoded value
392
401
  * @param input Query string or URLSearchParams instance
393
402
  * @returns Decoded headers object or `null` value
394
- *
395
- * @author Jeongho Nam - https://github.com/samchon
396
403
  */
397
404
  export declare function isHeaders<T extends object>(input: Record<string, string | string[] | undefined>): Resolved<T> | null;
398
405
  /**
399
406
  * Headers decoder with type validation (for express and fastify).
400
407
  *
401
- * `typia.http.validateHeaders()` is a function decoding an header instance, with
402
- * automatic type casting to the expected type. When property type is defined as
403
- * `boolean` or `number` type, `typia.http.headers()` will cast the value to the
404
- * expected type.
408
+ * `typia.http.validateHeaders()` is a function decoding an header instance,
409
+ * with automatic type casting to the expected type. When property type is
410
+ * defined as `boolean` or `number` type, `typia.http.headers()` will cast the
411
+ * value to the expected type.
405
412
  *
406
- * Also, after decoding, `typia.http.validateHeaders()` performs type assertion to the
407
- * decoded value by combining with {@link validate} function. Therefore, when the
408
- * decoded value is not following the `T` type, {@link IValidation.IError} would be
409
- * returned. Otherwise, {@link IValidation.ISuccess} be returned.
413
+ * Also, after decoding, `typia.http.validateHeaders()` performs type assertion
414
+ * to the decoded value by combining with {@link validate} function. Therefore,
415
+ * when the decoded value is not following the `T` type,
416
+ * {@link IValidation.IError} would be returned. Otherwise,
417
+ * {@link IValidation.ISuccess} be returned.
410
418
  *
411
- * By the way, as HTTP headers are not enough to express complex data structures,
412
- * `typia.http.headers()` function has some limitations. If target type `T` is not
413
- * following those restrictions, compilation errors would be occurred.
419
+ * By the way, as HTTP headers are not enough to express complex data
420
+ * structures, `typia.http.headers()` function has some limitations. If target
421
+ * type `T` is not following those restrictions, compilation errors would be
422
+ * occurred.
414
423
  *
415
- * 1. Type `T` must be an object type
416
- * 2. Do not allow dynamic property
417
- * 3. Property key must be lower case
418
- * 4. Property value cannot be `null`, but `undefined` is possible
419
- * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
420
- * 6. Union types are never allowed
421
- * 7. Property `set-cookie` must be array type
422
- * 8. Those properties cannot be array type
423
- * - age
424
- * - authorization
425
- * - content-length
426
- * - content-type
427
- * - etag
428
- * - expires
429
- * - from
430
- * - host
431
- * - if-modified-since
432
- * - if-unmodified-since
433
- * - last-modified
434
- * - location
435
- * - max-forwards
436
- * - proxy-authorization
437
- * - referer
438
- * - retry-after
439
- * - server
440
- * - user-agent
424
+ * 1. Type `T` must be an object type
425
+ * 2. Do not allow dynamic property
426
+ * 3. Property key must be lower case
427
+ * 4. Property value cannot be `null`, but `undefined` is possible
428
+ * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
429
+ * 6. Union types are never allowed
430
+ * 7. Property `set-cookie` must be array type
431
+ * 8. Those properties cannot be array type
432
+ *
433
+ * - Age
434
+ * - Authorization
435
+ * - Content-length
436
+ * - Content-type
437
+ * - Etag
438
+ * - Expires
439
+ * - From
440
+ * - Host
441
+ * - If-modified-since
442
+ * - If-unmodified-since
443
+ * - Last-modified
444
+ * - Location
445
+ * - Max-forwards
446
+ * - Proxy-authorization
447
+ * - Referer
448
+ * - Retry-after
449
+ * - Server
450
+ * - User-agent
441
451
  *
452
+ * @author Jeongho Nam - https://github.com/samchon
442
453
  * @template T Expected type of decoded value
443
454
  * @param input Query string or URLSearchParams instance
444
455
  * @returns Decoded headers object
445
- *
446
- * @author Jeongho Nam - https://github.com/samchon
447
456
  */
448
457
  export declare function validateHeaders<T extends object>(input: Record<string, string | string[] | undefined>): IValidation<Resolved<T>>;
449
458
  /**
450
459
  * URL path parameter decoder.
451
460
  *
452
- * `typia.http.parameter()` is a function decoding a path parameter, with automatic
453
- * type casting to the expected type. When type `T` has been defined as `boolean` or
454
- * `number` type, `typia.http.parameter()` will cast the value to the expected type.
461
+ * `typia.http.parameter()` is a function decoding a path parameter, with
462
+ * automatic type casting to the expected type. When type `T` has been defined
463
+ * as `boolean` or `number` type, `typia.http.parameter()` will cast the value
464
+ * to the expected type.
455
465
  *
456
- * Also, `typia.http.parameter()` performs type assertion to the decoded value by
457
- * combining with {@link assert} function. Therefore, when the decoded value is not
458
- * following the `T` type, {@link TypeGuardError} would be thrown.
466
+ * Also, `typia.http.parameter()` performs type assertion to the decoded value
467
+ * by combining with {@link assert} function. Therefore, when the decoded value
468
+ * is not following the `T` type, {@link TypeGuardError} would be thrown.
459
469
  *
460
470
  * @template T Expected type of decoded value
461
471
  * @param input Path parameter string
@@ -465,253 +475,227 @@ export declare function parameter<T extends Atomic.Type | null>(input: string):
465
475
  /**
466
476
  * Creates a reusable {@link formdata} function.
467
477
  *
468
- * @danger You must configure the generic argument `T`
469
- * @template T The type of the formdata object
470
- * @throws compile error
471
- *
472
478
  * @author Jeongho Nam - https://github.com/samchon
479
+ * @template T The type of the formdata object
480
+ * @throws Compile error
481
+ * @danger You must configure the generic argument `T`
473
482
  */
474
483
  export declare function createFormData(): never;
475
484
  /**
476
485
  * Creates a reusable {@link formdata} function.
477
486
  *
487
+ * @author Jeongho Nam - https://github.com/samchon
478
488
  * @template T The type of the formdata object
479
489
  * @returns A reusable `formdata` function
480
- *
481
- * @author Jeongho Nam - https://github.com/samchon
482
490
  */
483
491
  export declare function createFormData<T extends object>(): (input: FormData) => T;
484
492
  /**
485
493
  * Creates a reusable {@link assertFormData} function.
486
494
  *
487
- * @danger You must configure the generic argument `T`
495
+ * @author Jeongho Nam - https://github.com/samchon
488
496
  * @template T The type of the formdata object
489
497
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
490
- * @throws compile error
491
- *
492
- * @author Jeongho Nam - https://github.com/samchon
498
+ * @throws Compile error
499
+ * @danger You must configure the generic argument `T`
493
500
  */
494
501
  export declare function createAssertFormData(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;
495
502
  /**
496
503
  * Creates a reusable {@link assertFormData} function.
497
504
  *
505
+ * @author Jeongho Nam - https://github.com/samchon
498
506
  * @template T The type of the formdata object
499
507
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
500
508
  * @returns A reusable `assertFormData` function
501
- *
502
- * @author Jeongho Nam - https://github.com/samchon
503
509
  */
504
510
  export declare function createAssertFormData<T extends object>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: FormData) => T;
505
511
  /**
506
512
  * Creates a reusable {@link isFormData} function.
507
513
  *
508
- * @danger You must configure the generic argument `T`
509
- * @template T The type of the formdata object
510
- * @throws compile error
511
- *
512
514
  * @author Jeongho Nam - https://github.com/samchon
515
+ * @template T The type of the formdata object
516
+ * @throws Compile error
517
+ * @danger You must configure the generic argument `T`
513
518
  */
514
519
  export declare function createIsFormData(): never;
515
520
  /**
516
521
  * Creates a reusable {@link isFormData} function.
517
522
  *
523
+ * @author Jeongho Nam - https://github.com/samchon
518
524
  * @template T The type of the formdata object
519
525
  * @returns A reusable `isFormData` function
520
- *
521
- * @author Jeongho Nam - https://github.com/samchon
522
526
  */
523
527
  export declare function createIsFormData<T extends object>(): (input: FormData) => T | null;
524
528
  /**
525
529
  * Creates a reusable {@link validateFormData} function.
526
530
  *
527
- * @danger You must configure the generic argument `T`
528
- * @template T The type of the formdata object
529
- * @throws compile error
530
- *
531
531
  * @author Jeongho Nam - https://github.com/samchon
532
+ * @template T The type of the formdata object
533
+ * @throws Compile error
534
+ * @danger You must configure the generic argument `T`
532
535
  */
533
536
  export declare function createValidateFormData(): never;
534
537
  /**
535
538
  * Creates a reusable {@link validateFormData} function.
536
539
  *
540
+ * @author Jeongho Nam - https://github.com/samchon
537
541
  * @template T The type of the formdata object
538
542
  * @returns A reusable `validateFormData` function
539
- *
540
- * @author Jeongho Nam - https://github.com/samchon
541
543
  */
542
544
  export declare function createValidateFormData<T extends object>(): (input: FormData) => IValidation<Resolved<T>>;
543
545
  /**
544
546
  * Creates a reusable {@link query} function.
545
547
  *
546
- * @danger You must configure the generic argument `T`
547
- * @template T The type of the query object
548
- * @throws compile error
549
- *
550
548
  * @author Jeongho Nam - https://github.com/samchon
549
+ * @template T The type of the query object
550
+ * @throws Compile error
551
+ * @danger You must configure the generic argument `T`
551
552
  */
552
553
  export declare function createQuery(): never;
553
554
  /**
554
555
  * Creates a reusable {@link query} function.
555
556
  *
557
+ * @author Jeongho Nam - https://github.com/samchon
556
558
  * @template T The type of the query object
557
559
  * @returns A reusable `query` function
558
- *
559
- * @author Jeongho Nam - https://github.com/samchon
560
560
  */
561
561
  export declare function createQuery<T extends object>(): (input: string | IReadableURLSearchParams) => T;
562
562
  /**
563
563
  * Creates a reusable {@link assertQuery} function.
564
564
  *
565
- * @danger You must configure the generic argument `T`
565
+ * @author Jeongho Nam - https://github.com/samchon
566
566
  * @template T The type of the query object
567
567
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
568
- * @throws compile error
569
- *
570
- * @author Jeongho Nam - https://github.com/samchon
568
+ * @throws Compile error
569
+ * @danger You must configure the generic argument `T`
571
570
  */
572
571
  export declare function createAssertQuery(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;
573
572
  /**
574
573
  * Creates a reusable {@link assertQuery} function.
575
574
  *
575
+ * @author Jeongho Nam - https://github.com/samchon
576
576
  * @template T The type of the query object
577
577
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
578
578
  * @returns A reusable `assertQuery` function
579
- *
580
- * @author Jeongho Nam - https://github.com/samchon
581
579
  */
582
580
  export declare function createAssertQuery<T extends object>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: string | IReadableURLSearchParams) => T;
583
581
  /**
584
582
  * Creates a reusable {@link isQuery} function.
585
583
  *
586
- * @danger You must configure the generic argument `T`
587
- * @template T The type of the query object
588
- * @throws compile error
589
- *
590
584
  * @author Jeongho Nam - https://github.com/samchon
585
+ * @template T The type of the query object
586
+ * @throws Compile error
587
+ * @danger You must configure the generic argument `T`
591
588
  */
592
589
  export declare function createIsQuery(): never;
593
590
  /**
594
591
  * Creates a reusable {@link isQuery} function.
595
592
  *
593
+ * @author Jeongho Nam - https://github.com/samchon
596
594
  * @template T The type of the query object
597
595
  * @returns A reusable `isQuery` function
598
- *
599
- * @author Jeongho Nam - https://github.com/samchon
600
596
  */
601
597
  export declare function createIsQuery<T extends object>(): (input: string | IReadableURLSearchParams) => T | null;
602
598
  /**
603
599
  * Creates a reusable {@link validateQuery} function.
604
600
  *
605
- * @danger You must configure the generic argument `T`
606
- * @template T The type of the query object
607
- * @throws compile error
608
- *
609
601
  * @author Jeongho Nam - https://github.com/samchon
602
+ * @template T The type of the query object
603
+ * @throws Compile error
604
+ * @danger You must configure the generic argument `T`
610
605
  */
611
606
  export declare function createValidateQuery(): never;
612
607
  /**
613
608
  * Creates a reusable {@link validateQuery} function.
614
609
  *
610
+ * @author Jeongho Nam - https://github.com/samchon
615
611
  * @template T The type of the query object
616
612
  * @returns A reusable `validateQuery` function
617
- *
618
- * @author Jeongho Nam - https://github.com/samchon
619
613
  */
620
614
  export declare function createValidateQuery<T extends object>(): (input: string | IReadableURLSearchParams) => IValidation<Resolved<T>>;
621
615
  /**
622
616
  * Creates a reusable {@link headers} function.
623
617
  *
624
- * @danger You must configure the generic argument `T`
625
- * @template T The type of the headers object
626
- * @throws compile error
627
- *
628
618
  * @author Jeongho Nam - https://github.com/samchon
619
+ * @template T The type of the headers object
620
+ * @throws Compile error
621
+ * @danger You must configure the generic argument `T`
629
622
  */
630
623
  export declare function createHeaders(): never;
631
624
  /**
632
625
  * Creates a reusable {@link headers} function.
633
626
  *
627
+ * @author Jeongho Nam - https://github.com/samchon
634
628
  * @template T The type of the headers object
635
629
  * @returns A reusable `headers` function
636
- *
637
- * @author Jeongho Nam - https://github.com/samchon
638
630
  */
639
631
  export declare function createHeaders<T extends object>(): (input: Record<string, string | string[] | undefined>) => T;
640
632
  /**
641
633
  * Creates a reusable {@link assertHeaders} function.
642
634
  *
643
- * @danger You must configure the generic argument `T`
635
+ * @author Jeongho Nam - https://github.com/samchon
644
636
  * @template T The type of the headers object
645
637
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
646
- * @throws compile error
647
- *
648
- * @author Jeongho Nam - https://github.com/samchon
638
+ * @throws Compile error
639
+ * @danger You must configure the generic argument `T`
649
640
  */
650
641
  export declare function createAssertHeaders(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;
651
642
  /**
652
643
  * Creates a reusable {@link assertHeaders} function.
653
644
  *
645
+ * @author Jeongho Nam - https://github.com/samchon
654
646
  * @template T The type of the headers object
655
647
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
656
648
  * @returns A reusable `assertHeaders` function
657
- *
658
- * @author Jeongho Nam - https://github.com/samchon
659
649
  */
660
650
  export declare function createAssertHeaders<T extends object>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: Record<string, string | string[] | undefined>) => T;
661
651
  /**
662
652
  * Creates a reusable {@link isHeaders} function.
663
653
  *
664
- * @danger You must configure the generic argument `T`
665
- * @template T The type of the headers object
666
- * @throws compile error
667
- *
668
654
  * @author Jeongho Nam - https://github.com/samchon
655
+ * @template T The type of the headers object
656
+ * @throws Compile error
657
+ * @danger You must configure the generic argument `T`
669
658
  */
670
659
  export declare function createIsHeaders(): never;
671
660
  /**
672
661
  * Creates a reusable {@link isHeaders} function.
673
662
  *
663
+ * @author Jeongho Nam - https://github.com/samchon
674
664
  * @template T The type of the headers object
675
665
  * @returns A reusable `isHeaders` function
676
- *
677
- * @author Jeongho Nam - https://github.com/samchon
678
666
  */
679
667
  export declare function createIsHeaders<T extends object>(): (input: Record<string, string | string[] | undefined>) => T | null;
680
668
  /**
681
669
  * Creates a reusable {@link validateHeaders} function.
682
670
  *
683
- * @danger You must configure the generic argument `T`
684
- * @template T The type of the headers object
685
- * @throws compile error
686
- *
687
671
  * @author Jeongho Nam - https://github.com/samchon
672
+ * @template T The type of the headers object
673
+ * @throws Compile error
674
+ * @danger You must configure the generic argument `T`
688
675
  */
689
676
  export declare function createValidateHeaders(): never;
690
677
  /**
691
678
  * Creates a reusable {@link validateHeaders} function.
692
679
  *
680
+ * @author Jeongho Nam - https://github.com/samchon
693
681
  * @template T The type of the headers object
694
682
  * @returns A reusable `validateHeaders` function
695
- *
696
- * @author Jeongho Nam - https://github.com/samchon
697
683
  */
698
684
  export declare function createValidateHeaders<T extends object>(): (input: Record<string, string | string[] | undefined>) => IValidation<Resolved<T>>;
699
685
  /**
700
686
  * Creates a reusable {@link parameter} function.
701
687
  *
702
- * @danger You must configure the generic argument `T`
703
- * @template T The type of the parameter value
704
- * @throws compile error
705
- *
706
688
  * @author Jeongho Nam - https://github.com/samchon
689
+ * @template T The type of the parameter value
690
+ * @throws Compile error
691
+ * @danger You must configure the generic argument `T`
707
692
  */
708
693
  export declare function createParameter(): never;
709
694
  /**
710
695
  * Creates a reusable {@link parameter} function.
711
696
  *
697
+ * @author Jeongho Nam - https://github.com/samchon
712
698
  * @template T The type of the parameter value
713
699
  * @returns A reusable `parameter` function
714
- *
715
- * @author Jeongho Nam - https://github.com/samchon
716
700
  */
717
701
  export declare function createParameter<T extends Atomic.Type | null>(): (input: string) => T;