typia 9.7.1 → 9.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/lib/AssertionGuard.d.mts +27 -25
  2. package/lib/AssertionGuard.d.ts +27 -25
  3. package/lib/CamelCase.d.mts +1 -1
  4. package/lib/CamelCase.d.ts +1 -1
  5. package/lib/IRandomGenerator.d.mts +44 -42
  6. package/lib/IRandomGenerator.d.ts +44 -42
  7. package/lib/IReadableURLSearchParams.d.mts +2 -2
  8. package/lib/IReadableURLSearchParams.d.ts +2 -2
  9. package/lib/PascalCase.d.mts +1 -1
  10. package/lib/PascalCase.d.ts +1 -1
  11. package/lib/Primitive.d.mts +20 -22
  12. package/lib/Primitive.d.ts +20 -22
  13. package/lib/Resolved.d.mts +16 -18
  14. package/lib/Resolved.d.ts +16 -18
  15. package/lib/SnakeCase.d.mts +3 -2
  16. package/lib/SnakeCase.d.ts +3 -2
  17. package/lib/TypeGuardError.d.mts +88 -61
  18. package/lib/TypeGuardError.d.ts +88 -61
  19. package/lib/TypeGuardError.js +40 -29
  20. package/lib/TypeGuardError.js.map +1 -1
  21. package/lib/TypeGuardError.mjs +70 -48
  22. package/lib/factories/MetadataCollection.js +4 -12
  23. package/lib/factories/MetadataCollection.js.map +1 -1
  24. package/lib/factories/MetadataCollection.mjs +4 -12
  25. package/lib/factories/MetadataCommentTagFactory.js +5 -15
  26. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  27. package/lib/factories/MetadataCommentTagFactory.mjs +5 -15
  28. package/lib/factories/MetadataFactory.js +1 -3
  29. package/lib/factories/MetadataFactory.js.map +1 -1
  30. package/lib/factories/MetadataFactory.mjs +1 -3
  31. package/lib/factories/ProtobufFactory.js +1 -3
  32. package/lib/factories/ProtobufFactory.js.map +1 -1
  33. package/lib/factories/ProtobufFactory.mjs +1 -3
  34. package/lib/functional.d.mts +196 -195
  35. package/lib/functional.d.ts +196 -195
  36. package/lib/functional.js +18 -54
  37. package/lib/functional.js.map +1 -1
  38. package/lib/functional.mjs +18 -54
  39. package/lib/http.d.mts +303 -319
  40. package/lib/http.d.ts +303 -319
  41. package/lib/http.js +26 -78
  42. package/lib/http.js.map +1 -1
  43. package/lib/http.mjs +26 -78
  44. package/lib/internal/_ProtobufReader.d.mts +3 -9
  45. package/lib/internal/_ProtobufReader.d.ts +3 -9
  46. package/lib/internal/_ProtobufReader.js.map +1 -1
  47. package/lib/internal/_ProtobufReader.mjs +3 -9
  48. package/lib/internal/_ProtobufSizer.d.mts +4 -12
  49. package/lib/internal/_ProtobufSizer.d.ts +4 -12
  50. package/lib/internal/_ProtobufSizer.js.map +1 -1
  51. package/lib/internal/_ProtobufSizer.mjs +4 -12
  52. package/lib/internal/_ProtobufWriter.d.mts +5 -15
  53. package/lib/internal/_ProtobufWriter.d.ts +5 -15
  54. package/lib/internal/_ProtobufWriter.js.map +1 -1
  55. package/lib/internal/_ProtobufWriter.mjs +5 -15
  56. package/lib/internal/_jsonStringifyString.d.mts +4 -4
  57. package/lib/internal/_jsonStringifyString.d.ts +4 -4
  58. package/lib/internal/_jsonStringifyString.js +4 -4
  59. package/lib/internal/_jsonStringifyString.mjs +4 -4
  60. package/lib/json.d.mts +174 -195
  61. package/lib/json.d.ts +174 -195
  62. package/lib/json.js +16 -48
  63. package/lib/json.js.map +1 -1
  64. package/lib/json.mjs +16 -48
  65. package/lib/llm.d.mts +275 -192
  66. package/lib/llm.d.ts +275 -192
  67. package/lib/llm.js +4 -12
  68. package/lib/llm.js.map +1 -1
  69. package/lib/llm.mjs +4 -12
  70. package/lib/misc.d.mts +149 -172
  71. package/lib/misc.d.ts +149 -172
  72. package/lib/misc.js +17 -51
  73. package/lib/misc.js.map +1 -1
  74. package/lib/misc.mjs +17 -51
  75. package/lib/module.d.mts +263 -275
  76. package/lib/module.d.ts +263 -275
  77. package/lib/module.js +18 -54
  78. package/lib/module.js.map +1 -1
  79. package/lib/module.mjs +18 -54
  80. package/lib/notations.d.mts +153 -174
  81. package/lib/notations.d.ts +153 -174
  82. package/lib/notations.js +24 -72
  83. package/lib/notations.js.map +1 -1
  84. package/lib/notations.mjs +24 -72
  85. package/lib/programmers/FeatureProgrammer.d.mts +19 -41
  86. package/lib/programmers/FeatureProgrammer.d.ts +19 -41
  87. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  88. package/lib/programmers/ImportProgrammer.js +3 -9
  89. package/lib/programmers/ImportProgrammer.js.map +1 -1
  90. package/lib/programmers/ImportProgrammer.mjs +3 -9
  91. package/lib/programmers/RandomProgrammer.js +6 -0
  92. package/lib/programmers/RandomProgrammer.js.map +1 -1
  93. package/lib/programmers/RandomProgrammer.mjs +6 -0
  94. package/lib/programmers/helpers/ProtobufWire.d.mts +13 -13
  95. package/lib/programmers/helpers/ProtobufWire.d.ts +13 -13
  96. package/lib/programmers/internal/check_array_length.js +2 -6
  97. package/lib/programmers/internal/check_array_length.js.map +1 -1
  98. package/lib/programmers/internal/check_array_length.mjs +2 -6
  99. package/lib/programmers/internal/check_bigint.js +2 -6
  100. package/lib/programmers/internal/check_bigint.js.map +1 -1
  101. package/lib/programmers/internal/check_bigint.mjs +2 -6
  102. package/lib/programmers/internal/check_dynamic_key.js +2 -6
  103. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  104. package/lib/programmers/internal/check_dynamic_key.mjs +2 -6
  105. package/lib/programmers/internal/check_dynamic_properties.js +3 -9
  106. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  107. package/lib/programmers/internal/check_dynamic_properties.mjs +3 -9
  108. package/lib/programmers/internal/check_everything.js +1 -3
  109. package/lib/programmers/internal/check_everything.js.map +1 -1
  110. package/lib/programmers/internal/check_everything.mjs +1 -3
  111. package/lib/programmers/internal/check_native.js +2 -6
  112. package/lib/programmers/internal/check_native.js.map +1 -1
  113. package/lib/programmers/internal/check_native.mjs +2 -6
  114. package/lib/programmers/internal/check_number.js +2 -6
  115. package/lib/programmers/internal/check_number.js.map +1 -1
  116. package/lib/programmers/internal/check_number.mjs +2 -6
  117. package/lib/programmers/internal/check_object.js +2 -6
  118. package/lib/programmers/internal/check_object.js.map +1 -1
  119. package/lib/programmers/internal/check_object.mjs +2 -6
  120. package/lib/programmers/internal/check_string.js +2 -6
  121. package/lib/programmers/internal/check_string.js.map +1 -1
  122. package/lib/programmers/internal/check_string.mjs +2 -6
  123. package/lib/programmers/internal/check_template.js +1 -3
  124. package/lib/programmers/internal/check_template.js.map +1 -1
  125. package/lib/programmers/internal/check_template.mjs +1 -3
  126. package/lib/programmers/internal/check_union_array_like.js +1 -3
  127. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  128. package/lib/programmers/internal/check_union_array_like.mjs +1 -3
  129. package/lib/programmers/internal/decode_union_object.js +2 -6
  130. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  131. package/lib/programmers/internal/decode_union_object.mjs +2 -6
  132. package/lib/programmers/internal/feature_object_entries.js +1 -3
  133. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  134. package/lib/programmers/internal/feature_object_entries.mjs +1 -3
  135. package/lib/programmers/internal/json_schema_escaped.js +2 -6
  136. package/lib/programmers/internal/json_schema_escaped.js.map +1 -1
  137. package/lib/programmers/internal/json_schema_escaped.mjs +2 -6
  138. package/lib/programmers/internal/json_schema_object.js +3 -9
  139. package/lib/programmers/internal/json_schema_object.js.map +1 -1
  140. package/lib/programmers/internal/json_schema_object.mjs +3 -9
  141. package/lib/programmers/internal/metadata_to_pattern.js +1 -3
  142. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  143. package/lib/programmers/internal/metadata_to_pattern.mjs +1 -3
  144. package/lib/programmers/internal/postfix_of_tuple.js +1 -3
  145. package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
  146. package/lib/programmers/internal/postfix_of_tuple.mjs +1 -3
  147. package/lib/programmers/internal/prune_object_properties.js +1 -3
  148. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  149. package/lib/programmers/internal/prune_object_properties.mjs +1 -3
  150. package/lib/programmers/internal/stringify_dynamic_properties.js +2 -6
  151. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  152. package/lib/programmers/internal/stringify_dynamic_properties.mjs +2 -6
  153. package/lib/programmers/internal/stringify_native.js +1 -3
  154. package/lib/programmers/internal/stringify_native.js.map +1 -1
  155. package/lib/programmers/internal/stringify_native.mjs +1 -3
  156. package/lib/programmers/internal/stringify_regular_properties.js +2 -6
  157. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  158. package/lib/programmers/internal/stringify_regular_properties.mjs +2 -6
  159. package/lib/programmers/internal/template_to_pattern.js +1 -3
  160. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  161. package/lib/programmers/internal/template_to_pattern.mjs +1 -3
  162. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +1 -3
  163. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  164. package/lib/programmers/internal/wrap_metadata_rest_tuple.mjs +1 -3
  165. package/lib/programmers/json/JsonStringifyProgrammer.js +2 -2
  166. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  167. package/lib/programmers/json/JsonStringifyProgrammer.mjs +2 -2
  168. package/lib/protobuf.d.mts +290 -297
  169. package/lib/protobuf.d.ts +290 -297
  170. package/lib/protobuf.js +17 -51
  171. package/lib/protobuf.js.map +1 -1
  172. package/lib/protobuf.mjs +17 -51
  173. package/lib/reflect.d.mts +2 -4
  174. package/lib/reflect.d.ts +2 -4
  175. package/lib/reflect.js +1 -3
  176. package/lib/reflect.js.map +1 -1
  177. package/lib/reflect.mjs +1 -3
  178. package/lib/schemas/json/IJsonApplication.d.mts +4 -4
  179. package/lib/schemas/json/IJsonApplication.d.ts +4 -4
  180. package/lib/schemas/json/IJsonSchemaCollection.d.mts +73 -56
  181. package/lib/schemas/json/IJsonSchemaCollection.d.ts +73 -56
  182. package/lib/schemas/json/IJsonSchemaUnit.d.mts +83 -70
  183. package/lib/schemas/json/IJsonSchemaUnit.d.ts +83 -70
  184. package/lib/schemas/metadata/Metadata.d.mts +1 -3
  185. package/lib/schemas/metadata/Metadata.d.ts +1 -3
  186. package/lib/schemas/metadata/Metadata.js +9 -27
  187. package/lib/schemas/metadata/Metadata.js.map +1 -1
  188. package/lib/schemas/metadata/Metadata.mjs +9 -27
  189. package/lib/schemas/metadata/MetadataAliasType.d.mts +1 -3
  190. package/lib/schemas/metadata/MetadataAliasType.d.ts +1 -3
  191. package/lib/schemas/metadata/MetadataAliasType.js +3 -9
  192. package/lib/schemas/metadata/MetadataAliasType.js.map +1 -1
  193. package/lib/schemas/metadata/MetadataAliasType.mjs +3 -9
  194. package/lib/schemas/metadata/MetadataApplication.d.mts +1 -3
  195. package/lib/schemas/metadata/MetadataApplication.d.ts +1 -3
  196. package/lib/schemas/metadata/MetadataApplication.js +2 -6
  197. package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
  198. package/lib/schemas/metadata/MetadataApplication.mjs +2 -6
  199. package/lib/schemas/metadata/MetadataArray.d.mts +1 -3
  200. package/lib/schemas/metadata/MetadataArray.d.ts +1 -3
  201. package/lib/schemas/metadata/MetadataArray.js +1 -3
  202. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  203. package/lib/schemas/metadata/MetadataArray.mjs +1 -3
  204. package/lib/schemas/metadata/MetadataArrayType.d.mts +1 -3
  205. package/lib/schemas/metadata/MetadataArrayType.d.ts +1 -3
  206. package/lib/schemas/metadata/MetadataArrayType.js +3 -9
  207. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  208. package/lib/schemas/metadata/MetadataArrayType.mjs +3 -9
  209. package/lib/schemas/metadata/MetadataAtomic.js +1 -3
  210. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  211. package/lib/schemas/metadata/MetadataAtomic.mjs +1 -3
  212. package/lib/schemas/metadata/MetadataEscaped.d.mts +1 -3
  213. package/lib/schemas/metadata/MetadataEscaped.d.ts +1 -3
  214. package/lib/schemas/metadata/MetadataEscaped.js +3 -9
  215. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  216. package/lib/schemas/metadata/MetadataEscaped.mjs +3 -9
  217. package/lib/schemas/metadata/MetadataFunction.d.mts +1 -3
  218. package/lib/schemas/metadata/MetadataFunction.d.ts +1 -3
  219. package/lib/schemas/metadata/MetadataFunction.js +2 -6
  220. package/lib/schemas/metadata/MetadataFunction.js.map +1 -1
  221. package/lib/schemas/metadata/MetadataFunction.mjs +2 -6
  222. package/lib/schemas/metadata/MetadataObject.d.mts +1 -3
  223. package/lib/schemas/metadata/MetadataObject.d.ts +1 -3
  224. package/lib/schemas/metadata/MetadataObject.js +1 -3
  225. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  226. package/lib/schemas/metadata/MetadataObject.mjs +1 -3
  227. package/lib/schemas/metadata/MetadataObjectType.d.mts +1 -3
  228. package/lib/schemas/metadata/MetadataObjectType.d.ts +1 -3
  229. package/lib/schemas/metadata/MetadataObjectType.js +5 -15
  230. package/lib/schemas/metadata/MetadataObjectType.js.map +1 -1
  231. package/lib/schemas/metadata/MetadataObjectType.mjs +6 -18
  232. package/lib/schemas/metadata/MetadataParameter.js +1 -3
  233. package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
  234. package/lib/schemas/metadata/MetadataParameter.mjs +1 -3
  235. package/lib/schemas/metadata/MetadataProperty.d.mts +1 -3
  236. package/lib/schemas/metadata/MetadataProperty.d.ts +1 -3
  237. package/lib/schemas/metadata/MetadataProperty.js +3 -9
  238. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  239. package/lib/schemas/metadata/MetadataProperty.mjs +3 -9
  240. package/lib/schemas/metadata/MetadataTemplate.js +1 -3
  241. package/lib/schemas/metadata/MetadataTemplate.js.map +1 -1
  242. package/lib/schemas/metadata/MetadataTemplate.mjs +1 -3
  243. package/lib/schemas/metadata/MetadataTuple.d.mts +1 -3
  244. package/lib/schemas/metadata/MetadataTuple.d.ts +1 -3
  245. package/lib/schemas/metadata/MetadataTuple.js +2 -6
  246. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  247. package/lib/schemas/metadata/MetadataTuple.mjs +2 -6
  248. package/lib/schemas/metadata/MetadataTupleType.js +2 -6
  249. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  250. package/lib/schemas/metadata/MetadataTupleType.mjs +3 -9
  251. package/lib/tags/Constant.d.mts +16 -16
  252. package/lib/tags/Constant.d.ts +16 -16
  253. package/lib/tags/ContentMediaType.d.mts +7 -7
  254. package/lib/tags/ContentMediaType.d.ts +7 -7
  255. package/lib/tags/Default.d.mts +19 -19
  256. package/lib/tags/Default.d.ts +19 -19
  257. package/lib/tags/Example.d.mts +18 -18
  258. package/lib/tags/Example.d.ts +18 -18
  259. package/lib/tags/Examples.d.mts +23 -23
  260. package/lib/tags/Examples.d.ts +23 -23
  261. package/lib/tags/ExclusiveMaximum.d.mts +8 -5
  262. package/lib/tags/ExclusiveMaximum.d.ts +8 -5
  263. package/lib/tags/ExclusiveMinimum.d.mts +8 -5
  264. package/lib/tags/ExclusiveMinimum.d.ts +8 -5
  265. package/lib/tags/Format.d.mts +12 -8
  266. package/lib/tags/Format.d.ts +12 -8
  267. package/lib/tags/JsonSchemaPlugin.d.mts +20 -18
  268. package/lib/tags/JsonSchemaPlugin.d.ts +20 -18
  269. package/lib/tags/MaxItems.d.mts +9 -9
  270. package/lib/tags/MaxItems.d.ts +9 -9
  271. package/lib/tags/MaxLength.d.mts +6 -5
  272. package/lib/tags/MaxLength.d.ts +6 -5
  273. package/lib/tags/Maximum.d.mts +9 -7
  274. package/lib/tags/Maximum.d.ts +9 -7
  275. package/lib/tags/MinItems.d.mts +9 -9
  276. package/lib/tags/MinItems.d.ts +9 -9
  277. package/lib/tags/MinLength.d.mts +6 -5
  278. package/lib/tags/MinLength.d.ts +6 -5
  279. package/lib/tags/Minimum.d.mts +9 -7
  280. package/lib/tags/Minimum.d.ts +9 -7
  281. package/lib/tags/MultipleOf.d.mts +10 -7
  282. package/lib/tags/MultipleOf.d.ts +10 -7
  283. package/lib/tags/Pattern.d.mts +7 -4
  284. package/lib/tags/Pattern.d.ts +7 -4
  285. package/lib/tags/Sequence.d.mts +19 -17
  286. package/lib/tags/Sequence.d.ts +19 -17
  287. package/lib/tags/TagBase.d.mts +21 -28
  288. package/lib/tags/TagBase.d.ts +21 -28
  289. package/lib/tags/Type.d.mts +12 -11
  290. package/lib/tags/Type.d.ts +12 -11
  291. package/lib/tags/UniqueItems.d.mts +10 -9
  292. package/lib/tags/UniqueItems.d.ts +10 -9
  293. package/lib/tags/internal/FormatCheatSheet.d.mts +1 -3
  294. package/lib/tags/internal/FormatCheatSheet.d.ts +1 -3
  295. package/lib/tags/internal/FormatCheatSheet.js +1 -3
  296. package/lib/tags/internal/FormatCheatSheet.js.map +1 -1
  297. package/lib/tags/internal/FormatCheatSheet.mjs +1 -3
  298. package/lib/transformers/ITransformOptions.d.mts +27 -19
  299. package/lib/transformers/ITransformOptions.d.ts +27 -19
  300. package/lib/transformers/ImportTransformer.js +5 -10
  301. package/lib/transformers/ImportTransformer.js.map +1 -1
  302. package/lib/transformers/ImportTransformer.mjs +5 -10
  303. package/lib/transformers/NoTransformConfigurationError.js +1 -3
  304. package/lib/transformers/NoTransformConfigurationError.js.map +1 -1
  305. package/lib/transformers/NoTransformConfigurationError.mjs +1 -3
  306. package/lib/transformers/features/llm/LlmApplicationTransformer.js +1 -3
  307. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  308. package/lib/transformers/features/llm/LlmApplicationTransformer.mjs +1 -3
  309. package/lib/typings/Equal.d.mts +6 -6
  310. package/lib/typings/Equal.d.ts +6 -6
  311. package/package.json +2 -1
  312. package/src/AssertionGuard.ts +27 -25
  313. package/src/CamelCase.ts +1 -1
  314. package/src/IRandomGenerator.ts +44 -42
  315. package/src/IReadableURLSearchParams.ts +2 -2
  316. package/src/PascalCase.ts +1 -1
  317. package/src/Primitive.ts +20 -22
  318. package/src/Resolved.ts +16 -18
  319. package/src/SnakeCase.ts +3 -2
  320. package/src/TypeGuardError.ts +101 -64
  321. package/src/factories/MetadataCollection.ts +4 -12
  322. package/src/factories/MetadataCommentTagFactory.ts +8 -24
  323. package/src/factories/MetadataFactory.ts +1 -3
  324. package/src/factories/ProtobufFactory.ts +1 -3
  325. package/src/functional.ts +214 -249
  326. package/src/http.ts +329 -397
  327. package/src/internal/_ProtobufReader.ts +3 -9
  328. package/src/internal/_ProtobufSizer.ts +4 -12
  329. package/src/internal/_ProtobufWriter.ts +5 -15
  330. package/src/internal/_jsonStringifyString.ts +4 -4
  331. package/src/json.ts +190 -243
  332. package/src/llm.ts +279 -204
  333. package/src/misc.ts +166 -223
  334. package/src/module.ts +281 -329
  335. package/src/notations.ts +177 -246
  336. package/src/programmers/FeatureProgrammer.ts +19 -41
  337. package/src/programmers/ImportProgrammer.ts +3 -9
  338. package/src/programmers/RandomProgrammer.ts +6 -1
  339. package/src/programmers/helpers/ProtobufWire.ts +13 -13
  340. package/src/programmers/internal/check_array_length.ts +2 -6
  341. package/src/programmers/internal/check_bigint.ts +2 -6
  342. package/src/programmers/internal/check_dynamic_key.ts +2 -6
  343. package/src/programmers/internal/check_dynamic_properties.ts +3 -9
  344. package/src/programmers/internal/check_everything.ts +1 -3
  345. package/src/programmers/internal/check_native.ts +2 -6
  346. package/src/programmers/internal/check_number.ts +2 -6
  347. package/src/programmers/internal/check_object.ts +3 -9
  348. package/src/programmers/internal/check_string.ts +2 -6
  349. package/src/programmers/internal/check_template.ts +1 -3
  350. package/src/programmers/internal/check_union_array_like.ts +2 -6
  351. package/src/programmers/internal/decode_union_object.ts +3 -9
  352. package/src/programmers/internal/feature_object_entries.ts +1 -3
  353. package/src/programmers/internal/json_schema_escaped.ts +2 -6
  354. package/src/programmers/internal/json_schema_object.ts +4 -12
  355. package/src/programmers/internal/metadata_to_pattern.ts +1 -3
  356. package/src/programmers/internal/postfix_of_tuple.ts +1 -3
  357. package/src/programmers/internal/prune_object_properties.ts +1 -3
  358. package/src/programmers/internal/stringify_dynamic_properties.ts +2 -6
  359. package/src/programmers/internal/stringify_native.ts +1 -3
  360. package/src/programmers/internal/stringify_regular_properties.ts +2 -6
  361. package/src/programmers/internal/template_to_pattern.ts +1 -3
  362. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +1 -3
  363. package/src/programmers/json/JsonStringifyProgrammer.ts +2 -2
  364. package/src/protobuf.ts +307 -348
  365. package/src/reflect.ts +3 -7
  366. package/src/schemas/json/IJsonApplication.ts +4 -4
  367. package/src/schemas/json/IJsonSchemaCollection.ts +73 -56
  368. package/src/schemas/json/IJsonSchemaUnit.ts +83 -70
  369. package/src/schemas/metadata/IMetadataTypeTag.ts +1 -3
  370. package/src/schemas/metadata/Metadata.ts +9 -27
  371. package/src/schemas/metadata/MetadataAliasType.ts +3 -9
  372. package/src/schemas/metadata/MetadataApplication.ts +2 -6
  373. package/src/schemas/metadata/MetadataArray.ts +1 -3
  374. package/src/schemas/metadata/MetadataArrayType.ts +3 -9
  375. package/src/schemas/metadata/MetadataAtomic.ts +1 -3
  376. package/src/schemas/metadata/MetadataEscaped.ts +3 -9
  377. package/src/schemas/metadata/MetadataFunction.ts +2 -6
  378. package/src/schemas/metadata/MetadataObject.ts +1 -3
  379. package/src/schemas/metadata/MetadataObjectType.ts +6 -18
  380. package/src/schemas/metadata/MetadataParameter.ts +1 -3
  381. package/src/schemas/metadata/MetadataProperty.ts +3 -9
  382. package/src/schemas/metadata/MetadataTemplate.ts +1 -3
  383. package/src/schemas/metadata/MetadataTuple.ts +2 -6
  384. package/src/schemas/metadata/MetadataTupleType.ts +3 -9
  385. package/src/tags/Constant.ts +16 -16
  386. package/src/tags/ContentMediaType.ts +7 -7
  387. package/src/tags/Default.ts +19 -19
  388. package/src/tags/Example.ts +18 -18
  389. package/src/tags/Examples.ts +23 -23
  390. package/src/tags/ExclusiveMaximum.ts +8 -5
  391. package/src/tags/ExclusiveMinimum.ts +8 -5
  392. package/src/tags/Format.ts +12 -8
  393. package/src/tags/JsonSchemaPlugin.ts +20 -18
  394. package/src/tags/MaxItems.ts +9 -9
  395. package/src/tags/MaxLength.ts +6 -5
  396. package/src/tags/Maximum.ts +9 -7
  397. package/src/tags/MinItems.ts +9 -9
  398. package/src/tags/MinLength.ts +6 -5
  399. package/src/tags/Minimum.ts +9 -7
  400. package/src/tags/MultipleOf.ts +10 -7
  401. package/src/tags/Pattern.ts +7 -4
  402. package/src/tags/Sequence.ts +19 -17
  403. package/src/tags/TagBase.ts +21 -28
  404. package/src/tags/Type.ts +12 -11
  405. package/src/tags/UniqueItems.ts +10 -9
  406. package/src/tags/internal/FormatCheatSheet.ts +1 -3
  407. package/src/transformers/ITransformOptions.ts +27 -19
  408. package/src/transformers/ImportTransformer.ts +5 -10
  409. package/src/transformers/NoTransformConfigurationError.ts +1 -3
  410. package/src/transformers/features/llm/LlmApplicationTransformer.ts +1 -3
  411. package/src/typings/Equal.ts +6 -6
package/src/http.ts CHANGED
@@ -21,9 +21,9 @@ import { TypeGuardError } from "./TypeGuardError";
21
21
  * Form data decoder.
22
22
  *
23
23
  * `typia.http.formData()` is a function decoding `FormData` instance, with
24
- * automatic type casting to the expected type. When property type is defined
25
- * as `boolean` or `Blob` type, `typia.http.formData()` will cast the value to
26
- * the expected type when decoding.
24
+ * automatic type casting to the expected type. When property type is defined as
25
+ * `boolean` or `Blob` type, `typia.http.formData()` will cast the value to the
26
+ * expected type when decoding.
27
27
  *
28
28
  * By the way, as `FormData` is not enough to express complex data structures,
29
29
  * `typia.http.formData()` function has some limitations. If target type `T` is
@@ -31,24 +31,22 @@ import { TypeGuardError } from "./TypeGuardError";
31
31
  *
32
32
  * 1. Type `T` must be an object type
33
33
  * 2. Do not allow dynamic property
34
- * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array types are allowed
34
+ * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
35
+ * types are allowed
35
36
  * 4. Union types are never allowed
36
37
  *
37
38
  * Also, `typia.http.formData()` function does not perform validation about the
38
39
  * decoded value. Therefore, if you can't sure that input data is following the
39
40
  * `T` type, it would better to call one of below functions instead.
40
41
  *
42
+ * @author Jeongho Nam - https://github.com/samchon
41
43
  * @template T Expected type of decoded value
42
44
  * @param input FormData instance
43
45
  * @returns Decoded form FormData
44
- *
45
- * @author Jeongho Nam - https://github.com/samchon
46
46
  */
47
47
  export function formData<T extends object>(input: FormData): Resolved<T>;
48
48
 
49
- /**
50
- * @internal
51
- */
49
+ /** @internal */
52
50
  export function formData(): never {
53
51
  NoTransformConfigurationError("http.formData");
54
52
  }
@@ -56,40 +54,39 @@ export function formData(): never {
56
54
  /**
57
55
  * Form data decoder with type assertion.
58
56
  *
59
- * `typia.http.assertFormData()` is a function decoding `FormData` instance, with
60
- * automatic type casting to the expected type. When property type is defined
61
- * as `boolean` or `Blob` type, `typia.http.assertFormData()` will cast the value
62
- * to the expected type when decoding.
57
+ * `typia.http.assertFormData()` is a function decoding `FormData` instance,
58
+ * with automatic type casting to the expected type. When property type is
59
+ * defined as `boolean` or `Blob` type, `typia.http.assertFormData()` will cast
60
+ * the value to the expected type when decoding.
63
61
  *
64
- * Also, after decoding, `typia.http.assertFormData()` performs type assertion to
65
- * the decoded value by combining with {@link assert} function. Therefore, when
66
- * the decoded value is not following the `T` type, {@link TypeGuardError} or
67
- * custom error generated by *errorFactory* would be thrown.
62
+ * Also, after decoding, `typia.http.assertFormData()` performs type assertion
63
+ * to the decoded value by combining with {@link assert} function. Therefore,
64
+ * when the decoded value is not following the `T` type, {@link TypeGuardError}
65
+ * or custom error generated by _errorFactory_ would be thrown.
68
66
  *
69
67
  * By the way, as `FormData` is not enough to express complex data structures,
70
- * `typia.http.assertFormData()` function has some limitations. If target type `T`
71
- * is not following those restrictions, compilation errors would be occurred.
68
+ * `typia.http.assertFormData()` function has some limitations. If target type
69
+ * `T` is not following those restrictions, compilation errors would be
70
+ * occurred.
72
71
  *
73
72
  * 1. Type `T` must be an object type
74
73
  * 2. Do not allow dynamic property
75
- * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array types are allowed
74
+ * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
75
+ * types are allowed
76
76
  * 4. Union types are never allowed
77
77
  *
78
+ * @author Jeongho Nam - https://github.com/samchon
78
79
  * @template T Expected type of decoded value
79
80
  * @param input FormData instance
80
81
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
81
82
  * @returns Decoded form FormData
82
- *
83
- * @author Jeongho Nam - https://github.com/samchon
84
83
  */
85
84
  export function assertFormData<T extends object>(
86
85
  input: FormData,
87
86
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
88
87
  ): Resolved<T>;
89
88
 
90
- /**
91
- * @internal
92
- */
89
+ /** @internal */
93
90
  export function assertFormData(): never {
94
91
  NoTransformConfigurationError("http.assertFormData");
95
92
  }
@@ -98,36 +95,34 @@ export function assertFormData(): never {
98
95
  * Form data decoder with type checking.
99
96
  *
100
97
  * `typia.http.isFormData()` is a function decoding `FormData` instance, with
101
- * automatic type casting to the expected type. When property type is defined
102
- * as `boolean` or `Blob` type, `typia.http.isFormData()` will cast the value
103
- * to the expected type when decoding.
98
+ * automatic type casting to the expected type. When property type is defined as
99
+ * `boolean` or `Blob` type, `typia.http.isFormData()` will cast the value to
100
+ * the expected type when decoding.
104
101
  *
105
102
  * Also, after decoding, `typia.http.isFormData()` performs type checking to the
106
103
  * decoded value by combining with {@link is} function. Therefore, when the
107
104
  * decoded value is not following the `T` type, `null` value would be returned.
108
105
  *
109
106
  * By the way, as `FormData` is not enough to express complex data structures,
110
- * `typia.http.isFormData()` function has some limitations. If target type `T` is
111
- * not following those restrictions, compilation errors would be occurred.
107
+ * `typia.http.isFormData()` function has some limitations. If target type `T`
108
+ * is not following those restrictions, compilation errors would be occurred.
112
109
  *
113
110
  * 1. Type `T` must be an object type
114
111
  * 2. Do not allow dynamic property
115
- * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array types are allowed
112
+ * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
113
+ * types are allowed
116
114
  * 4. Union types are never allowed
117
115
  *
116
+ * @author Jeongho Nam - https://github.com/samchon
118
117
  * @template T Expected type of decoded value
119
118
  * @param input FormData instance
120
119
  * @returns Decoded form FormData or `null` value
121
- *
122
- * @author Jeongho Nam - https://github.com/samchon
123
120
  */
124
121
  export function isFormData<T extends object>(
125
122
  input: FormData,
126
123
  ): Resolved<T> | null;
127
124
 
128
- /**
129
- * @internal
130
- */
125
+ /** @internal */
131
126
  export function isFormData(): never {
132
127
  NoTransformConfigurationError("http.isFormData");
133
128
  }
@@ -136,38 +131,37 @@ export function isFormData(): never {
136
131
  * Form data decoder with type validation.
137
132
  *
138
133
  * `typia.http.validateFormData()` is a function decoding `FormData` instance,
139
- * with automatic type casting to the expected type. When property type is defined
140
- * as `boolean` or `Blob` type, `typia.http.validateFormData()` will cast the
141
- * value to the expected type when decoding.
134
+ * with automatic type casting to the expected type. When property type is
135
+ * defined as `boolean` or `Blob` type, `typia.http.validateFormData()` will
136
+ * cast the value to the expected type when decoding.
142
137
  *
143
- * Also, after decoding, `typia.http.validateFormData()` performs type validation
144
- * to the decoded value by combining with {@link validate} function. Therefore,
145
- * when the decoded value is not following the `T` type,
146
- * {@link IValidation.IFailure} would be returned. Otherwise,
147
- * x@xxxx IValidation.ISuccess} would be returned.
138
+ * Also, after decoding, `typia.http.validateFormData()` performs type
139
+ * validation to the decoded value by combining with {@link validate} function.
140
+ * Therefore, when the decoded value is not following the `T` type,
141
+ * {@link IValidation.IFailure} would be returned. Otherwise, x@xxxx
142
+ * IValidation.ISuccess} would be returned.
148
143
  *
149
144
  * By the way, as `FormData` is not enough to express complex data structures,
150
145
  * `typia.http.validateFormData()` function has some limitations. If target type
151
- * `T` is not following those restrictions, compilation errors would be occurred.
146
+ * `T` is not following those restrictions, compilation errors would be
147
+ * occurred.
152
148
  *
153
149
  * 1. Type `T` must be an object type
154
150
  * 2. Do not allow dynamic property
155
- * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array types are allowed
151
+ * 3. Only `boolean`, `bigint`, `number`, `string`, `Blob`, `File` or their array
152
+ * types are allowed
156
153
  * 4. Union types are never allowed
157
154
  *
155
+ * @author Jeongho Nam - https://github.com/samchon
158
156
  * @template T Expected type of decoded value
159
157
  * @param input FormData instance
160
158
  * @returns Validation result with decoded form FormData
161
- *
162
- * @author Jeongho Nam - https://github.com/samchon
163
159
  */
164
160
  export function validateFormData<T extends object>(
165
161
  input: FormData,
166
162
  ): IValidation<Resolved<T>>;
167
163
 
168
- /**
169
- * @internal
170
- */
164
+ /** @internal */
171
165
  export function validateFormData(): never {
172
166
  NoTransformConfigurationError("http.validateFormData");
173
167
  }
@@ -178,41 +172,38 @@ export function validateFormData(): never {
178
172
  /**
179
173
  * URL query decoder.
180
174
  *
181
- * `typia.http.query()` is a function decoding a query string or an `URLSearchParams`
182
- * instance, with automatic type casting to the expected type. When property type be
183
- * defined as `boolean` or `number` type, `typia.http.query()` will cast the value to
184
- * the expected type when decoding.
175
+ * `typia.http.query()` is a function decoding a query string or an
176
+ * `URLSearchParams` instance, with automatic type casting to the expected type.
177
+ * When property type be defined as `boolean` or `number` type,
178
+ * `typia.http.query()` will cast the value to the expected type when decoding.
185
179
  *
186
180
  * By the way, as URL query is not enough to express complex data structures,
187
181
  * `typia.http.query()` function has some limitations. If target type `T` is not
188
182
  * following those restrictions, compilation errors would be occurred.
189
183
  *
190
- * 1. Type `T` must be an object type
191
- * 2. Do not allow dynamic property
192
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
193
- * 4. Union types are never allowed
184
+ * 1. Type `T` must be an object type
185
+ * 2. Do not allow dynamic property
186
+ * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
187
+ * 4. Union types are never allowed
194
188
  *
195
- * Also, `typia.http.query()` function does not perform validation about the decoded
196
- * value. Therefore, if you can't sure that input data is following the `T` type,
197
- * it would better to call one of below functions instead.
189
+ * Also, `typia.http.query()` function does not perform validation about the
190
+ * decoded value. Therefore, if you can't sure that input data is following the
191
+ * `T` type, it would better to call one of below functions instead.
198
192
  *
199
- * - {@link assertQuery}
200
- * - {@link isQuery}
201
- * - {@link validateQuery}
193
+ * - {@link assertQuery}
194
+ * - {@link isQuery}
195
+ * - {@link validateQuery}
202
196
  *
197
+ * @author Jeongho Nam - https://github.com/samchon
203
198
  * @template T Expected type of decoded value
204
199
  * @param input Query string or URLSearchParams instance
205
200
  * @returns Decoded query object
206
- *
207
- * @author Jeongho Nam - https://github.com/samchon
208
201
  */
209
202
  export function query<T extends object>(
210
203
  input: string | IReadableURLSearchParams,
211
204
  ): Resolved<T>;
212
205
 
213
- /**
214
- * @internal
215
- */
206
+ /** @internal */
216
207
  export function query(): never {
217
208
  NoTransformConfigurationError("http.query");
218
209
  }
@@ -223,37 +214,35 @@ export function query(): never {
223
214
  * `typia.http.assertQuery()` is a function decoding a query string or an
224
215
  * `URLSearchParams` instance, with automatic type casting to the expected type.
225
216
  * When property type is defined as `boolean` or `number` type,
226
- * `typia.http.assertQuery()` will cast the value to the expected type when decoding.
217
+ * `typia.http.assertQuery()` will cast the value to the expected type when
218
+ * decoding.
227
219
  *
228
- * Also, after decoding, `typia.http.assertQuery()` performs type assertion to the
229
- * decoded value by combining with {@link assert} function. Therefore, when the
230
- * decoded value is not following the `T` type, {@link TypeGuardError} or custom
231
- * error generated by *errorFactory* would be thrown.
220
+ * Also, after decoding, `typia.http.assertQuery()` performs type assertion to
221
+ * the decoded value by combining with {@link assert} function. Therefore, when
222
+ * the decoded value is not following the `T` type, {@link TypeGuardError} or
223
+ * custom error generated by _errorFactory_ would be thrown.
232
224
  *
233
225
  * By the way, as URL query is not enough to express complex data structures,
234
- * `typia.http.assertQuery()` function has some limitations. If target type `T` is
235
- * notfollowing those restrictions, compilation errors would be occurred.
226
+ * `typia.http.assertQuery()` function has some limitations. If target type `T`
227
+ * is notfollowing those restrictions, compilation errors would be occurred.
236
228
  *
237
- * 1. Type `T` must be an object type
238
- * 2. Do not allow dynamic property
239
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
240
- * 4. Union types are never allowed
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
241
233
  *
234
+ * @author Jeongho Nam - https://github.com/samchon
242
235
  * @template T Expected type of decoded value
243
236
  * @param input Query string or URLSearchParams instance
244
237
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
245
238
  * @returns Decoded query object
246
- *
247
- * @author Jeongho Nam - https://github.com/samchon
248
239
  */
249
240
  export function assertQuery<T extends object>(
250
241
  input: string | IReadableURLSearchParams,
251
242
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
252
243
  ): Resolved<T>;
253
244
 
254
- /**
255
- * @internal
256
- */
245
+ /** @internal */
257
246
  export function assertQuery(): never {
258
247
  NoTransformConfigurationError("http.assertQuery");
259
248
  }
@@ -264,7 +253,8 @@ export function assertQuery(): never {
264
253
  * `typia.http.isQuery()` is a function decoding a query string or an
265
254
  * `URLSearchParams` instance, with automatic type casting to the expected type.
266
255
  * When property type is defined as `boolean` or `number` type,
267
- * `typia.http.isQuery()` will cast the value to the expected type when decoding.
256
+ * `typia.http.isQuery()` will cast the value to the expected type when
257
+ * decoding.
268
258
  *
269
259
  * Also, after decoding, `typia.http.isQuery()` performs type checking to the
270
260
  * decoded value by combining with {@link is} function. Therefore, when the
@@ -274,24 +264,21 @@ export function assertQuery(): never {
274
264
  * `typia.http.isQuery()` function has some limitations. If target type `T` is
275
265
  * notfollowing those restrictions, compilation errors would be occurred.
276
266
  *
277
- * 1. Type `T` must be an object type
278
- * 2. Do not allow dynamic property
279
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
280
- * 4. Union types are never allowed
267
+ * 1. Type `T` must be an object type
268
+ * 2. Do not allow dynamic property
269
+ * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
270
+ * 4. Union types are never allowed
281
271
  *
272
+ * @author Jeongho Nam - https://github.com/samchon
282
273
  * @template T Expected type of decoded value
283
274
  * @param input Query string or URLSearchParams instance
284
275
  * @returns Decoded query object or `null` value
285
- *
286
- * @author Jeongho Nam - https://github.com/samchon
287
276
  */
288
277
  export function isQuery<T extends object>(
289
278
  input: string | IReadableURLSearchParams,
290
279
  ): Resolved<T> | null;
291
280
 
292
- /**
293
- * @internal
294
- */
281
+ /** @internal */
295
282
  export function isQuery(): never {
296
283
  NoTransformConfigurationError("http.isQuery");
297
284
  }
@@ -302,35 +289,35 @@ export function isQuery(): never {
302
289
  * `typia.http.validateQuery()` is a function decoding a query string or an
303
290
  * `URLSearchParams` instance, with automatic type casting to the expected type.
304
291
  * When property type is defined as `boolean` or `number` type,
305
- * `typia.http.validateQuery()` will cast the value to the expected type when decoding.
292
+ * `typia.http.validateQuery()` will cast the value to the expected type when
293
+ * decoding.
306
294
  *
307
- * Also, after decoding, `typia.http.validateQuery()` performs type validation to the
308
- * decoded value by combining with {@link validate} function. Therefore, when the
309
- * decoded value is not following the `T` type, {@link IValidation.IFailure} would
310
- * be returned. Otherwise, {@link IValidation.ISuccess} would be returned.
295
+ * Also, after decoding, `typia.http.validateQuery()` performs type validation
296
+ * to the decoded value by combining with {@link validate} function. Therefore,
297
+ * when the decoded value is not following the `T` type,
298
+ * {@link IValidation.IFailure} would be returned. Otherwise,
299
+ * {@link IValidation.ISuccess} would be returned.
311
300
  *
312
301
  * By the way, as URL query is not enough to express complex data structures,
313
- * `typia.http.validateQuery()` function has some limitations. If target type `T` is
314
- * notfollowing those restrictions, compilation errors would be occurred.
302
+ * `typia.http.validateQuery()` function has some limitations. If target type
303
+ * `T` is notfollowing those restrictions, compilation errors would be
304
+ * occurred.
315
305
  *
316
- * 1. Type `T` must be an object type
317
- * 2. Do not allow dynamic property
318
- * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
319
- * 4. Union types are never allowed
306
+ * 1. Type `T` must be an object type
307
+ * 2. Do not allow dynamic property
308
+ * 3. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
309
+ * 4. Union types are never allowed
320
310
  *
311
+ * @author Jeongho Nam - https://github.com/samchon
321
312
  * @template T Expected type of decoded value
322
313
  * @param input Query string or URLSearchParams instance
323
314
  * @returns Validation result with decoded query object
324
- *
325
- * @author Jeongho Nam - https://github.com/samchon
326
315
  */
327
316
  export function validateQuery<T extends object>(
328
317
  input: string | IReadableURLSearchParams,
329
318
  ): IValidation<Resolved<T>>;
330
319
 
331
- /**
332
- * @internal
333
- */
320
+ /** @internal */
334
321
  export function validateQuery(): never {
335
322
  NoTransformConfigurationError("http.validateQuery");
336
323
  }
@@ -341,62 +328,62 @@ export function validateQuery(): never {
341
328
  /**
342
329
  * Headers decoder (for express and fastify).
343
330
  *
344
- * `typia.http.headers()` is a function decoding an header instance, with automatic
345
- * type casting to the expected type. When property type is defined as `boolean` or
346
- * `number` type, `typia.http.headers()` will cast the value to the expected type.
331
+ * `typia.http.headers()` is a function decoding an header instance, with
332
+ * automatic type casting to the expected type. When property type is defined as
333
+ * `boolean` or `number` type, `typia.http.headers()` will cast the value to the
334
+ * expected type.
347
335
  *
348
- * By the way, as HTTP headers are not enough to express complex data structures,
349
- * `typia.http.headers()` function has some limitations. If target type `T` is not
350
- * following those restrictions, compilation errors would be occurred.
336
+ * By the way, as HTTP headers are not enough to express complex data
337
+ * structures, `typia.http.headers()` function has some limitations. If target
338
+ * type `T` is not following those restrictions, compilation errors would be
339
+ * occurred.
351
340
  *
352
- * 1. Type `T` must be an object type
353
- * 2. Do not allow dynamic property
354
- * 3. Property key must be lower case
355
- * 4. Property value cannot be `null`, but `undefined` is possible
356
- * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
357
- * 6. Union types are never allowed
358
- * 7. Property `set-cookie` must be array type
359
- * 8. Those properties cannot be array type
360
- * - age
361
- * - authorization
362
- * - content-length
363
- * - content-type
364
- * - etag
365
- * - expires
366
- * - from
367
- * - host
368
- * - if-modified-since
369
- * - if-unmodified-since
370
- * - last-modified
371
- * - location
372
- * - max-forwards
373
- * - proxy-authorization
374
- * - referer
375
- * - retry-after
376
- * - server
377
- * - user-agent
378
- *
379
- * Also, `typia.http.headers()` function does not perform validation about the decoded
380
- * value. Therefore, if you can't sure that input data is following the `T` type,
381
- * it would better to call one of below functions instead.
382
- *
383
- * - {@link assertHeaders}
384
- * - {@link isHeaders}
385
- * - {@link validateHeaders}
341
+ * 1. Type `T` must be an object type
342
+ * 2. Do not allow dynamic property
343
+ * 3. Property key must be lower case
344
+ * 4. Property value cannot be `null`, but `undefined` is possible
345
+ * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
346
+ * 6. Union types are never allowed
347
+ * 7. Property `set-cookie` must be array type
348
+ * 8. Those properties cannot be array type
349
+ *
350
+ * - Age
351
+ * - Authorization
352
+ * - Content-length
353
+ * - Content-type
354
+ * - Etag
355
+ * - Expires
356
+ * - From
357
+ * - Host
358
+ * - If-modified-since
359
+ * - If-unmodified-since
360
+ * - Last-modified
361
+ * - Location
362
+ * - Max-forwards
363
+ * - Proxy-authorization
364
+ * - Referer
365
+ * - Retry-after
366
+ * - Server
367
+ * - User-agent
368
+ *
369
+ * Also, `typia.http.headers()` function does not perform validation about the
370
+ * decoded value. Therefore, if you can't sure that input data is following the
371
+ * `T` type, it would better to call one of below functions instead.
386
372
  *
373
+ * - {@link assertHeaders}
374
+ * - {@link isHeaders}
375
+ * - {@link validateHeaders}
376
+ *
377
+ * @author Jeongho Nam - https://github.com/samchon
387
378
  * @template T Expected type of decoded value
388
379
  * @param input Query string or URLSearchParams instance
389
380
  * @returns Decoded headers object
390
- *
391
- * @author Jeongho Nam - https://github.com/samchon
392
381
  */
393
382
  export function headers<T extends object>(
394
383
  input: Record<string, string | string[] | undefined>,
395
384
  ): Resolved<T>;
396
385
 
397
- /**
398
- * @internal
399
- */
386
+ /** @internal */
400
387
  export function headers(): never {
401
388
  NoTransformConfigurationError("http.headers");
402
389
  }
@@ -409,57 +396,56 @@ export function headers(): never {
409
396
  * `boolean` or `number` type, `typia.http.headers()` will cast the value to the
410
397
  * expected type.
411
398
  *
412
- * Also, after decoding, `typia.http.assertHeaders()` performs type assertion to the
413
- * decoded value by combining with {@link assert} function. Therefore, when the
414
- * decoded value is not following the `T` type, {@link TypeGuardError} or custom
415
- * error generated by *errorFactory* would be thrown.
399
+ * Also, after decoding, `typia.http.assertHeaders()` performs type assertion to
400
+ * the decoded value by combining with {@link assert} function. Therefore, when
401
+ * the decoded value is not following the `T` type, {@link TypeGuardError} or
402
+ * custom error generated by _errorFactory_ would be thrown.
416
403
  *
417
- * By the way, as HTTP headers are not enough to express complex data structures,
418
- * `typia.http.headers()` function has some limitations. If target type `T` is not
419
- * following those restrictions, compilation errors would be occurred.
404
+ * By the way, as HTTP headers are not enough to express complex data
405
+ * structures, `typia.http.headers()` function has some limitations. If target
406
+ * type `T` is not following those restrictions, compilation errors would be
407
+ * occurred.
420
408
  *
421
- * 1. Type `T` must be an object type
422
- * 2. Do not allow dynamic property
423
- * 3. Property key must be lower case
424
- * 4. Property value cannot be `null`, but `undefined` is possible
425
- * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
426
- * 6. Union types are never allowed
427
- * 7. Property `set-cookie` must be array type
428
- * 8. Those properties cannot be array type
429
- * - age
430
- * - authorization
431
- * - content-length
432
- * - content-type
433
- * - etag
434
- * - expires
435
- * - from
436
- * - host
437
- * - if-modified-since
438
- * - if-unmodified-since
439
- * - last-modified
440
- * - location
441
- * - max-forwards
442
- * - proxy-authorization
443
- * - referer
444
- * - retry-after
445
- * - server
446
- * - user-agent
409
+ * 1. Type `T` must be an object type
410
+ * 2. Do not allow dynamic property
411
+ * 3. Property key must be lower case
412
+ * 4. Property value cannot be `null`, but `undefined` is possible
413
+ * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
414
+ * 6. Union types are never allowed
415
+ * 7. Property `set-cookie` must be array type
416
+ * 8. Those properties cannot be array type
417
+ *
418
+ * - Age
419
+ * - Authorization
420
+ * - Content-length
421
+ * - Content-type
422
+ * - Etag
423
+ * - Expires
424
+ * - From
425
+ * - Host
426
+ * - If-modified-since
427
+ * - If-unmodified-since
428
+ * - Last-modified
429
+ * - Location
430
+ * - Max-forwards
431
+ * - Proxy-authorization
432
+ * - Referer
433
+ * - Retry-after
434
+ * - Server
435
+ * - User-agent
447
436
  *
437
+ * @author Jeongho Nam - https://github.com/samchon
448
438
  * @template T Expected type of decoded value
449
439
  * @param input Query string or URLSearchParams instance
450
440
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
451
441
  * @returns Decoded headers object
452
- *
453
- * @author Jeongho Nam - https://github.com/samchon
454
442
  */
455
443
  export function assertHeaders<T extends object>(
456
444
  input: Record<string, string | string[] | undefined>,
457
445
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
458
446
  ): Resolved<T>;
459
447
 
460
- /**
461
- * @internal
462
- */
448
+ /** @internal */
463
449
  export function assertHeaders(): never {
464
450
  NoTransformConfigurationError("http.assertHeaders");
465
451
  }
@@ -478,50 +464,49 @@ export function assertHeaders(): never {
478
464
  * decoded value by combining with {@link is} function. Therefore, when the
479
465
  * decoded value is not following the `T` type, `null` value would be returned.
480
466
  *
481
- * By the way, as HTTP headers are not enough to express complex data structures,
482
- * `typia.http.headers()` function has some limitations. If target type `T` is not
483
- * following those restrictions, compilation errors would be occurred.
467
+ * By the way, as HTTP headers are not enough to express complex data
468
+ * structures, `typia.http.headers()` function has some limitations. If target
469
+ * type `T` is not following those restrictions, compilation errors would be
470
+ * occurred.
484
471
  *
485
- * 1. Type `T` must be an object type
486
- * 2. Do not allow dynamic property
487
- * 3. Property key must be lower case
488
- * 4. Property value cannot be `null`, but `undefined` is possible
489
- * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
490
- * 6. Union types are never allowed
491
- * 7. Property `set-cookie` must be array type
492
- * 8. Those properties cannot be array type
493
- * - age
494
- * - authorization
495
- * - content-length
496
- * - content-type
497
- * - etag
498
- * - expires
499
- * - from
500
- * - host
501
- * - if-modified-since
502
- * - if-unmodified-since
503
- * - last-modified
504
- * - location
505
- * - max-forwards
506
- * - proxy-authorization
507
- * - referer
508
- * - retry-after
509
- * - server
510
- * - user-agent
472
+ * 1. Type `T` must be an object type
473
+ * 2. Do not allow dynamic property
474
+ * 3. Property key must be lower case
475
+ * 4. Property value cannot be `null`, but `undefined` is possible
476
+ * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
477
+ * 6. Union types are never allowed
478
+ * 7. Property `set-cookie` must be array type
479
+ * 8. Those properties cannot be array type
480
+ *
481
+ * - Age
482
+ * - Authorization
483
+ * - Content-length
484
+ * - Content-type
485
+ * - Etag
486
+ * - Expires
487
+ * - From
488
+ * - Host
489
+ * - If-modified-since
490
+ * - If-unmodified-since
491
+ * - Last-modified
492
+ * - Location
493
+ * - Max-forwards
494
+ * - Proxy-authorization
495
+ * - Referer
496
+ * - Retry-after
497
+ * - Server
498
+ * - User-agent
511
499
  *
500
+ * @author Jeongho Nam - https://github.com/samchon
512
501
  * @template T Expected type of decoded value
513
502
  * @param input Query string or URLSearchParams instance
514
503
  * @returns Decoded headers object or `null` value
515
- *
516
- * @author Jeongho Nam - https://github.com/samchon
517
504
  */
518
505
  export function isHeaders<T extends object>(
519
506
  input: Record<string, string | string[] | undefined>,
520
507
  ): Resolved<T> | null;
521
508
 
522
- /**
523
- * @internal
524
- */
509
+ /** @internal */
525
510
  export function isHeaders(): never {
526
511
  NoTransformConfigurationError("http.isHeaders");
527
512
  }
@@ -529,60 +514,60 @@ export function isHeaders(): never {
529
514
  /**
530
515
  * Headers decoder with type validation (for express and fastify).
531
516
  *
532
- * `typia.http.validateHeaders()` is a function decoding an header instance, with
533
- * automatic type casting to the expected type. When property type is defined as
534
- * `boolean` or `number` type, `typia.http.headers()` will cast the value to the
535
- * expected type.
517
+ * `typia.http.validateHeaders()` is a function decoding an header instance,
518
+ * with automatic type casting to the expected type. When property type is
519
+ * defined as `boolean` or `number` type, `typia.http.headers()` will cast the
520
+ * value to the expected type.
536
521
  *
537
- * Also, after decoding, `typia.http.validateHeaders()` performs type assertion to the
538
- * decoded value by combining with {@link validate} function. Therefore, when the
539
- * decoded value is not following the `T` type, {@link IValidation.IError} would be
540
- * returned. Otherwise, {@link IValidation.ISuccess} be returned.
522
+ * Also, after decoding, `typia.http.validateHeaders()` performs type assertion
523
+ * to the decoded value by combining with {@link validate} function. Therefore,
524
+ * when the decoded value is not following the `T` type,
525
+ * {@link IValidation.IError} would be returned. Otherwise,
526
+ * {@link IValidation.ISuccess} be returned.
541
527
  *
542
- * By the way, as HTTP headers are not enough to express complex data structures,
543
- * `typia.http.headers()` function has some limitations. If target type `T` is not
544
- * following those restrictions, compilation errors would be occurred.
528
+ * By the way, as HTTP headers are not enough to express complex data
529
+ * structures, `typia.http.headers()` function has some limitations. If target
530
+ * type `T` is not following those restrictions, compilation errors would be
531
+ * occurred.
545
532
  *
546
- * 1. Type `T` must be an object type
547
- * 2. Do not allow dynamic property
548
- * 3. Property key must be lower case
549
- * 4. Property value cannot be `null`, but `undefined` is possible
550
- * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
551
- * 6. Union types are never allowed
552
- * 7. Property `set-cookie` must be array type
553
- * 8. Those properties cannot be array type
554
- * - age
555
- * - authorization
556
- * - content-length
557
- * - content-type
558
- * - etag
559
- * - expires
560
- * - from
561
- * - host
562
- * - if-modified-since
563
- * - if-unmodified-since
564
- * - last-modified
565
- * - location
566
- * - max-forwards
567
- * - proxy-authorization
568
- * - referer
569
- * - retry-after
570
- * - server
571
- * - user-agent
533
+ * 1. Type `T` must be an object type
534
+ * 2. Do not allow dynamic property
535
+ * 3. Property key must be lower case
536
+ * 4. Property value cannot be `null`, but `undefined` is possible
537
+ * 5. Only `boolean`, `bigint`, `number`, `string` or their array types are allowed
538
+ * 6. Union types are never allowed
539
+ * 7. Property `set-cookie` must be array type
540
+ * 8. Those properties cannot be array type
541
+ *
542
+ * - Age
543
+ * - Authorization
544
+ * - Content-length
545
+ * - Content-type
546
+ * - Etag
547
+ * - Expires
548
+ * - From
549
+ * - Host
550
+ * - If-modified-since
551
+ * - If-unmodified-since
552
+ * - Last-modified
553
+ * - Location
554
+ * - Max-forwards
555
+ * - Proxy-authorization
556
+ * - Referer
557
+ * - Retry-after
558
+ * - Server
559
+ * - User-agent
572
560
  *
561
+ * @author Jeongho Nam - https://github.com/samchon
573
562
  * @template T Expected type of decoded value
574
563
  * @param input Query string or URLSearchParams instance
575
564
  * @returns Decoded headers object
576
- *
577
- * @author Jeongho Nam - https://github.com/samchon
578
565
  */
579
566
  export function validateHeaders<T extends object>(
580
567
  input: Record<string, string | string[] | undefined>,
581
568
  ): IValidation<Resolved<T>>;
582
569
 
583
- /**
584
- * @internal
585
- */
570
+ /** @internal */
586
571
  export function validateHeaders(): never {
587
572
  NoTransformConfigurationError("http.validateHeaders");
588
573
  }
@@ -593,13 +578,14 @@ export function validateHeaders(): never {
593
578
  /**
594
579
  * URL path parameter decoder.
595
580
  *
596
- * `typia.http.parameter()` is a function decoding a path parameter, with automatic
597
- * type casting to the expected type. When type `T` has been defined as `boolean` or
598
- * `number` type, `typia.http.parameter()` will cast the value to the expected type.
581
+ * `typia.http.parameter()` is a function decoding a path parameter, with
582
+ * automatic type casting to the expected type. When type `T` has been defined
583
+ * as `boolean` or `number` type, `typia.http.parameter()` will cast the value
584
+ * to the expected type.
599
585
  *
600
- * Also, `typia.http.parameter()` performs type assertion to the decoded value by
601
- * combining with {@link assert} function. Therefore, when the decoded value is not
602
- * following the `T` type, {@link TypeGuardError} would be thrown.
586
+ * Also, `typia.http.parameter()` performs type assertion to the decoded value
587
+ * by combining with {@link assert} function. Therefore, when the decoded value
588
+ * is not following the `T` type, {@link TypeGuardError} would be thrown.
603
589
  *
604
590
  * @template T Expected type of decoded value
605
591
  * @param input Path parameter string
@@ -609,9 +595,7 @@ export function parameter<T extends Atomic.Type | null>(
609
595
  input: string,
610
596
  ): Resolved<T>;
611
597
 
612
- /**
613
- * @internal
614
- */
598
+ /** @internal */
615
599
  export function parameter(): never {
616
600
  NoTransformConfigurationError("http.parameter");
617
601
  }
@@ -622,27 +606,23 @@ export function parameter(): never {
622
606
  /**
623
607
  * Creates a reusable {@link formdata} function.
624
608
  *
625
- * @danger You must configure the generic argument `T`
626
- * @template T The type of the formdata object
627
- * @throws compile error
628
- *
629
609
  * @author Jeongho Nam - https://github.com/samchon
610
+ * @template T The type of the formdata object
611
+ * @throws Compile error
612
+ * @danger You must configure the generic argument `T`
630
613
  */
631
614
  export function createFormData(): never;
632
615
 
633
616
  /**
634
617
  * Creates a reusable {@link formdata} function.
635
618
  *
619
+ * @author Jeongho Nam - https://github.com/samchon
636
620
  * @template T The type of the formdata object
637
621
  * @returns A reusable `formdata` function
638
- *
639
- * @author Jeongho Nam - https://github.com/samchon
640
622
  */
641
623
  export function createFormData<T extends object>(): (input: FormData) => T;
642
624
 
643
- /**
644
- * @internal
645
- */
625
+ /** @internal */
646
626
  export function createFormData<T>(): (input: FormData) => T {
647
627
  NoTransformConfigurationError("http.createFormData");
648
628
  }
@@ -650,12 +630,11 @@ export function createFormData<T>(): (input: FormData) => T {
650
630
  /**
651
631
  * Creates a reusable {@link assertFormData} function.
652
632
  *
653
- * @danger You must configure the generic argument `T`
633
+ * @author Jeongho Nam - https://github.com/samchon
654
634
  * @template T The type of the formdata object
655
635
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
656
- * @throws compile error
657
- *
658
- * @author Jeongho Nam - https://github.com/samchon
636
+ * @throws Compile error
637
+ * @danger You must configure the generic argument `T`
659
638
  */
660
639
  export function createAssertFormData(
661
640
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
@@ -664,19 +643,16 @@ export function createAssertFormData(
664
643
  /**
665
644
  * Creates a reusable {@link assertFormData} function.
666
645
  *
646
+ * @author Jeongho Nam - https://github.com/samchon
667
647
  * @template T The type of the formdata object
668
648
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
669
649
  * @returns A reusable `assertFormData` function
670
- *
671
- * @author Jeongho Nam - https://github.com/samchon
672
650
  */
673
651
  export function createAssertFormData<T extends object>(
674
652
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
675
653
  ): (input: FormData) => T;
676
654
 
677
- /**
678
- * @internal
679
- */
655
+ /** @internal */
680
656
  export function createAssertFormData<T>(): (input: FormData) => T {
681
657
  NoTransformConfigurationError("http.createAssertFormData");
682
658
  }
@@ -684,29 +660,25 @@ export function createAssertFormData<T>(): (input: FormData) => T {
684
660
  /**
685
661
  * Creates a reusable {@link isFormData} function.
686
662
  *
687
- * @danger You must configure the generic argument `T`
688
- * @template T The type of the formdata object
689
- * @throws compile error
690
- *
691
663
  * @author Jeongho Nam - https://github.com/samchon
664
+ * @template T The type of the formdata object
665
+ * @throws Compile error
666
+ * @danger You must configure the generic argument `T`
692
667
  */
693
668
  export function createIsFormData(): never;
694
669
 
695
670
  /**
696
671
  * Creates a reusable {@link isFormData} function.
697
672
  *
673
+ * @author Jeongho Nam - https://github.com/samchon
698
674
  * @template T The type of the formdata object
699
675
  * @returns A reusable `isFormData` function
700
- *
701
- * @author Jeongho Nam - https://github.com/samchon
702
676
  */
703
677
  export function createIsFormData<T extends object>(): (
704
678
  input: FormData,
705
679
  ) => T | null;
706
680
 
707
- /**
708
- * @internal
709
- */
681
+ /** @internal */
710
682
  export function createIsFormData<T>(): (input: FormData) => T | null {
711
683
  NoTransformConfigurationError("http.createIsFormData");
712
684
  }
@@ -714,29 +686,25 @@ export function createIsFormData<T>(): (input: FormData) => T | null {
714
686
  /**
715
687
  * Creates a reusable {@link validateFormData} function.
716
688
  *
717
- * @danger You must configure the generic argument `T`
718
- * @template T The type of the formdata object
719
- * @throws compile error
720
- *
721
689
  * @author Jeongho Nam - https://github.com/samchon
690
+ * @template T The type of the formdata object
691
+ * @throws Compile error
692
+ * @danger You must configure the generic argument `T`
722
693
  */
723
694
  export function createValidateFormData(): never;
724
695
 
725
696
  /**
726
697
  * Creates a reusable {@link validateFormData} function.
727
698
  *
699
+ * @author Jeongho Nam - https://github.com/samchon
728
700
  * @template T The type of the formdata object
729
701
  * @returns A reusable `validateFormData` function
730
- *
731
- * @author Jeongho Nam - https://github.com/samchon
732
702
  */
733
703
  export function createValidateFormData<T extends object>(): (
734
704
  input: FormData,
735
705
  ) => IValidation<Resolved<T>>;
736
706
 
737
- /**
738
- * @internal
739
- */
707
+ /** @internal */
740
708
  export function createValidateFormData<T>(): (
741
709
  input: FormData,
742
710
  ) => IValidation<Resolved<T>> {
@@ -746,29 +714,25 @@ export function createValidateFormData<T>(): (
746
714
  /**
747
715
  * Creates a reusable {@link query} function.
748
716
  *
749
- * @danger You must configure the generic argument `T`
750
- * @template T The type of the query object
751
- * @throws compile error
752
- *
753
717
  * @author Jeongho Nam - https://github.com/samchon
718
+ * @template T The type of the query object
719
+ * @throws Compile error
720
+ * @danger You must configure the generic argument `T`
754
721
  */
755
722
  export function createQuery(): never;
756
723
 
757
724
  /**
758
725
  * Creates a reusable {@link query} function.
759
726
  *
727
+ * @author Jeongho Nam - https://github.com/samchon
760
728
  * @template T The type of the query object
761
729
  * @returns A reusable `query` function
762
- *
763
- * @author Jeongho Nam - https://github.com/samchon
764
730
  */
765
731
  export function createQuery<T extends object>(): (
766
732
  input: string | IReadableURLSearchParams,
767
733
  ) => T;
768
734
 
769
- /**
770
- * @internal
771
- */
735
+ /** @internal */
772
736
  export function createQuery<T>(): (
773
737
  input: string | IReadableURLSearchParams,
774
738
  ) => T {
@@ -778,12 +742,11 @@ export function createQuery<T>(): (
778
742
  /**
779
743
  * Creates a reusable {@link assertQuery} function.
780
744
  *
781
- * @danger You must configure the generic argument `T`
745
+ * @author Jeongho Nam - https://github.com/samchon
782
746
  * @template T The type of the query object
783
747
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
784
- * @throws compile error
785
- *
786
- * @author Jeongho Nam - https://github.com/samchon
748
+ * @throws Compile error
749
+ * @danger You must configure the generic argument `T`
787
750
  */
788
751
  export function createAssertQuery(
789
752
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
@@ -792,19 +755,16 @@ export function createAssertQuery(
792
755
  /**
793
756
  * Creates a reusable {@link assertQuery} function.
794
757
  *
758
+ * @author Jeongho Nam - https://github.com/samchon
795
759
  * @template T The type of the query object
796
760
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
797
761
  * @returns A reusable `assertQuery` function
798
- *
799
- * @author Jeongho Nam - https://github.com/samchon
800
762
  */
801
763
  export function createAssertQuery<T extends object>(
802
764
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
803
765
  ): (input: string | IReadableURLSearchParams) => T;
804
766
 
805
- /**
806
- * @internal
807
- */
767
+ /** @internal */
808
768
  export function createAssertQuery<T>(): (
809
769
  input: string | IReadableURLSearchParams,
810
770
  ) => T {
@@ -814,29 +774,25 @@ export function createAssertQuery<T>(): (
814
774
  /**
815
775
  * Creates a reusable {@link isQuery} function.
816
776
  *
817
- * @danger You must configure the generic argument `T`
818
- * @template T The type of the query object
819
- * @throws compile error
820
- *
821
777
  * @author Jeongho Nam - https://github.com/samchon
778
+ * @template T The type of the query object
779
+ * @throws Compile error
780
+ * @danger You must configure the generic argument `T`
822
781
  */
823
782
  export function createIsQuery(): never;
824
783
 
825
784
  /**
826
785
  * Creates a reusable {@link isQuery} function.
827
786
  *
787
+ * @author Jeongho Nam - https://github.com/samchon
828
788
  * @template T The type of the query object
829
789
  * @returns A reusable `isQuery` function
830
- *
831
- * @author Jeongho Nam - https://github.com/samchon
832
790
  */
833
791
  export function createIsQuery<T extends object>(): (
834
792
  input: string | IReadableURLSearchParams,
835
793
  ) => T | null;
836
794
 
837
- /**
838
- * @internal
839
- */
795
+ /** @internal */
840
796
  export function createIsQuery<T>(): (
841
797
  input: string | IReadableURLSearchParams,
842
798
  ) => T | null {
@@ -846,29 +802,25 @@ export function createIsQuery<T>(): (
846
802
  /**
847
803
  * Creates a reusable {@link validateQuery} function.
848
804
  *
849
- * @danger You must configure the generic argument `T`
850
- * @template T The type of the query object
851
- * @throws compile error
852
- *
853
805
  * @author Jeongho Nam - https://github.com/samchon
806
+ * @template T The type of the query object
807
+ * @throws Compile error
808
+ * @danger You must configure the generic argument `T`
854
809
  */
855
810
  export function createValidateQuery(): never;
856
811
 
857
812
  /**
858
813
  * Creates a reusable {@link validateQuery} function.
859
814
  *
815
+ * @author Jeongho Nam - https://github.com/samchon
860
816
  * @template T The type of the query object
861
817
  * @returns A reusable `validateQuery` function
862
- *
863
- * @author Jeongho Nam - https://github.com/samchon
864
818
  */
865
819
  export function createValidateQuery<T extends object>(): (
866
820
  input: string | IReadableURLSearchParams,
867
821
  ) => IValidation<Resolved<T>>;
868
822
 
869
- /**
870
- * @internal
871
- */
823
+ /** @internal */
872
824
  export function createValidateQuery<T>(): (
873
825
  input: string | IReadableURLSearchParams,
874
826
  ) => IValidation<Resolved<T>> {
@@ -878,29 +830,25 @@ export function createValidateQuery<T>(): (
878
830
  /**
879
831
  * Creates a reusable {@link headers} function.
880
832
  *
881
- * @danger You must configure the generic argument `T`
882
- * @template T The type of the headers object
883
- * @throws compile error
884
- *
885
833
  * @author Jeongho Nam - https://github.com/samchon
834
+ * @template T The type of the headers object
835
+ * @throws Compile error
836
+ * @danger You must configure the generic argument `T`
886
837
  */
887
838
  export function createHeaders(): never;
888
839
 
889
840
  /**
890
841
  * Creates a reusable {@link headers} function.
891
842
  *
843
+ * @author Jeongho Nam - https://github.com/samchon
892
844
  * @template T The type of the headers object
893
845
  * @returns A reusable `headers` function
894
- *
895
- * @author Jeongho Nam - https://github.com/samchon
896
846
  */
897
847
  export function createHeaders<T extends object>(): (
898
848
  input: Record<string, string | string[] | undefined>,
899
849
  ) => T;
900
850
 
901
- /**
902
- * @internal
903
- */
851
+ /** @internal */
904
852
  export function createHeaders<T>(): (
905
853
  input: Record<string, string | string[] | undefined>,
906
854
  ) => T {
@@ -910,12 +858,11 @@ export function createHeaders<T>(): (
910
858
  /**
911
859
  * Creates a reusable {@link assertHeaders} function.
912
860
  *
913
- * @danger You must configure the generic argument `T`
861
+ * @author Jeongho Nam - https://github.com/samchon
914
862
  * @template T The type of the headers object
915
863
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
916
- * @throws compile error
917
- *
918
- * @author Jeongho Nam - https://github.com/samchon
864
+ * @throws Compile error
865
+ * @danger You must configure the generic argument `T`
919
866
  */
920
867
  export function createAssertHeaders(
921
868
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
@@ -924,19 +871,16 @@ export function createAssertHeaders(
924
871
  /**
925
872
  * Creates a reusable {@link assertHeaders} function.
926
873
  *
874
+ * @author Jeongho Nam - https://github.com/samchon
927
875
  * @template T The type of the headers object
928
876
  * @param errorFactory Custom error factory. Default is `TypeGuardError`
929
877
  * @returns A reusable `assertHeaders` function
930
- *
931
- * @author Jeongho Nam - https://github.com/samchon
932
878
  */
933
879
  export function createAssertHeaders<T extends object>(
934
880
  errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
935
881
  ): (input: Record<string, string | string[] | undefined>) => T;
936
882
 
937
- /**
938
- * @internal
939
- */
883
+ /** @internal */
940
884
  export function createAssertHeaders<T>(): (
941
885
  input: Record<string, string | string[] | undefined>,
942
886
  ) => T {
@@ -946,29 +890,25 @@ export function createAssertHeaders<T>(): (
946
890
  /**
947
891
  * Creates a reusable {@link isHeaders} function.
948
892
  *
949
- * @danger You must configure the generic argument `T`
950
- * @template T The type of the headers object
951
- * @throws compile error
952
- *
953
893
  * @author Jeongho Nam - https://github.com/samchon
894
+ * @template T The type of the headers object
895
+ * @throws Compile error
896
+ * @danger You must configure the generic argument `T`
954
897
  */
955
898
  export function createIsHeaders(): never;
956
899
 
957
900
  /**
958
901
  * Creates a reusable {@link isHeaders} function.
959
902
  *
903
+ * @author Jeongho Nam - https://github.com/samchon
960
904
  * @template T The type of the headers object
961
905
  * @returns A reusable `isHeaders` function
962
- *
963
- * @author Jeongho Nam - https://github.com/samchon
964
906
  */
965
907
  export function createIsHeaders<T extends object>(): (
966
908
  input: Record<string, string | string[] | undefined>,
967
909
  ) => T | null;
968
910
 
969
- /**
970
- * @internal
971
- */
911
+ /** @internal */
972
912
  export function createIsHeaders<T>(): (
973
913
  input: Record<string, string | string[] | undefined>,
974
914
  ) => T | null {
@@ -978,29 +918,25 @@ export function createIsHeaders<T>(): (
978
918
  /**
979
919
  * Creates a reusable {@link validateHeaders} function.
980
920
  *
981
- * @danger You must configure the generic argument `T`
982
- * @template T The type of the headers object
983
- * @throws compile error
984
- *
985
921
  * @author Jeongho Nam - https://github.com/samchon
922
+ * @template T The type of the headers object
923
+ * @throws Compile error
924
+ * @danger You must configure the generic argument `T`
986
925
  */
987
926
  export function createValidateHeaders(): never;
988
927
 
989
928
  /**
990
929
  * Creates a reusable {@link validateHeaders} function.
991
930
  *
931
+ * @author Jeongho Nam - https://github.com/samchon
992
932
  * @template T The type of the headers object
993
933
  * @returns A reusable `validateHeaders` function
994
- *
995
- * @author Jeongho Nam - https://github.com/samchon
996
934
  */
997
935
  export function createValidateHeaders<T extends object>(): (
998
936
  input: Record<string, string | string[] | undefined>,
999
937
  ) => IValidation<Resolved<T>>;
1000
938
 
1001
- /**
1002
- * @internal
1003
- */
939
+ /** @internal */
1004
940
  export function createValidateHeaders<T>(): (
1005
941
  input: Record<string, string | string[] | undefined>,
1006
942
  ) => IValidation<Resolved<T>> {
@@ -1010,29 +946,25 @@ export function createValidateHeaders<T>(): (
1010
946
  /**
1011
947
  * Creates a reusable {@link parameter} function.
1012
948
  *
1013
- * @danger You must configure the generic argument `T`
1014
- * @template T The type of the parameter value
1015
- * @throws compile error
1016
- *
1017
949
  * @author Jeongho Nam - https://github.com/samchon
950
+ * @template T The type of the parameter value
951
+ * @throws Compile error
952
+ * @danger You must configure the generic argument `T`
1018
953
  */
1019
954
  export function createParameter(): never;
1020
955
 
1021
956
  /**
1022
957
  * Creates a reusable {@link parameter} function.
1023
958
  *
959
+ * @author Jeongho Nam - https://github.com/samchon
1024
960
  * @template T The type of the parameter value
1025
961
  * @returns A reusable `parameter` function
1026
- *
1027
- * @author Jeongho Nam - https://github.com/samchon
1028
962
  */
1029
963
  export function createParameter<T extends Atomic.Type | null>(): (
1030
964
  input: string,
1031
965
  ) => T;
1032
966
 
1033
- /**
1034
- * @internal
1035
- */
967
+ /** @internal */
1036
968
  export function createParameter<T extends Atomic.Type | null>(): (
1037
969
  input: string,
1038
970
  ) => T {