15 lines
412 B
TypeScript
15 lines
412 B
TypeScript
import { z } from "zod";
|
|
|
|
const baseBoolEnv = z.preprocess((val) => {
|
|
if (typeof val !== "string") {
|
|
return val;
|
|
}
|
|
|
|
return ["true", "1"].includes(val.toLowerCase().trim());
|
|
}, z.boolean());
|
|
|
|
// Create a type-safe version that only accepts boolean defaults
|
|
export const BoolEnv = baseBoolEnv as Omit<typeof baseBoolEnv, "default"> & {
|
|
default: (value: boolean) => z.ZodDefault<typeof baseBoolEnv>;
|
|
};
|