13 lines
295 B
TypeScript
13 lines
295 B
TypeScript
import { z } from "zod";
|
|
|
|
export const numberModel = z
|
|
.union([
|
|
z.coerce
|
|
.number()
|
|
.refine((val) => !isNaN(val), { message: "Must be a valid number" }),
|
|
z.undefined(),
|
|
])
|
|
.transform((value) => {
|
|
return value !== undefined && isNaN(value) ? undefined : value;
|
|
});
|