typia 8.0.3 → 8.1.0

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 (501) hide show
  1. package/lib/AssertionGuard.d.mts +1 -0
  2. package/lib/CamelCase.d.mts +26 -0
  3. package/lib/IRandomGenerator.d.mts +40 -0
  4. package/lib/IReadableURLSearchParams.d.mts +9 -0
  5. package/lib/IValidation.d.mts +1 -0
  6. package/lib/PascalCase.d.mts +25 -0
  7. package/lib/Primitive.d.mts +49 -0
  8. package/lib/Resolved.d.mts +39 -0
  9. package/lib/SnakeCase.d.mts +31 -0
  10. package/lib/TypeGuardError.d.mts +17 -0
  11. package/lib/executable/TypiaGenerateWizard.d.mts +8 -0
  12. package/lib/executable/TypiaPatchWizard.d.mts +4 -0
  13. package/lib/executable/TypiaSetupWizard.d.mts +7 -0
  14. package/lib/executable/setup/ArgumentParser.d.mts +7 -0
  15. package/lib/executable/setup/CommandExecutor.d.mts +3 -0
  16. package/lib/executable/setup/FileRetriever.d.mts +7 -0
  17. package/lib/executable/setup/PackageManager.d.mts +24 -0
  18. package/lib/executable/setup/PluginConfigurator.d.mts +4 -0
  19. package/lib/executable/typia.d.mts +4 -0
  20. package/lib/factories/CommentFactory.d.mts +5 -0
  21. package/lib/factories/ExpressionFactory.d.mts +29 -0
  22. package/lib/factories/IdentifierFactory.d.mts +8 -0
  23. package/lib/factories/JsonMetadataFactory.d.mts +19 -0
  24. package/lib/factories/LiteralFactory.d.mts +4 -0
  25. package/lib/factories/MetadataCollection.d.mts +40 -0
  26. package/lib/factories/MetadataCommentTagFactory.d.mts +1 -0
  27. package/lib/factories/MetadataFactory.d.mts +48 -0
  28. package/lib/factories/MetadataTypeTagFactory.d.mts +20 -0
  29. package/lib/factories/MetadataTypeTagSchemaFactory.d.mts +7 -0
  30. package/lib/factories/NumericRangeFactory.d.mts +6 -0
  31. package/lib/factories/ProtobufFactory.d.mts +13 -0
  32. package/lib/factories/StatementFactory.d.mts +19 -0
  33. package/lib/factories/TemplateFactory.d.mts +4 -0
  34. package/lib/factories/TypeFactory.d.mts +16 -0
  35. package/lib/factories/ValueFactory.d.mts +8 -0
  36. package/lib/factories/internal/metadata/IMetadataIteratorProps.d.mts +14 -0
  37. package/lib/factories/internal/metadata/MetadataHelper.d.mts +4 -0
  38. package/lib/factories/internal/metadata/emend_metadata_atomics.d.mts +2 -0
  39. package/lib/factories/internal/metadata/emplace_metadata_alias.d.mts +3 -0
  40. package/lib/factories/internal/metadata/emplace_metadata_array_type.d.mts +8 -0
  41. package/lib/factories/internal/metadata/emplace_metadata_object.d.mts +3 -0
  42. package/lib/factories/internal/metadata/emplace_metadata_tuple.d.mts +4 -0
  43. package/lib/factories/internal/metadata/explore_metadata.d.mts +8 -0
  44. package/lib/factories/internal/metadata/iterate_metadata.d.mts +2 -0
  45. package/lib/factories/internal/metadata/iterate_metadata_alias.d.mts +2 -0
  46. package/lib/factories/internal/metadata/iterate_metadata_array.d.mts +2 -0
  47. package/lib/factories/internal/metadata/iterate_metadata_atomic.d.mts +6 -0
  48. package/lib/factories/internal/metadata/iterate_metadata_coalesce.d.mts +6 -0
  49. package/lib/factories/internal/metadata/iterate_metadata_collection.d.mts +6 -0
  50. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.d.mts +6 -0
  51. package/lib/factories/internal/metadata/iterate_metadata_constant.d.mts +2 -0
  52. package/lib/factories/internal/metadata/iterate_metadata_escape.d.mts +2 -0
  53. package/lib/factories/internal/metadata/iterate_metadata_function.d.mts +2 -0
  54. package/lib/factories/internal/metadata/iterate_metadata_intersection.d.mts +2 -0
  55. package/lib/factories/internal/metadata/iterate_metadata_map.d.mts +2 -0
  56. package/lib/factories/internal/metadata/iterate_metadata_native.d.mts +2 -0
  57. package/lib/factories/internal/metadata/iterate_metadata_object.d.mts +2 -0
  58. package/lib/factories/internal/metadata/iterate_metadata_set.d.mts +2 -0
  59. package/lib/factories/internal/metadata/iterate_metadata_sort.d.mts +6 -0
  60. package/lib/factories/internal/metadata/iterate_metadata_template.d.mts +2 -0
  61. package/lib/factories/internal/metadata/iterate_metadata_tuple.d.mts +3 -0
  62. package/lib/factories/internal/metadata/iterate_metadata_union.d.mts +2 -0
  63. package/lib/functional.d.mts +490 -0
  64. package/lib/http.d.mts +717 -0
  65. package/lib/index.d.mts +3 -0
  66. package/lib/internal/_IProtobufWriter.d.mts +15 -0
  67. package/lib/internal/_ProtobufReader.d.mts +35 -0
  68. package/lib/internal/_ProtobufSizer.d.mts +36 -0
  69. package/lib/internal/_ProtobufWriter.d.mts +45 -0
  70. package/lib/internal/_accessExpressionAsString.d.mts +1 -0
  71. package/lib/internal/_assertGuard.d.mts +2 -0
  72. package/lib/internal/_functionalTypeGuardErrorFactory.d.mts +2 -0
  73. package/lib/internal/_httpFormDataReadArray.d.mts +1 -0
  74. package/lib/internal/_httpFormDataReadBigint.d.mts +1 -0
  75. package/lib/internal/_httpFormDataReadBlob.d.mts +1 -0
  76. package/lib/internal/_httpFormDataReadBoolean.d.mts +1 -0
  77. package/lib/internal/_httpFormDataReadFile.d.mts +1 -0
  78. package/lib/internal/_httpFormDataReadNumber.d.mts +1 -0
  79. package/lib/internal/_httpFormDataReadString.d.mts +1 -0
  80. package/lib/internal/_httpHeaderReadBigint.d.mts +1 -0
  81. package/lib/internal/_httpHeaderReadBoolean.d.mts +1 -0
  82. package/lib/internal/_httpHeaderReadNumber.d.mts +1 -0
  83. package/lib/internal/_httpParameterReadBigint.d.mts +1 -0
  84. package/lib/internal/_httpParameterReadBoolean.d.mts +1 -0
  85. package/lib/internal/_httpParameterReadNumber.d.mts +1 -0
  86. package/lib/internal/_httpParameterReadString.d.mts +1 -0
  87. package/lib/internal/_httpQueryParseURLSearchParams.d.mts +2 -0
  88. package/lib/internal/_httpQueryReadArray.d.mts +1 -0
  89. package/lib/internal/_httpQueryReadBigint.d.mts +1 -0
  90. package/lib/internal/_httpQueryReadBoolean.d.mts +1 -0
  91. package/lib/internal/_httpQueryReadNumber.d.mts +1 -0
  92. package/lib/internal/_httpQueryReadString.d.mts +1 -0
  93. package/lib/internal/_isBetween.d.mts +1 -0
  94. package/lib/internal/_isBigintString.d.mts +1 -0
  95. package/lib/internal/_isFormatByte.d.mts +1 -0
  96. package/lib/internal/_isFormatDate.d.mts +1 -0
  97. package/lib/internal/_isFormatDateTime.d.mts +1 -0
  98. package/lib/internal/_isFormatDuration.d.mts +1 -0
  99. package/lib/internal/_isFormatEmail.d.mts +1 -0
  100. package/lib/internal/_isFormatHostname.d.mts +1 -0
  101. package/lib/internal/_isFormatIdnEmail.d.mts +1 -0
  102. package/lib/internal/_isFormatIdnHostname.d.mts +1 -0
  103. package/lib/internal/_isFormatIpv4.d.mts +1 -0
  104. package/lib/internal/_isFormatIpv6.d.mts +1 -0
  105. package/lib/internal/_isFormatIri.d.mts +1 -0
  106. package/lib/internal/_isFormatIriReference.d.mts +1 -0
  107. package/lib/internal/_isFormatJsonPointer.d.mts +1 -0
  108. package/lib/internal/_isFormatPassword.d.mts +1 -0
  109. package/lib/internal/_isFormatRegex.d.mts +1 -0
  110. package/lib/internal/_isFormatRelativeJsonPointer.d.mts +1 -0
  111. package/lib/internal/_isFormatTime.d.mts +1 -0
  112. package/lib/internal/_isFormatUri.d.mts +1 -0
  113. package/lib/internal/_isFormatUriReference.d.mts +1 -0
  114. package/lib/internal/_isFormatUriTemplate.d.mts +1 -0
  115. package/lib/internal/_isFormatUrl.d.mts +1 -0
  116. package/lib/internal/_isFormatUuid.d.mts +1 -0
  117. package/lib/internal/_isTypeFloat.d.mts +1 -0
  118. package/lib/internal/_isTypeInt32.d.mts +1 -0
  119. package/lib/internal/_isTypeInt64.d.mts +1 -0
  120. package/lib/internal/_isTypeUint32.d.mts +1 -0
  121. package/lib/internal/_isTypeUint64.d.mts +1 -0
  122. package/lib/internal/_isUniqueItems.d.mts +1 -0
  123. package/lib/internal/_jsonStringifyNumber.d.mts +1 -0
  124. package/lib/internal/_jsonStringifyRest.d.mts +1 -0
  125. package/lib/internal/_jsonStringifyString.d.mts +13 -0
  126. package/lib/internal/_jsonStringifyTail.d.mts +1 -0
  127. package/lib/internal/_llmApplicationFinalize.d.mts +2 -0
  128. package/lib/internal/_miscCloneAny.d.mts +2 -0
  129. package/lib/internal/_notationAny.d.mts +1 -0
  130. package/lib/internal/_notationCamel.d.mts +1 -0
  131. package/lib/internal/_notationPascal.d.mts +1 -0
  132. package/lib/internal/_notationSnake.d.mts +1 -0
  133. package/lib/internal/_randomArray.d.mts +4 -0
  134. package/lib/internal/_randomBigint.d.mts +2 -0
  135. package/lib/internal/_randomBoolean.d.mts +1 -0
  136. package/lib/internal/_randomFormatByte.d.mts +1 -0
  137. package/lib/internal/_randomFormatDate.d.mts +4 -0
  138. package/lib/internal/_randomFormatDatetime.d.mts +4 -0
  139. package/lib/internal/_randomFormatDuration.d.mts +1 -0
  140. package/lib/internal/_randomFormatEmail.d.mts +1 -0
  141. package/lib/internal/_randomFormatHostname.d.mts +1 -0
  142. package/lib/internal/_randomFormatIdnEmail.d.mts +1 -0
  143. package/lib/internal/_randomFormatIdnHostname.d.mts +1 -0
  144. package/lib/internal/_randomFormatIpv4.d.mts +1 -0
  145. package/lib/internal/_randomFormatIpv6.d.mts +1 -0
  146. package/lib/internal/_randomFormatIri.d.mts +1 -0
  147. package/lib/internal/_randomFormatIriReference.d.mts +1 -0
  148. package/lib/internal/_randomFormatJsonPointer.d.mts +1 -0
  149. package/lib/internal/_randomFormatPassword.d.mts +1 -0
  150. package/lib/internal/_randomFormatRegex.d.mts +1 -0
  151. package/lib/internal/_randomFormatRelativeJsonPointer.d.mts +1 -0
  152. package/lib/internal/_randomFormatTime.d.mts +1 -0
  153. package/lib/internal/_randomFormatUri.d.mts +1 -0
  154. package/lib/internal/_randomFormatUriReference.d.mts +1 -0
  155. package/lib/internal/_randomFormatUriTemplate.d.mts +1 -0
  156. package/lib/internal/_randomFormatUrl.d.mts +1 -0
  157. package/lib/internal/_randomFormatUuid.d.mts +1 -0
  158. package/lib/internal/_randomInteger.d.mts +2 -0
  159. package/lib/internal/_randomNumber.d.mts +2 -0
  160. package/lib/internal/_randomPattern.d.mts +1 -0
  161. package/lib/internal/_randomPick.d.mts +1 -0
  162. package/lib/internal/_randomString.d.mts +2 -0
  163. package/lib/internal/_throwTypeGuardError.d.mts +2 -0
  164. package/lib/internal/_validateReport.d.mts +2 -0
  165. package/lib/internal/private/__notationCapitalize.d.mts +1 -0
  166. package/lib/internal/private/__notationUnsnake.d.mts +4 -0
  167. package/lib/json.d.mts +480 -0
  168. package/lib/llm.d.mts +322 -0
  169. package/lib/misc.d.mts +453 -0
  170. package/lib/module.d.mts +707 -0
  171. package/lib/notations.d.mts +551 -0
  172. package/lib/programmers/AssertProgrammer.d.mts +31 -0
  173. package/lib/programmers/CheckerProgrammer.d.mts +125 -0
  174. package/lib/programmers/FeatureProgrammer.d.mts +249 -0
  175. package/lib/programmers/ImportProgrammer.d.mts +35 -0
  176. package/lib/programmers/IsProgrammer.d.mts +65 -0
  177. package/lib/programmers/RandomProgrammer.d.mts +22 -0
  178. package/lib/programmers/TypiaProgrammer.d.mts +8 -0
  179. package/lib/programmers/ValidateProgrammer.d.mts +22 -0
  180. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.d.mts +28 -0
  181. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.d.mts +28 -0
  182. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.d.mts +30 -0
  183. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.d.mts +20 -0
  184. package/lib/programmers/functional/FunctionalIsParametersProgrammer.d.mts +27 -0
  185. package/lib/programmers/functional/FunctionalIsReturnProgrammer.d.mts +29 -0
  186. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.d.mts +25 -0
  187. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.d.mts +27 -0
  188. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.d.mts +29 -0
  189. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.d.mts +12 -0
  190. package/lib/programmers/helpers/AtomicPredicator.d.mts +14 -0
  191. package/lib/programmers/helpers/CloneJoiner.d.mts +16 -0
  192. package/lib/programmers/helpers/FunctionProgrammer.d.mts +16 -0
  193. package/lib/programmers/helpers/HttpMetadataUtil.d.mts +5 -0
  194. package/lib/programmers/helpers/ICheckEntry.d.mts +12 -0
  195. package/lib/programmers/helpers/IExpressionEntry.d.mts +8 -0
  196. package/lib/programmers/helpers/NotationJoiner.d.mts +17 -0
  197. package/lib/programmers/helpers/OptionPredicator.d.mts +7 -0
  198. package/lib/programmers/helpers/ProtobufUtil.d.mts +14 -0
  199. package/lib/programmers/helpers/ProtobufWire.d.mts +29 -0
  200. package/lib/programmers/helpers/PruneJoiner.d.mts +18 -0
  201. package/lib/programmers/helpers/RandomJoiner.d.mts +23 -0
  202. package/lib/programmers/helpers/StringifyJoinder.d.mts +17 -0
  203. package/lib/programmers/helpers/StringifyPredicator.d.mts +5 -0
  204. package/lib/programmers/helpers/UnionExplorer.d.mts +79 -0
  205. package/lib/programmers/helpers/UnionPredicator.d.mts +11 -0
  206. package/lib/programmers/helpers/disable_function_programmer_declare.d.mts +2 -0
  207. package/lib/programmers/http/HttpAssertFormDataProgrammer.d.mts +15 -0
  208. package/lib/programmers/http/HttpAssertHeadersProgrammer.d.mts +15 -0
  209. package/lib/programmers/http/HttpAssertQueryProgrammer.d.mts +19 -0
  210. package/lib/programmers/http/HttpFormDataProgrammer.d.mts +17 -0
  211. package/lib/programmers/http/HttpHeadersProgrammer.d.mts +18 -0
  212. package/lib/programmers/http/HttpIsFormDataProgrammer.d.mts +14 -0
  213. package/lib/programmers/http/HttpIsHeadersProgrammer.d.mts +14 -0
  214. package/lib/programmers/http/HttpIsQueryProgrammer.d.mts +18 -0
  215. package/lib/programmers/http/HttpParameterProgrammer.d.mts +7 -0
  216. package/lib/programmers/http/HttpQueryProgrammer.d.mts +21 -0
  217. package/lib/programmers/http/HttpValidateFormDataProgrammer.d.mts +15 -0
  218. package/lib/programmers/http/HttpValidateHeadersProgrammer.d.mts +15 -0
  219. package/lib/programmers/http/HttpValidateQueryProgrammer.d.mts +19 -0
  220. package/lib/programmers/internal/check_array_length.d.mts +1 -0
  221. package/lib/programmers/internal/check_bigint.d.mts +1 -0
  222. package/lib/programmers/internal/check_dynamic_key.d.mts +1 -0
  223. package/lib/programmers/internal/check_dynamic_properties.d.mts +1 -0
  224. package/lib/programmers/internal/check_everything.d.mts +1 -0
  225. package/lib/programmers/internal/check_native.d.mts +1 -0
  226. package/lib/programmers/internal/check_number.d.mts +1 -0
  227. package/lib/programmers/internal/check_object.d.mts +1 -0
  228. package/lib/programmers/internal/check_string.d.mts +1 -0
  229. package/lib/programmers/internal/check_template.d.mts +1 -0
  230. package/lib/programmers/internal/check_union_array_like.d.mts +1 -0
  231. package/lib/programmers/internal/decode_union_object.d.mts +1 -0
  232. package/lib/programmers/internal/feature_object_entries.d.mts +1 -0
  233. package/lib/programmers/internal/json_schema_alias.d.mts +7 -0
  234. package/lib/programmers/internal/json_schema_array.d.mts +6 -0
  235. package/lib/programmers/internal/json_schema_bigint.d.mts +3 -0
  236. package/lib/programmers/internal/json_schema_boolean.d.mts +3 -0
  237. package/lib/programmers/internal/json_schema_constant.d.mts +3 -0
  238. package/lib/programmers/internal/json_schema_description.d.mts +5 -0
  239. package/lib/programmers/internal/json_schema_discriminator.d.mts +3 -0
  240. package/lib/programmers/internal/json_schema_escaped.d.mts +1 -0
  241. package/lib/programmers/internal/json_schema_native.d.mts +6 -0
  242. package/lib/programmers/internal/json_schema_number.d.mts +3 -0
  243. package/lib/programmers/internal/json_schema_object.d.mts +1 -0
  244. package/lib/programmers/internal/json_schema_plugin.d.mts +6 -0
  245. package/lib/programmers/internal/json_schema_station.d.mts +8 -0
  246. package/lib/programmers/internal/json_schema_string.d.mts +3 -0
  247. package/lib/programmers/internal/json_schema_template.d.mts +3 -0
  248. package/lib/programmers/internal/json_schema_title.d.mts +5 -0
  249. package/lib/programmers/internal/json_schema_tuple.d.mts +6 -0
  250. package/lib/programmers/internal/metadata_to_pattern.d.mts +1 -0
  251. package/lib/programmers/internal/postfix_of_tuple.d.mts +1 -0
  252. package/lib/programmers/internal/prune_object_properties.d.mts +1 -0
  253. package/lib/programmers/internal/stringify_dynamic_properties.d.mts +1 -0
  254. package/lib/programmers/internal/stringify_native.d.mts +1 -0
  255. package/lib/programmers/internal/stringify_regular_properties.d.mts +1 -0
  256. package/lib/programmers/internal/template_to_pattern.d.mts +1 -0
  257. package/lib/programmers/internal/wrap_metadata_rest_tuple.d.mts +1 -0
  258. package/lib/programmers/json/JsonApplicationProgrammer.d.mts +24 -0
  259. package/lib/programmers/json/JsonAssertParseProgrammer.d.mts +15 -0
  260. package/lib/programmers/json/JsonAssertStringifyProgrammer.d.mts +15 -0
  261. package/lib/programmers/json/JsonIsParseProgrammer.d.mts +14 -0
  262. package/lib/programmers/json/JsonIsStringifyProgrammer.d.mts +14 -0
  263. package/lib/programmers/json/JsonSchemasProgrammer.d.mts +9 -0
  264. package/lib/programmers/json/JsonStringifyProgrammer.d.mts +15 -0
  265. package/lib/programmers/json/JsonValidateParseProgrammer.d.mts +15 -0
  266. package/lib/programmers/json/JsonValidateStringifyProgrammer.d.mts +15 -0
  267. package/lib/programmers/llm/LlmApplicationProgrammer.d.mts +19 -0
  268. package/lib/programmers/llm/LlmModelPredicator.d.mts +16 -0
  269. package/lib/programmers/llm/LlmParametersProgrammer.d.mts +14 -0
  270. package/lib/programmers/llm/LlmSchemaProgrammer.d.mts +18 -0
  271. package/lib/programmers/misc/MiscAssertCloneProgrammer.d.mts +15 -0
  272. package/lib/programmers/misc/MiscAssertPruneProgrammer.d.mts +15 -0
  273. package/lib/programmers/misc/MiscCloneProgrammer.d.mts +15 -0
  274. package/lib/programmers/misc/MiscIsCloneProgrammer.d.mts +14 -0
  275. package/lib/programmers/misc/MiscIsPruneProgrammer.d.mts +14 -0
  276. package/lib/programmers/misc/MiscLiteralsProgrammer.d.mts +9 -0
  277. package/lib/programmers/misc/MiscPruneProgrammer.d.mts +15 -0
  278. package/lib/programmers/misc/MiscValidateCloneProgrammer.d.mts +15 -0
  279. package/lib/programmers/misc/MiscValidatePruneProgrammer.d.mts +15 -0
  280. package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.mts +19 -0
  281. package/lib/programmers/notations/NotationGeneralProgrammer.d.mts +24 -0
  282. package/lib/programmers/notations/NotationIsGeneralProgrammer.d.mts +18 -0
  283. package/lib/programmers/notations/NotationValidateGeneralProgrammer.d.mts +19 -0
  284. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.d.mts +16 -0
  285. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.d.mts +16 -0
  286. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.d.mts +15 -0
  287. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.d.mts +15 -0
  288. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.d.mts +15 -0
  289. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.d.mts +15 -0
  290. package/lib/programmers/protobuf/ProtobufMessageProgrammer.d.mts +9 -0
  291. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.d.mts +15 -0
  292. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.d.mts +15 -0
  293. package/lib/protobuf.d.mts +661 -0
  294. package/lib/reflect.d.mts +35 -0
  295. package/lib/schemas/json/IJsonApplication.d.mts +12 -0
  296. package/lib/schemas/json/IJsonSchemaCollection.d.mts +23 -0
  297. package/lib/schemas/json/__IJsonApplication.d.mts +35 -0
  298. package/lib/schemas/llm/ILlmApplicationOfValidate.d.mts +5 -0
  299. package/lib/schemas/llm/ILlmFunctionOfValidate.d.mts +5 -0
  300. package/lib/schemas/metadata/IJsDocTagInfo.d.mts +10 -0
  301. package/lib/schemas/metadata/IMetadata.d.mts +31 -0
  302. package/lib/schemas/metadata/IMetadataAlias.d.mts +5 -0
  303. package/lib/schemas/metadata/IMetadataAliasType.d.mts +10 -0
  304. package/lib/schemas/metadata/IMetadataApplication.d.mts +6 -0
  305. package/lib/schemas/metadata/IMetadataArray.d.mts +5 -0
  306. package/lib/schemas/metadata/IMetadataArrayType.d.mts +8 -0
  307. package/lib/schemas/metadata/IMetadataAtomic.d.mts +5 -0
  308. package/lib/schemas/metadata/IMetadataComponents.d.mts +10 -0
  309. package/lib/schemas/metadata/IMetadataConstant.d.mts +9 -0
  310. package/lib/schemas/metadata/IMetadataConstantValue.d.mts +9 -0
  311. package/lib/schemas/metadata/IMetadataDictionary.d.mts +10 -0
  312. package/lib/schemas/metadata/IMetadataEscaped.d.mts +5 -0
  313. package/lib/schemas/metadata/IMetadataFunction.d.mts +7 -0
  314. package/lib/schemas/metadata/IMetadataMap.d.mts +7 -0
  315. package/lib/schemas/metadata/IMetadataNative.d.mts +5 -0
  316. package/lib/schemas/metadata/IMetadataObject.d.mts +5 -0
  317. package/lib/schemas/metadata/IMetadataObjectType.d.mts +11 -0
  318. package/lib/schemas/metadata/IMetadataParameter.d.mts +8 -0
  319. package/lib/schemas/metadata/IMetadataProperty.d.mts +8 -0
  320. package/lib/schemas/metadata/IMetadataSet.d.mts +6 -0
  321. package/lib/schemas/metadata/IMetadataTemplate.d.mts +6 -0
  322. package/lib/schemas/metadata/IMetadataTuple.d.mts +5 -0
  323. package/lib/schemas/metadata/IMetadataTupleType.d.mts +8 -0
  324. package/lib/schemas/metadata/IMetadataTypeTag.d.mts +9 -0
  325. package/lib/schemas/metadata/Metadata.d.mts +50 -0
  326. package/lib/schemas/metadata/MetadataAlias.d.mts +13 -0
  327. package/lib/schemas/metadata/MetadataAliasType.d.mts +16 -0
  328. package/lib/schemas/metadata/MetadataApplication.d.mts +13 -0
  329. package/lib/schemas/metadata/MetadataArray.d.mts +16 -0
  330. package/lib/schemas/metadata/MetadataArrayType.d.mts +14 -0
  331. package/lib/schemas/metadata/MetadataAtomic.d.mts +12 -0
  332. package/lib/schemas/metadata/MetadataComponents.d.mts +16 -0
  333. package/lib/schemas/metadata/MetadataConstant.d.mts +11 -0
  334. package/lib/schemas/metadata/MetadataConstantValue.d.mts +16 -0
  335. package/lib/schemas/metadata/MetadataEscaped.d.mts +12 -0
  336. package/lib/schemas/metadata/MetadataFunction.d.mts +15 -0
  337. package/lib/schemas/metadata/MetadataMap.d.mts +14 -0
  338. package/lib/schemas/metadata/MetadataNative.d.mts +12 -0
  339. package/lib/schemas/metadata/MetadataObject.d.mts +16 -0
  340. package/lib/schemas/metadata/MetadataObjectType.d.mts +20 -0
  341. package/lib/schemas/metadata/MetadataParameter.d.mts +15 -0
  342. package/lib/schemas/metadata/MetadataProperty.d.mts +16 -0
  343. package/lib/schemas/metadata/MetadataSet.d.mts +13 -0
  344. package/lib/schemas/metadata/MetadataTemplate.d.mts +15 -0
  345. package/lib/schemas/metadata/MetadataTuple.d.mts +12 -0
  346. package/lib/schemas/metadata/MetadataTupleType.d.mts +13 -0
  347. package/lib/schemas/protobuf/IProtobufProperty.d.mts +5 -0
  348. package/lib/schemas/protobuf/IProtobufPropertyType.d.mts +28 -0
  349. package/lib/schemas/protobuf/IProtobufSchema.d.mts +38 -0
  350. package/lib/tags/Constant.d.mts +10 -0
  351. package/lib/tags/ContentMediaType.d.mts +9 -0
  352. package/lib/tags/Default.d.mts +14 -0
  353. package/lib/tags/Example.d.mts +14 -0
  354. package/lib/tags/Examples.d.mts +10 -0
  355. package/lib/tags/ExclusiveMaximum.d.mts +18 -0
  356. package/lib/tags/ExclusiveMinimum.d.mts +18 -0
  357. package/lib/tags/Format.d.mts +17 -0
  358. package/lib/tags/JsonSchemaPlugin.d.mts +7 -0
  359. package/lib/tags/MaxItems.d.mts +11 -0
  360. package/lib/tags/MaxLength.d.mts +11 -0
  361. package/lib/tags/Maximum.d.mts +16 -0
  362. package/lib/tags/MinItems.d.mts +11 -0
  363. package/lib/tags/MinLength.d.mts +11 -0
  364. package/lib/tags/Minimum.d.mts +16 -0
  365. package/lib/tags/MultipleOf.d.mts +16 -0
  366. package/lib/tags/Pattern.d.mts +22 -0
  367. package/lib/tags/Sequence.d.mts +9 -0
  368. package/lib/tags/TagBase.d.mts +60 -0
  369. package/lib/tags/Type.d.mts +17 -0
  370. package/lib/tags/UniqueItems.d.mts +11 -0
  371. package/lib/tags/index.d.mts +21 -0
  372. package/lib/tags/internal/FormatCheatSheet.d.mts +27 -0
  373. package/lib/transform.d.mts +5 -0
  374. package/lib/transformers/CallExpressionTransformer.d.mts +8 -0
  375. package/lib/transformers/FileTransformer.d.mts +5 -0
  376. package/lib/transformers/IProgrammerProps.d.mts +9 -0
  377. package/lib/transformers/ITransformOptions.d.mts +59 -0
  378. package/lib/transformers/ITransformProps.d.mts +7 -0
  379. package/lib/transformers/ITypiaContext.d.mts +15 -0
  380. package/lib/transformers/ImportTransformer.d.mts +7 -0
  381. package/lib/transformers/NodeTransformer.d.mts +8 -0
  382. package/lib/transformers/TransformerError.d.mts +15 -0
  383. package/lib/transformers/features/AssertTransformer.d.mts +5 -0
  384. package/lib/transformers/features/CreateAssertTransformer.d.mts +5 -0
  385. package/lib/transformers/features/CreateIsTransformer.d.mts +5 -0
  386. package/lib/transformers/features/CreateRandomTransformer.d.mts +5 -0
  387. package/lib/transformers/features/CreateValidateTransformer.d.mts +5 -0
  388. package/lib/transformers/features/IsTransformer.d.mts +5 -0
  389. package/lib/transformers/features/RandomTransformer.d.mts +5 -0
  390. package/lib/transformers/features/ValidateTransformer.d.mts +5 -0
  391. package/lib/transformers/features/functional/FunctionalGenericTransformer.d.mts +21 -0
  392. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.d.mts +4 -0
  393. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.d.mts +4 -0
  394. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.d.mts +4 -0
  395. package/lib/transformers/features/http/CreateHttpFormDataTransformer.d.mts +4 -0
  396. package/lib/transformers/features/http/CreateHttpHeadersTransformer.d.mts +4 -0
  397. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.d.mts +4 -0
  398. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.d.mts +4 -0
  399. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.d.mts +4 -0
  400. package/lib/transformers/features/http/CreateHttpParameterTransformer.d.mts +4 -0
  401. package/lib/transformers/features/http/CreateHttpQueryTransformer.d.mts +4 -0
  402. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.d.mts +4 -0
  403. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.d.mts +4 -0
  404. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.d.mts +4 -0
  405. package/lib/transformers/features/http/HttpAssertFormDataTransformer.d.mts +4 -0
  406. package/lib/transformers/features/http/HttpAssertHeadersTransformer.d.mts +4 -0
  407. package/lib/transformers/features/http/HttpAssertQueryTransformer.d.mts +4 -0
  408. package/lib/transformers/features/http/HttpFormDataTransformer.d.mts +4 -0
  409. package/lib/transformers/features/http/HttpHeadersTransformer.d.mts +4 -0
  410. package/lib/transformers/features/http/HttpIsFormDataTransformer.d.mts +4 -0
  411. package/lib/transformers/features/http/HttpIsHeadersTransformer.d.mts +4 -0
  412. package/lib/transformers/features/http/HttpIsQueryTransformer.d.mts +4 -0
  413. package/lib/transformers/features/http/HttpParameterTransformer.d.mts +4 -0
  414. package/lib/transformers/features/http/HttpQueryTransformer.d.mts +4 -0
  415. package/lib/transformers/features/http/HttpValidateFormDataTransformer.d.mts +4 -0
  416. package/lib/transformers/features/http/HttpValidateHeadersTransformer.d.mts +4 -0
  417. package/lib/transformers/features/http/HttpValidateQueryTransformer.d.mts +4 -0
  418. package/lib/transformers/features/json/JsonAssertParseTransformer.d.mts +4 -0
  419. package/lib/transformers/features/json/JsonAssertStringifyTransformer.d.mts +4 -0
  420. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.d.mts +4 -0
  421. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.d.mts +4 -0
  422. package/lib/transformers/features/json/JsonCreateIsParseTransformer.d.mts +4 -0
  423. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.d.mts +4 -0
  424. package/lib/transformers/features/json/JsonCreateStringifyTransformer.d.mts +4 -0
  425. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.d.mts +4 -0
  426. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.d.mts +4 -0
  427. package/lib/transformers/features/json/JsonIsParseTransformer.d.mts +4 -0
  428. package/lib/transformers/features/json/JsonIsStringifyTransformer.d.mts +4 -0
  429. package/lib/transformers/features/json/JsonSchemasTransformer.d.mts +5 -0
  430. package/lib/transformers/features/json/JsonStringifyTransformer.d.mts +4 -0
  431. package/lib/transformers/features/json/JsonValidateParseTransformer.d.mts +4 -0
  432. package/lib/transformers/features/json/JsonValidateStringifyTransformer.d.mts +4 -0
  433. package/lib/transformers/features/llm/LlmApplicationTransformer.d.mts +5 -0
  434. package/lib/transformers/features/llm/LlmParametersTransformer.d.mts +5 -0
  435. package/lib/transformers/features/llm/LlmSchemaTransformer.d.mts +5 -0
  436. package/lib/transformers/features/misc/MiscAssertCloneTransformer.d.mts +4 -0
  437. package/lib/transformers/features/misc/MiscAssertPruneTransformer.d.mts +4 -0
  438. package/lib/transformers/features/misc/MiscCloneTransformer.d.mts +4 -0
  439. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.d.mts +4 -0
  440. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.d.mts +4 -0
  441. package/lib/transformers/features/misc/MiscCreateCloneTransformer.d.mts +4 -0
  442. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.d.mts +4 -0
  443. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.d.mts +4 -0
  444. package/lib/transformers/features/misc/MiscCreatePruneTransformer.d.mts +4 -0
  445. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.d.mts +4 -0
  446. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.d.mts +4 -0
  447. package/lib/transformers/features/misc/MiscIsCloneTransformer.d.mts +4 -0
  448. package/lib/transformers/features/misc/MiscIsPruneTransformer.d.mts +4 -0
  449. package/lib/transformers/features/misc/MiscLiteralsTransformer.d.mts +5 -0
  450. package/lib/transformers/features/misc/MiscPruneTransformer.d.mts +4 -0
  451. package/lib/transformers/features/misc/MiscValidateCloneTransformer.d.mts +4 -0
  452. package/lib/transformers/features/misc/MiscValidatePruneTransformer.d.mts +4 -0
  453. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.d.mts +4 -0
  454. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.d.mts +4 -0
  455. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.d.mts +4 -0
  456. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.d.mts +4 -0
  457. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.d.mts +4 -0
  458. package/lib/transformers/features/notations/NotationGeneralTransformer.d.mts +4 -0
  459. package/lib/transformers/features/notations/NotationIsGeneralTransformer.d.mts +4 -0
  460. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.d.mts +4 -0
  461. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.d.mts +4 -0
  462. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.d.mts +4 -0
  463. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.d.mts +4 -0
  464. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.d.mts +4 -0
  465. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.d.mts +4 -0
  466. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.d.mts +4 -0
  467. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.d.mts +4 -0
  468. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.d.mts +4 -0
  469. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.d.mts +4 -0
  470. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.d.mts +4 -0
  471. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.d.mts +4 -0
  472. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.d.mts +4 -0
  473. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.d.mts +4 -0
  474. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.d.mts +4 -0
  475. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.d.mts +5 -0
  476. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.d.mts +4 -0
  477. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.d.mts +4 -0
  478. package/lib/transformers/features/reflect/ReflectMetadataTransformer.d.mts +5 -0
  479. package/lib/transformers/features/reflect/ReflectNameTransformer.d.mts +5 -0
  480. package/lib/transformers/internal/GenericTransformer.d.mts +11 -0
  481. package/lib/typings/Atomic.d.mts +11 -0
  482. package/lib/typings/ClassProperties.d.mts +4 -0
  483. package/lib/typings/Customizable.d.mts +5 -0
  484. package/lib/typings/Equal.d.mts +15 -0
  485. package/lib/typings/IsTuple.d.mts +5 -0
  486. package/lib/typings/NativeClass.d.mts +1 -0
  487. package/lib/typings/OmitNever.d.mts +2 -0
  488. package/lib/typings/ProtobufAtomic.d.mts +5 -0
  489. package/lib/typings/SpecialFields.d.mts +3 -0
  490. package/lib/typings/ValidationPipe.d.mts +7 -0
  491. package/lib/typings/ValueOf.d.mts +6 -0
  492. package/lib/typings/Writable.d.mts +5 -0
  493. package/lib/utils/ArrayUtil.d.mts +7 -0
  494. package/lib/utils/Escaper.d.mts +4 -0
  495. package/lib/utils/MapUtil.d.mts +3 -0
  496. package/lib/utils/NamingConvention.d.mts +5 -0
  497. package/lib/utils/PatternUtil.d.mts +7 -0
  498. package/lib/utils/ProtobufNameEncoder.d.mts +4 -0
  499. package/lib/utils/Singleton.d.mts +6 -0
  500. package/lib/utils/StringUtil.d.mts +8 -0
  501. package/package.json +4 -5
@@ -0,0 +1,2 @@
1
+ import { Metadata } from "../../../schemas/metadata/Metadata";
2
+ export declare const emend_metadata_atomics: (meta: Metadata) => void;
@@ -0,0 +1,3 @@
1
+ import { MetadataAliasType } from "../../../schemas/metadata/MetadataAliasType";
2
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
3
+ export declare const emplace_metadata_alias: (props: IMetadataIteratorProps) => MetadataAliasType;
@@ -0,0 +1,8 @@
1
+ import ts from "typescript";
2
+ import { MetadataArrayType } from "../../../schemas/metadata/MetadataArrayType";
3
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
4
+ interface IProps extends IMetadataIteratorProps {
5
+ array: ts.Type;
6
+ }
7
+ export declare const emplace_metadata_array_type: (props: IProps) => MetadataArrayType;
8
+ export {};
@@ -0,0 +1,3 @@
1
+ import { MetadataObjectType } from "../../../schemas/metadata/MetadataObjectType";
2
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
3
+ export declare const emplace_metadata_object: (props: IMetadataIteratorProps) => MetadataObjectType;
@@ -0,0 +1,4 @@
1
+ import ts from "typescript";
2
+ import { MetadataTupleType } from "../../../schemas/metadata/MetadataTupleType";
3
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
4
+ export declare const emplace_metadata_tuple: (props: IMetadataIteratorProps<ts.TupleType>) => MetadataTupleType;
@@ -0,0 +1,8 @@
1
+ import ts from "typescript";
2
+ import { Metadata } from "../../../schemas/metadata/Metadata";
3
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
4
+ export declare const explore_metadata: (props: Required<IProps>) => Metadata;
5
+ interface IProps extends Omit<IMetadataIteratorProps, "metadata" | "type"> {
6
+ type: ts.Type | null;
7
+ }
8
+ export {};
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata: (props: IMetadataIteratorProps) => void;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_alias: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_array: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,6 @@
1
+ import ts from "typescript";
2
+ import { Metadata } from "../../../schemas/metadata/Metadata";
3
+ export declare const iterate_metadata_atomic: (props: {
4
+ metadata: Metadata;
5
+ type: ts.Type;
6
+ }) => boolean;
@@ -0,0 +1,6 @@
1
+ import ts from "typescript";
2
+ import { Metadata } from "../../../schemas/metadata/Metadata";
3
+ export declare const iterate_metadata_coalesce: (props: {
4
+ metadata: Metadata;
5
+ type: ts.Type;
6
+ }) => boolean;
@@ -0,0 +1,6 @@
1
+ import { MetadataCollection } from "../../MetadataCollection";
2
+ import { MetadataFactory } from "../../MetadataFactory";
3
+ export declare const iterate_metadata_collection: (props: {
4
+ errors: MetadataFactory.IError[];
5
+ collection: MetadataCollection;
6
+ }) => void;
@@ -0,0 +1,6 @@
1
+ import { MetadataObjectType } from "../../../schemas/metadata/MetadataObjectType";
2
+ import { MetadataFactory } from "../../MetadataFactory";
3
+ export declare const iterate_metadata_comment_tags: (props: {
4
+ errors: MetadataFactory.IError[];
5
+ object: MetadataObjectType;
6
+ }) => void;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_constant: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_escape: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_function: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_intersection: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_map: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_native: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_object: (props: IMetadataIteratorProps, ensure?: boolean) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_set: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,6 @@
1
+ import { Metadata } from "../../../schemas/metadata/Metadata";
2
+ import { MetadataCollection } from "../../MetadataCollection";
3
+ export declare const iterate_metadata_sort: (props: {
4
+ collection: MetadataCollection;
5
+ metadata: Metadata;
6
+ }) => void;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_template: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,3 @@
1
+ import ts from "typescript";
2
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
3
+ export declare const iterate_metadata_tuple: (props: IMetadataIteratorProps<ts.TupleType>) => boolean;
@@ -0,0 +1,2 @@
1
+ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
2
+ export declare const iterate_metadata_union: (props: IMetadataIteratorProps) => boolean;
@@ -0,0 +1,490 @@
1
+ import { IValidation } from "./IValidation";
2
+ import { TypeGuardError } from "./TypeGuardError";
3
+ /**
4
+ * Asserts a function.
5
+ *
6
+ * Asserts a function, by wrapping the function and checking its parameters and
7
+ * return value through {@link assert} function. If some parameter or return value
8
+ * does not match the expected type, it throws an {@link TypeGuardError} or a custom
9
+ * error generated by the *errorFactory* parameter.
10
+ *
11
+ * For reference, {@link TypeGuardError.path} would be a little bit different with
12
+ * individual {@link assert} function. If the {@link TypeGuardError} occurs from
13
+ * some parameter, the path would start from `$input.parameters[number]`. Otherwise
14
+ * the path would start from `$input.return`.
15
+ *
16
+ * - `$input.parameters[0].~`
17
+ * - `$input.return.~`
18
+ *
19
+ * By the way, if what you want is not just finding the 1st type error through
20
+ * assertion, but also finding every type errors, then use {@link validateFunction}
21
+ * instead. Otherwise, what you want is just asserting parameters or return value
22
+ * only, you can use {@link assertParameters} or {@link assertReturn} instead.
23
+ *
24
+ * On the other hand, if don't want to allow any superfluous properties, utilize
25
+ * {@link assertEqualsFunction} or {@link validateEqualsFunction} instead.
26
+ *
27
+ * @template T Target function type
28
+ * @param func Target function to assert
29
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
30
+ * @returns The wrapper function with type assertions
31
+ * @throws A {@link TypeGuardError} or a custom error generated by *errorFactory*
32
+ *
33
+ * @author Jeongho Nam - https://github.com/samchon
34
+ */
35
+ export declare function assertFunction<T extends (...args: any[]) => any>(func: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;
36
+ /**
37
+ * Asserts parameters.
38
+ *
39
+ * Asserts a function, by wrapping the function and checking its parameters through
40
+ * {@link assert} function. If some parameter does not match the expected type, it
41
+ * throws an {@link TypeGuardError} or a custom error generated by the *errorFactory*
42
+ * parameter.
43
+ *
44
+ * For reference, {@link TypeGuardError.path} would be a little bit different with
45
+ * individual {@link assert} function. If the {@link TypeGuardError} occurs from
46
+ * some parameter, the path would start from `$input.parameters[number]`.
47
+ *
48
+ * By the way, if what you want is not just finding the 1st type error through
49
+ * assertion, but also finding every type errors, then use {@link validateParameters}
50
+ * instead. Otherwise, what you want is not only asserting parameters, but also
51
+ * asserting return value, you can use {@link assertFunction} instead.
52
+ *
53
+ * On the other hand, if don't want to allow any superfluous properties, utilize
54
+ * {@link assertEqualsParameters} or {@link validateEqualsParameters} instead.
55
+ *
56
+ * @template T Target function type
57
+ * @param func Target function to assert
58
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
59
+ * @returns The wrapper function with type assertions
60
+ * @throws A {@link TypeGuardError} or a custom error generated by *errorFactory*
61
+ *
62
+ * @author Jeongho Nam - https://github.com/samchon
63
+ */
64
+ export declare function assertParameters<T extends (...args: any[]) => any>(func: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;
65
+ /**
66
+ * Asserts return value.
67
+ *
68
+ * Asserts a function, by wrapping the function and checking its return value through
69
+ * {@link assert} function. If the return value does not match the expected type, it
70
+ * throws an {@link TypeGuardError} or a custom error generated by the *errorFactory*
71
+ * parameter.
72
+ *
73
+ * For reference, {@link TypeGuardError.path} would be a little bit different with
74
+ * individual {@link assert} function. If the {@link TypeGuardError} occurs from
75
+ * the return value, the path would start from `$input.return`.
76
+ *
77
+ * By the way, if what you want is not just finding the 1st type error through
78
+ * assertion, but also finding every type errors, then use {@link validateReturn}
79
+ * instead. Otherwise, what you want is not only asserting return value, but also
80
+ * asserting parameters, you can use {@link assertFunction} instead.
81
+ *
82
+ * On the other hand, if don't want to allow any superfluous properties, utilize
83
+ * {@link assertEqualsReturn} or {@link validateEqualsReturn} instead.
84
+ *
85
+ * @template T Target function type
86
+ * @param func Target function to assert
87
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
88
+ * @returns The wrapper function with type assertions
89
+ * @throws A {@link TypeGuardError} or a custom error generated by *errorFactory*
90
+ *
91
+ * @author Jeongho Nam - https://github.com/samchon
92
+ */
93
+ export declare function assertReturn<T extends (...args: any[]) => any>(func: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;
94
+ /**
95
+ * Asserts a function with strict equality.
96
+ *
97
+ * Asserts a function with strict equality, by wrapping the function and checking
98
+ * its parameters and return value through {@link assertEquals} function. If some
99
+ * parameter or return value does not match the expected type, it throws an
100
+ * {@link TypeGuardError} or a custom error generated by the *errorFactory* parameter.
101
+ *
102
+ * For reference, {@link TypeGuardError.path} would be a little bit different with
103
+ * individual {@link assertEquals} function. If the {@link TypeGuardError} occurs from
104
+ * some parameter, the path would start from `$input.parameters[number]`. Otherwise
105
+ * the path would start from `$input.return`.
106
+ *
107
+ * - `$input.parameters[0].~`
108
+ * - `$input.return.~`
109
+ *
110
+ * By the way, if what you want is not just finding the 1st type error through
111
+ * assertion, but also finding every type errors, then use
112
+ * {@link validateEqualsFunction} instead. Otherwise, what you want is just asserting
113
+ * parameters or return value only, you can use {@link assertEqualsParameters} or
114
+ * {@link assertEqualsReturn} instead.
115
+ *
116
+ * On the other hand, if you want to allow any superfluous properties, utilize
117
+ * {@link assertFunction} or {@link validateFunction} instead.
118
+ *
119
+ * @template T Target function type
120
+ * @param func Target function to assert
121
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
122
+ * @returns The wrapper function with type assertions
123
+ * @throws A {@link TypeGuardError} or a custom error generated by *errorFactory*
124
+ *
125
+ * @author Jeongho Nam - https://github.com/samchon
126
+ */
127
+ export declare function assertEqualsFunction<T extends (...args: any[]) => any>(func: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;
128
+ /**
129
+ * Asserts parameters with strict equality.
130
+ *
131
+ * Asserts a function, by wrapping the function and checking its parameters through
132
+ * {@link assertEquals} function. If some parameter does not match the expected type,
133
+ * it throws an {@link TypeGuardError} or a custom error generated by the *errorFactory*
134
+ * parameter.
135
+ *
136
+ * For reference, {@link TypeGuardError.path} would be a little bit different with
137
+ * individual {@link assertEquals} function. If the {@link TypeGuardError} occurs from
138
+ * some parameter, the path would start from `$input.parameters[number]`.
139
+ *
140
+ * By the way, if what you want is not just finding the 1st type error through
141
+ * assertion, but also finding every type errors, then use
142
+ * {@link validateEqualsParameters} instead. Otherwise, what you want is not only
143
+ * asserting parameters, but also asserting return value, you can use
144
+ * {@link assertEqualsFunction} instead.
145
+ *
146
+ * On the other hand, if you want to allow any superfluous properties, utilize
147
+ * {@link assertParameters} or {@link validateParameters} instead.
148
+ *
149
+ * @template T Target function type
150
+ * @param func Target function to assert
151
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
152
+ * @returns The wrapper function with type assertions
153
+ * @throws A {@link TypeGuardError} or a custom error generated by *errorFactory*
154
+ *
155
+ * @author Jeongho Nam - https://github.com/samchon
156
+ */
157
+ export declare function assertEqualsParameters<T extends (...args: any[]) => any>(func: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;
158
+ /**
159
+ * Asserts return value with strict equality.
160
+ *
161
+ * Asserts a function, by wrapping the function and checking its return value through
162
+ * {@link assertEquals} function. If the return value does not match the expected type,
163
+ * it throws an {@link TypeGuardError} or a custom error generated by the *errorFactory*
164
+ * parameter.
165
+ *
166
+ * For reference, {@link TypeGuardError.path} would be a little bit different with
167
+ * individual {@link assertEquals} function. If the {@link TypeGuardError} occurs from
168
+ * the return value, the path would start from `$input.return`.
169
+ *
170
+ * By the way, if what you want is not just finding the 1st type error through
171
+ * assertion, but also finding every type errors, then use {@link validateEqualsReturn}
172
+ * instead. Otherwise, what you want is not only asserting return value, but also
173
+ * asserting parameters, you can use {@link assertEqualsFunction} instead.
174
+ *
175
+ * On the other hand, if you want to allow any superfluous properties, utilize
176
+ * {@link assertReturn} or {@link validateReturn} instead.
177
+ *
178
+ * @template T Target function type
179
+ * @param func Target function to assert
180
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
181
+ * @returns The wrapper function with type assertions
182
+ * @throws A {@link TypeGuardError} or a custom error generated by *errorFactory*
183
+ *
184
+ * @author Jeongho Nam - https://github.com/samchon
185
+ */
186
+ export declare function assertEqualsReturn<T extends (...args: any[]) => any>(func: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;
187
+ /**
188
+ * Tests a function.
189
+ *
190
+ * Tests a function, by wrapping the function and checking its parameters and
191
+ * return value through {@link is} function. If some parameter or return value
192
+ * does not match the expected type, it returns `null`. Otherwise there's no
193
+ * type error, it returns the result of the function.
194
+ *
195
+ * By the way, if you want is not just testing type checking, but also finding
196
+ * detailed type error reason(s), then use {@link assertFunction} or
197
+ * {@link validateFunction} instead.
198
+ *
199
+ * On the other hand, if you don't want to allow any superfluous properties,
200
+ * utilize {@link equalsFunction}, {@link assertEqualsFunction} or
201
+ * {@link validateEqualsFunction} instead.
202
+ *
203
+ * @template T Target function type
204
+ * @param func Target function to test
205
+ * @returns The wrapper function with type tests
206
+ *
207
+ * @author Jeongho Nam - https://github.com/samchon
208
+ */
209
+ export declare function isFunction<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<R | null> : (...args: Arguments) => Output | null : never;
210
+ /**
211
+ * Tests parameters.
212
+ *
213
+ * Tests a function, by wrapping the function and checking its parameters through
214
+ * {@link is} function. If some parameter does not match the expected type, it
215
+ * returns `null`. Otherwise there's no type error, it returns the result of the
216
+ * function.
217
+ *
218
+ * By the way, if you want is not just testing type checking, but also finding
219
+ * detailed type error reason(s), then use {@link assertParameters} or
220
+ * {@link validateParameters} instead.
221
+ *
222
+ * On the other hand, if you don't want to allow any superfluous properties,
223
+ * utilize {@link equalsParameters}, {@link assertEqualsParameters} or
224
+ * {@link validateEqualsParameters} instead.
225
+ *
226
+ * @template T Target function type
227
+ * @param func Target function to test
228
+ * @returns The wrapper function with type tests
229
+ *
230
+ * @author Jeongho Nam - https://github.com/samchon
231
+ */
232
+ export declare function isParameters<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<R | null> : (...args: Arguments) => Output | null : never;
233
+ /**
234
+ * Tests return value.
235
+ *
236
+ * Tests a function, by wrapping the function and checking its return value through
237
+ * {@link is} function. If the return value does not match the expected type, it
238
+ * returns `null`. Otherwise there's no type error, it returns the result of the
239
+ * function.
240
+ *
241
+ * By the way, if you want is not just testing type checking, but also finding
242
+ * detailed type error reason(s), then use {@link assertReturn} or
243
+ * {@link validateReturn} instead.
244
+ *
245
+ * On the other hand, if you don't want to allow any superfluous properties,
246
+ * utilize {@link equalsReturn}, {@link assertEqualsReturn} or
247
+ * {@link validateEqualsReturn} instead.
248
+ *
249
+ * @template T Target function type
250
+ * @param func Target function to test
251
+ * @returns The wrapper function with type tests
252
+ *
253
+ * @author Jeongho Nam - https://github.com/samchon
254
+ */
255
+ export declare function isReturn<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<R | null> : (...args: Arguments) => Output | null : never;
256
+ /**
257
+ * Tests a function with strict equality.
258
+ *
259
+ * Tests a function with strict equality, by wrapping the function and checking its
260
+ * parameters and return value through {@link isEquals} function. If some parameter
261
+ * or return value does not match the expected type, it returns `null`. Otherwise
262
+ * there's no type error, it returns the result of the function.
263
+ *
264
+ * By the way, if you want is not just testing type checking, but also finding
265
+ * detailed type error reason(s), then use {@link assertEqualsFunction} or
266
+ * {@link validateEqualsFunction} instead.
267
+ *
268
+ * On the other hand, if you want to allow any superfluous properties, utilize
269
+ * {@link isFunction}, {@link assertFunction} or {@link validateFunction} instead.
270
+ *
271
+ * @template T Target function type
272
+ * @param func Target function to test
273
+ * @returns The wrapper function with type tests
274
+ *
275
+ * @author Jeongho Nam - https://github.com/samchon
276
+ */
277
+ export declare function equalsFunction<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<R | null> : (...args: Arguments) => Output | null : never;
278
+ /**
279
+ * Tests parameters with strict equality.
280
+ *
281
+ * Tests a function, by wrapping the function and checking its parameters through
282
+ * {@link isEquals} function. If some parameter does not match the expected type,
283
+ * it returns `null`. Otherwise there's no type error, it returns the result of the
284
+ * function.
285
+ *
286
+ * By the way, if you want is not just testing type checking, but also finding
287
+ * detailed type error reason(s), then use {@link assertEqualsParameters} or
288
+ * {@link validateEqualsParameters} instead.
289
+ *
290
+ * @template T Target function type
291
+ * @param func Target function to test
292
+ * @returns The wrapper function with type tests
293
+ *
294
+ * @author Jeongho Nam - https://github.com/samchon
295
+ */
296
+ export declare function equalsParameters<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<R | null> : (...args: Arguments) => Output | null : never;
297
+ /**
298
+ * Tests return value with strict equality.
299
+ *
300
+ * Tests a function, by wrapping the function and checking its return value through
301
+ * {@link isEquals} function. If the return value does not match the expected type,
302
+ * it returns `null`. Otherwise there's no type error, it returns the result of the
303
+ * function.
304
+ *
305
+ * By the way, if you want is not just testing type checking, but also finding
306
+ * detailed type error reason(s), then use {@link assertEqualsReturn} or
307
+ * {@link validateEqualsReturn} instead.
308
+ *
309
+ * On the other hand, if you want to allow any superfluous properties, utilize
310
+ * {@link isReturn}, {@link assertReturn} or {@link validateReturn} instead.
311
+ *
312
+ * @template T Target function type
313
+ * @param func Target function to test
314
+ * @returns The wrapper function with type tests
315
+ *
316
+ * @author Jeongho Nam - https://github.com/samchon
317
+ */
318
+ export declare function equalsReturn<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<R | null> : (...args: Arguments) => Output | null : never;
319
+ /**
320
+ * Validates a function.
321
+ *
322
+ * Validates a function, by wrapping the function and checking its parameters and
323
+ * return value through {@link validate} function. If some parameter or return value
324
+ * does not match the expected type, it returns {@link IValidation.IError} typed
325
+ * object. Otherwise there's no type error, it returns {@link IValidation.ISuccess}
326
+ * typed object instead.
327
+ *
328
+ * For reference, {@link IValidation.IError.path} would be a little bit different with
329
+ * individual {@link validate} function. If the {@link IValidation.IError} occurs from
330
+ * some parameter, the path would start from `$input.parameters[number]`. Otherwise
331
+ * the path would start from `$input.return`.
332
+ *
333
+ * - `$input.parameters[0].~`
334
+ * - `$input.return.~`
335
+ *
336
+ * By the way, if what you want is not finding every type errors, but just finding
337
+ * the 1st type error, then use {@link assertFunction} instead. Otherwise, what you
338
+ * want is just validating parameters or return value only, you can use
339
+ * {@link validateParameters} or {@link validateReturn} instead.
340
+ *
341
+ * On the other hand, if you don't want to allow any superfluous properties, utilize
342
+ * {@link validateEqualsFunction} or {@link assertEqualsFunction} instead.
343
+ *
344
+ * @template T Target function type
345
+ * @param func Target function to validate
346
+ * @returns The wrapper function with type validations
347
+ *
348
+ * @author Jeongho Nam - https://github.com/samchon
349
+ */
350
+ export declare function validateFunction<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<IValidation<R>> : (...args: Arguments) => IValidation<Output> : never;
351
+ /**
352
+ * Validates parameters.
353
+ *
354
+ * Validates a function, by wrapping the function and checking its parameters through
355
+ * {@link validate} function. If some parameter does not match the expected type, it
356
+ * returns {@link IValidation.IError} typed object. Otherwise there's no type error,
357
+ * it returns {@link IValidation.ISuccess} typed object instead.
358
+ *
359
+ * For reference, {@link IValidation.IError.path} would be a little bit different with
360
+ * individual {@link validate} function. If the {@link IValidation.IError} occurs from
361
+ * some parameter, the path would start from `$input.parameters[number]`.
362
+ *
363
+ * By the way, if what you want is not finding every type errors, but just finding
364
+ * the 1st type error, then use {@link assertParameters} instead. Otherwise, what you
365
+ * want is not only validating parameters, but also validating return value, you can
366
+ * use {@link validateFunction} instead.
367
+ *
368
+ * On the other hand, if you don't want to allow any superfluous properties, utilize
369
+ * {@link validateEqualsParameters} or {@link assertEqualsParameters} instead.
370
+ *
371
+ * @template T Target function type
372
+ * @param func Target function to validate
373
+ * @returns The wrapper function with type validations
374
+ *
375
+ * @author Jeongho Nam - https://github.com/samchon
376
+ */
377
+ export declare function validateParameters<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<IValidation<R>> : (...args: Arguments) => IValidation<Output> : never;
378
+ /**
379
+ * Validates return value.
380
+ *
381
+ * Validates a function, by wrapping the function and checking its return value through
382
+ * {@link validate} function. If the return value does not match the expected type, it
383
+ * returns {@link IValidation.IError} typed object. Otherwise there's no type error,
384
+ * it returns {@link IValidation.ISuccess} typed object instead.
385
+ *
386
+ * For reference, {@link IValidation.IError.path} would be a little bit different with
387
+ * individual {@link validate} function. If the {@link IValidation.IError} occurs from
388
+ * the return value, the path would start from `$input.return`.
389
+ *
390
+ * By the way, if what you want is not finding every type errors, but just finding
391
+ * the 1st type error, then use {@link assertReturn} instead. Otherwise, what you want
392
+ * is not only validating return value, but also validating parameters, you can use
393
+ * {@link validateFunction} instead.
394
+ *
395
+ * On the other hand, if you don't want to allow any superfluous properties, utilize
396
+ * {@link validateEqualsReturn} or {@link assertEqualsReturn} instead.
397
+ *
398
+ * @template T Target function type
399
+ * @param func Target function to validate
400
+ * @returns The wrapper function with type validations
401
+ *
402
+ * @author Jeongho Nam - https://github.com/samchon
403
+ */
404
+ export declare function validateReturn<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<IValidation<R>> : (...args: Arguments) => IValidation<Output> : never;
405
+ /**
406
+ * Validates a function with strict equality.
407
+ *
408
+ * Validates a function with strict equality, by wrapping the function and checking
409
+ * its parameters and return value through {@link validateEquals} function. If some
410
+ * parameter or return value does not match the expected type, it returns
411
+ * {@link IValidation.IError} typed object. Otherwise there's no type error, it
412
+ * returns {@link IValidation.ISuccess} typed object instead.
413
+ *
414
+ * For reference, {@link IValidation.IError.path} would be a little bit different with
415
+ * individual {@link validateEquals} function. If the {@link IValidation.IError} occurs
416
+ * from some parameter, the path would start from `$input.parameters[number]`. Otherwise
417
+ * the path would start from `$input.return`.
418
+ *
419
+ * - `$input.parameters[0].~`
420
+ * - `$input.return.~`
421
+ *
422
+ * By the way, if what you want is not finding every type errors, but just finding
423
+ * the 1st type error, then use {@link assertEqualsFunction} instead. Otherwise, what
424
+ * you want is just validating parameters or return value only, you can use
425
+ * {@link validateEqualsParameters} or {@link validateEqualsReturn} instead.
426
+ *
427
+ * On the other hand, if you want to allow any superfluous properties, utilize
428
+ * {@link validateFunction} or {@link assertFunction} instead.
429
+ *
430
+ * @template T Target function type
431
+ * @param func Target function to validate
432
+ * @returns The wrapper function with type validations
433
+ *
434
+ * @author Jeongho Nam - https://github.com/samchon
435
+ */
436
+ export declare function validateEqualsFunction<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<IValidation<R>> : (...args: Arguments) => IValidation<Output> : never;
437
+ /**
438
+ * Validates parameters with strict equality.
439
+ *
440
+ * Validates a function, by wrapping the function and checking its parameters through
441
+ * {@link validateEquals} function. If some parameter does not match the expected type,
442
+ * it returns {@link IValidation.IError} typed object. Otherwise there's no type error,
443
+ * it returns {@link IValidation.ISuccess} typed object instead.
444
+ *
445
+ * For reference, {@link IValidation.IError.path} would be a little bit different with
446
+ * individual {@link validateEquals} function. If the {@link IValidation.IError} occurs
447
+ * from some parameter, the path would start from `$input.parameters[number]`.
448
+ *
449
+ * By the way, if what you want is not finding every type errors, but just finding
450
+ * the 1st type error, then use {@link assertEqualsParameters} instead. Otherwise,
451
+ * what you want is not only validating parameters, but also validating return value,
452
+ * you can use {@link validateEqualsFunction} instead.
453
+ *
454
+ * On the other hand, if you want to allow any superfluous properties, utilize
455
+ * {@link validateParameters} or {@link assertParameters} instead.
456
+ *
457
+ * @template T Target function type
458
+ * @param func Target function to validate
459
+ * @returns The wrapper function with type validations
460
+ *
461
+ * @author Jeongho Nam - https://github.com/samchon
462
+ */
463
+ export declare function validateEqualsParameters<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<IValidation<R>> : (...args: Arguments) => IValidation<Output> : never;
464
+ /**
465
+ * Validates return value with strict equality.
466
+ *
467
+ * Validates a function, by wrapping the function and checking its return value through
468
+ * {@link validateEquals} function. If the return value does not match the expected type,
469
+ * it returns {@link IValidation.IError} typed object. Otherwise there's no type error,
470
+ * it returns {@link IValidation.ISuccess} typed object instead.
471
+ *
472
+ * For reference, {@link IValidation.IError.path} would be a little bit different with
473
+ * individual {@link validateEquals} function. If the {@link IValidation.IError} occurs
474
+ * from the return value, the path would start from `$input.return`.
475
+ *
476
+ * By the way, if what you want is not finding every type errors, but just finding
477
+ * the 1st type error, then use {@link assertEqualsReturn} instead. Otherwise, what you
478
+ * want is not only validating return value, but also validating parameters, you can use
479
+ * {@link validateEqualsFunction} instead.
480
+ *
481
+ * On the other hand, if you want to allow any superfluous properties, utilize
482
+ * {@link validateReturn} or {@link assertReturn} instead.
483
+ *
484
+ * @template T Target function type
485
+ * @param func Target function to validate
486
+ * @returns The wrapper function with type validations
487
+ *
488
+ * @author Jeongho Nam - https://github.com/samchon
489
+ */
490
+ export declare function validateEqualsReturn<T extends (...args: any[]) => any>(func: T): T extends (...args: infer Arguments) => infer Output ? Output extends Promise<infer R> ? (...args: Arguments) => Promise<IValidation<R>> : (...args: Arguments) => IValidation<Output> : never;