@pitininja/envious-zod
v6.1.4
Published
[](https://badge.fury.io/js/@pitininja%2Fenvious-zod)
Downloads
595
Readme
Envious Zod resolver
Only Zod v4 or superior is supported
Install
npm i @pitininja/envious-zodUsage
See the official Zod documentation for how to write the schema.
import { envious } from '@pitininja/envious';
import { zodResolver } from '@pitininja/envious-zod';
import * as z from 'zod';
const env = envious({
resolver: zodResolver({
schema: z.object({
STRING_VAR: z.string(),
NUMBER_VAR: z.coerce.number().int(),
BOOLEAN_VAR_WITH_DEFAULT: z.stringbool().default(true),
OPTIONAL_VAR: z.optional(z.string())
})
})
});About Zod schemas
Zod cannot programmatically convert object values from a schema. Therefore the conversion must happen at the schema level using :
- coerce for numbers
- stringbool for booleans
import { envious } from '@pitininja/envious';
import { zodResolver } from '@pitininja/envious-zod';
import * as z from 'zod';
const env = envious({
resolver: zodResolver({
schema: z.object({
NUMBER_VAR: z.coerce.number().int(),
BOOLEAN_VAR: z.stringbool()
})
})
});