Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 7x 7x 800x 1958x 15x | import { z } from "zod";
export function refineWithMessage<T>(
schema: z.ZodType<T>,
predicate: (value: T) => boolean,
getMessage: (value: T) => string,
) {
return schema.superRefine((value, ctx) => {
if (!predicate(value)) {
ctx.addIssue({
code: z.ZodIssueCode.custom,
message: getMessage(value),
});
}
});
}
|