checks.d.ts 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. import * as core from "./core.js";
  2. import type * as errors from "./errors.js";
  3. import type * as schemas from "./schemas.js";
  4. import * as util from "./util.js";
  5. export interface $ZodCheckDef {
  6. check: string;
  7. error?: errors.$ZodErrorMap<never> | undefined;
  8. /** If true, no later checks will be executed if this check fails. Default `false`. */
  9. abort?: boolean | undefined;
  10. /** If provided, this check will only be executed if the function returns `true`. Defaults to `payload => z.util.isAborted(payload)`. */
  11. when?: ((payload: schemas.ParsePayload) => boolean) | undefined;
  12. }
  13. export interface $ZodCheckInternals<T> {
  14. def: $ZodCheckDef;
  15. /** The set of issues this check might throw. */
  16. issc?: errors.$ZodIssueBase;
  17. check(payload: schemas.ParsePayload<T>): util.MaybeAsync<void>;
  18. onattach: ((schema: schemas.$ZodType) => void)[];
  19. }
  20. export interface $ZodCheck<in T = never> {
  21. _zod: $ZodCheckInternals<T>;
  22. }
  23. export declare const $ZodCheck: core.$constructor<$ZodCheck<any>>;
  24. export interface $ZodCheckLessThanDef extends $ZodCheckDef {
  25. check: "less_than";
  26. value: util.Numeric;
  27. inclusive: boolean;
  28. }
  29. export interface $ZodCheckLessThanInternals<T extends util.Numeric = util.Numeric> extends $ZodCheckInternals<T> {
  30. def: $ZodCheckLessThanDef;
  31. issc: errors.$ZodIssueTooBig<T>;
  32. }
  33. export interface $ZodCheckLessThan<T extends util.Numeric = util.Numeric> extends $ZodCheck<T> {
  34. _zod: $ZodCheckLessThanInternals<T>;
  35. }
  36. export declare const $ZodCheckLessThan: core.$constructor<$ZodCheckLessThan>;
  37. export interface $ZodCheckGreaterThanDef extends $ZodCheckDef {
  38. check: "greater_than";
  39. value: util.Numeric;
  40. inclusive: boolean;
  41. }
  42. export interface $ZodCheckGreaterThanInternals<T extends util.Numeric = util.Numeric> extends $ZodCheckInternals<T> {
  43. def: $ZodCheckGreaterThanDef;
  44. issc: errors.$ZodIssueTooSmall<T>;
  45. }
  46. export interface $ZodCheckGreaterThan<T extends util.Numeric = util.Numeric> extends $ZodCheck<T> {
  47. _zod: $ZodCheckGreaterThanInternals<T>;
  48. }
  49. export declare const $ZodCheckGreaterThan: core.$constructor<$ZodCheckGreaterThan>;
  50. export interface $ZodCheckMultipleOfDef<T extends number | bigint = number | bigint> extends $ZodCheckDef {
  51. check: "multiple_of";
  52. value: T;
  53. }
  54. export interface $ZodCheckMultipleOfInternals<T extends number | bigint = number | bigint> extends $ZodCheckInternals<T> {
  55. def: $ZodCheckMultipleOfDef<T>;
  56. issc: errors.$ZodIssueNotMultipleOf;
  57. }
  58. export interface $ZodCheckMultipleOf<T extends number | bigint = number | bigint> extends $ZodCheck<T> {
  59. _zod: $ZodCheckMultipleOfInternals<T>;
  60. }
  61. export declare const $ZodCheckMultipleOf: core.$constructor<$ZodCheckMultipleOf<number | bigint>>;
  62. export type $ZodNumberFormats = "int32" | "uint32" | "float32" | "float64" | "safeint";
  63. export interface $ZodCheckNumberFormatDef extends $ZodCheckDef {
  64. check: "number_format";
  65. format: $ZodNumberFormats;
  66. }
  67. export interface $ZodCheckNumberFormatInternals extends $ZodCheckInternals<number> {
  68. def: $ZodCheckNumberFormatDef;
  69. issc: errors.$ZodIssueInvalidType | errors.$ZodIssueTooBig<"number"> | errors.$ZodIssueTooSmall<"number">;
  70. }
  71. export interface $ZodCheckNumberFormat extends $ZodCheck<number> {
  72. _zod: $ZodCheckNumberFormatInternals;
  73. }
  74. export declare const $ZodCheckNumberFormat: core.$constructor<$ZodCheckNumberFormat>;
  75. export type $ZodBigIntFormats = "int64" | "uint64";
  76. export interface $ZodCheckBigIntFormatDef extends $ZodCheckDef {
  77. check: "bigint_format";
  78. format: $ZodBigIntFormats | undefined;
  79. }
  80. export interface $ZodCheckBigIntFormatInternals extends $ZodCheckInternals<bigint> {
  81. def: $ZodCheckBigIntFormatDef;
  82. issc: errors.$ZodIssueTooBig<"bigint"> | errors.$ZodIssueTooSmall<"bigint">;
  83. }
  84. export interface $ZodCheckBigIntFormat extends $ZodCheck<bigint> {
  85. _zod: $ZodCheckBigIntFormatInternals;
  86. }
  87. export declare const $ZodCheckBigIntFormat: core.$constructor<$ZodCheckBigIntFormat>;
  88. export interface $ZodCheckMaxSizeDef extends $ZodCheckDef {
  89. check: "max_size";
  90. maximum: number;
  91. }
  92. export interface $ZodCheckMaxSizeInternals<T extends util.HasSize = util.HasSize> extends $ZodCheckInternals<T> {
  93. def: $ZodCheckMaxSizeDef;
  94. issc: errors.$ZodIssueTooBig<T>;
  95. }
  96. export interface $ZodCheckMaxSize<T extends util.HasSize = util.HasSize> extends $ZodCheck<T> {
  97. _zod: $ZodCheckMaxSizeInternals<T>;
  98. }
  99. export declare const $ZodCheckMaxSize: core.$constructor<$ZodCheckMaxSize>;
  100. export interface $ZodCheckMinSizeDef extends $ZodCheckDef {
  101. check: "min_size";
  102. minimum: number;
  103. }
  104. export interface $ZodCheckMinSizeInternals<T extends util.HasSize = util.HasSize> extends $ZodCheckInternals<T> {
  105. def: $ZodCheckMinSizeDef;
  106. issc: errors.$ZodIssueTooSmall<T>;
  107. }
  108. export interface $ZodCheckMinSize<T extends util.HasSize = util.HasSize> extends $ZodCheck<T> {
  109. _zod: $ZodCheckMinSizeInternals<T>;
  110. }
  111. export declare const $ZodCheckMinSize: core.$constructor<$ZodCheckMinSize>;
  112. export interface $ZodCheckSizeEqualsDef extends $ZodCheckDef {
  113. check: "size_equals";
  114. size: number;
  115. }
  116. export interface $ZodCheckSizeEqualsInternals<T extends util.HasSize = util.HasSize> extends $ZodCheckInternals<T> {
  117. def: $ZodCheckSizeEqualsDef;
  118. issc: errors.$ZodIssueTooBig<T> | errors.$ZodIssueTooSmall<T>;
  119. }
  120. export interface $ZodCheckSizeEquals<T extends util.HasSize = util.HasSize> extends $ZodCheck<T> {
  121. _zod: $ZodCheckSizeEqualsInternals<T>;
  122. }
  123. export declare const $ZodCheckSizeEquals: core.$constructor<$ZodCheckSizeEquals>;
  124. export interface $ZodCheckMaxLengthDef extends $ZodCheckDef {
  125. check: "max_length";
  126. maximum: number;
  127. }
  128. export interface $ZodCheckMaxLengthInternals<T extends util.HasLength = util.HasLength> extends $ZodCheckInternals<T> {
  129. def: $ZodCheckMaxLengthDef;
  130. issc: errors.$ZodIssueTooBig<T>;
  131. }
  132. export interface $ZodCheckMaxLength<T extends util.HasLength = util.HasLength> extends $ZodCheck<T> {
  133. _zod: $ZodCheckMaxLengthInternals<T>;
  134. }
  135. export declare const $ZodCheckMaxLength: core.$constructor<$ZodCheckMaxLength>;
  136. export interface $ZodCheckMinLengthDef extends $ZodCheckDef {
  137. check: "min_length";
  138. minimum: number;
  139. }
  140. export interface $ZodCheckMinLengthInternals<T extends util.HasLength = util.HasLength> extends $ZodCheckInternals<T> {
  141. def: $ZodCheckMinLengthDef;
  142. issc: errors.$ZodIssueTooSmall<T>;
  143. }
  144. export interface $ZodCheckMinLength<T extends util.HasLength = util.HasLength> extends $ZodCheck<T> {
  145. _zod: $ZodCheckMinLengthInternals<T>;
  146. }
  147. export declare const $ZodCheckMinLength: core.$constructor<$ZodCheckMinLength>;
  148. export interface $ZodCheckLengthEqualsDef extends $ZodCheckDef {
  149. check: "length_equals";
  150. length: number;
  151. }
  152. export interface $ZodCheckLengthEqualsInternals<T extends util.HasLength = util.HasLength> extends $ZodCheckInternals<T> {
  153. def: $ZodCheckLengthEqualsDef;
  154. issc: errors.$ZodIssueTooBig<T> | errors.$ZodIssueTooSmall<T>;
  155. }
  156. export interface $ZodCheckLengthEquals<T extends util.HasLength = util.HasLength> extends $ZodCheck<T> {
  157. _zod: $ZodCheckLengthEqualsInternals<T>;
  158. }
  159. export declare const $ZodCheckLengthEquals: core.$constructor<$ZodCheckLengthEquals>;
  160. export type $ZodStringFormats = "email" | "url" | "emoji" | "uuid" | "guid" | "nanoid" | "cuid" | "cuid2" | "ulid" | "xid" | "ksuid" | "datetime" | "date" | "time" | "duration" | "ipv4" | "ipv6" | "cidrv4" | "cidrv6" | "base64" | "base64url" | "json_string" | "e164" | "lowercase" | "uppercase" | "regex" | "jwt" | "starts_with" | "ends_with" | "includes";
  161. export interface $ZodCheckStringFormatDef<Format extends string = string> extends $ZodCheckDef {
  162. check: "string_format";
  163. format: Format;
  164. pattern?: RegExp | undefined;
  165. }
  166. export interface $ZodCheckStringFormatInternals extends $ZodCheckInternals<string> {
  167. def: $ZodCheckStringFormatDef;
  168. issc: errors.$ZodIssueInvalidStringFormat;
  169. }
  170. export interface $ZodCheckStringFormat extends $ZodCheck<string> {
  171. _zod: $ZodCheckStringFormatInternals;
  172. }
  173. export declare const $ZodCheckStringFormat: core.$constructor<$ZodCheckStringFormat>;
  174. export interface $ZodCheckRegexDef extends $ZodCheckStringFormatDef {
  175. format: "regex";
  176. pattern: RegExp;
  177. }
  178. export interface $ZodCheckRegexInternals extends $ZodCheckInternals<string> {
  179. def: $ZodCheckRegexDef;
  180. issc: errors.$ZodIssueInvalidStringFormat;
  181. }
  182. export interface $ZodCheckRegex extends $ZodCheck<string> {
  183. _zod: $ZodCheckRegexInternals;
  184. }
  185. export declare const $ZodCheckRegex: core.$constructor<$ZodCheckRegex>;
  186. export interface $ZodCheckLowerCaseDef extends $ZodCheckStringFormatDef<"lowercase"> {
  187. }
  188. export interface $ZodCheckLowerCaseInternals extends $ZodCheckInternals<string> {
  189. def: $ZodCheckLowerCaseDef;
  190. issc: errors.$ZodIssueInvalidStringFormat;
  191. }
  192. export interface $ZodCheckLowerCase extends $ZodCheck<string> {
  193. _zod: $ZodCheckLowerCaseInternals;
  194. }
  195. export declare const $ZodCheckLowerCase: core.$constructor<$ZodCheckLowerCase>;
  196. export interface $ZodCheckUpperCaseDef extends $ZodCheckStringFormatDef<"uppercase"> {
  197. }
  198. export interface $ZodCheckUpperCaseInternals extends $ZodCheckInternals<string> {
  199. def: $ZodCheckUpperCaseDef;
  200. issc: errors.$ZodIssueInvalidStringFormat;
  201. }
  202. export interface $ZodCheckUpperCase extends $ZodCheck<string> {
  203. _zod: $ZodCheckUpperCaseInternals;
  204. }
  205. export declare const $ZodCheckUpperCase: core.$constructor<$ZodCheckUpperCase>;
  206. export interface $ZodCheckIncludesDef extends $ZodCheckStringFormatDef<"includes"> {
  207. includes: string;
  208. position?: number | undefined;
  209. }
  210. export interface $ZodCheckIncludesInternals extends $ZodCheckInternals<string> {
  211. def: $ZodCheckIncludesDef;
  212. issc: errors.$ZodIssueInvalidStringFormat;
  213. }
  214. export interface $ZodCheckIncludes extends $ZodCheck<string> {
  215. _zod: $ZodCheckIncludesInternals;
  216. }
  217. export declare const $ZodCheckIncludes: core.$constructor<$ZodCheckIncludes>;
  218. export interface $ZodCheckStartsWithDef extends $ZodCheckStringFormatDef<"starts_with"> {
  219. prefix: string;
  220. }
  221. export interface $ZodCheckStartsWithInternals extends $ZodCheckInternals<string> {
  222. def: $ZodCheckStartsWithDef;
  223. issc: errors.$ZodIssueInvalidStringFormat;
  224. }
  225. export interface $ZodCheckStartsWith extends $ZodCheck<string> {
  226. _zod: $ZodCheckStartsWithInternals;
  227. }
  228. export declare const $ZodCheckStartsWith: core.$constructor<$ZodCheckStartsWith>;
  229. export interface $ZodCheckEndsWithDef extends $ZodCheckStringFormatDef<"ends_with"> {
  230. suffix: string;
  231. }
  232. export interface $ZodCheckEndsWithInternals extends $ZodCheckInternals<string> {
  233. def: $ZodCheckEndsWithDef;
  234. issc: errors.$ZodIssueInvalidStringFormat;
  235. }
  236. export interface $ZodCheckEndsWith extends $ZodCheckInternals<string> {
  237. _zod: $ZodCheckEndsWithInternals;
  238. }
  239. export declare const $ZodCheckEndsWith: core.$constructor<$ZodCheckEndsWith>;
  240. export interface $ZodCheckPropertyDef extends $ZodCheckDef {
  241. check: "property";
  242. property: string;
  243. schema: schemas.$ZodType;
  244. }
  245. export interface $ZodCheckPropertyInternals<T extends object = object> extends $ZodCheckInternals<T> {
  246. def: $ZodCheckPropertyDef;
  247. issc: errors.$ZodIssue;
  248. }
  249. export interface $ZodCheckProperty<T extends object = object> extends $ZodCheck<T> {
  250. _zod: $ZodCheckPropertyInternals<T>;
  251. }
  252. export declare const $ZodCheckProperty: core.$constructor<$ZodCheckProperty>;
  253. export interface $ZodCheckMimeTypeDef extends $ZodCheckDef {
  254. check: "mime_type";
  255. mime: util.MimeTypes[];
  256. }
  257. export interface $ZodCheckMimeTypeInternals<T extends schemas.File = schemas.File> extends $ZodCheckInternals<T> {
  258. def: $ZodCheckMimeTypeDef;
  259. issc: errors.$ZodIssueInvalidValue;
  260. }
  261. export interface $ZodCheckMimeType<T extends schemas.File = schemas.File> extends $ZodCheck<T> {
  262. _zod: $ZodCheckMimeTypeInternals<T>;
  263. }
  264. export declare const $ZodCheckMimeType: core.$constructor<$ZodCheckMimeType>;
  265. export interface $ZodCheckOverwriteDef<T = unknown> extends $ZodCheckDef {
  266. check: "overwrite";
  267. tx(value: T): T;
  268. }
  269. export interface $ZodCheckOverwriteInternals<T = unknown> extends $ZodCheckInternals<T> {
  270. def: $ZodCheckOverwriteDef<T>;
  271. issc: never;
  272. }
  273. export interface $ZodCheckOverwrite<T = unknown> extends $ZodCheck<T> {
  274. _zod: $ZodCheckOverwriteInternals<T>;
  275. }
  276. export declare const $ZodCheckOverwrite: core.$constructor<$ZodCheckOverwrite>;
  277. export type $ZodChecks = $ZodCheckLessThan | $ZodCheckGreaterThan | $ZodCheckMultipleOf | $ZodCheckNumberFormat | $ZodCheckBigIntFormat | $ZodCheckMaxSize | $ZodCheckMinSize | $ZodCheckSizeEquals | $ZodCheckMaxLength | $ZodCheckMinLength | $ZodCheckLengthEquals | $ZodCheckStringFormat | $ZodCheckProperty | $ZodCheckMimeType | $ZodCheckOverwrite;
  278. export type $ZodStringFormatChecks = $ZodCheckRegex | $ZodCheckLowerCase | $ZodCheckUpperCase | $ZodCheckIncludes | $ZodCheckStartsWith | $ZodCheckEndsWith | schemas.$ZodStringFormatTypes;