Conventional Zod Schema Parser
npm install zod-parserZod-Parser is a powerful and flexible library for parsing generic Zod schemas in TypeScript. It provides a neat abstraction for parsing complex Zod schemas and is capable of accepting a callback function for further formatting the output, giving you the power to customize how you want to handle parsed schemas.
- Parses Zod Schemas into an understandable and manipulable structure.
- Supports Zod Objects, Arrays, Tuples, Records, Maps, Unions, Intersections and more.
- Allows for customization of output using a callback function.
To install Zod-Parser, use npm:
``sh`
npm i zod-parser
`typescript
import { z } from 'zod';
import { parseZodType } from 'zod-parser';
const schema = z.object({
name: z.string(),
age: z.number().optional(),
email: z.string().nullable(),
});
const parsedSchema = parseZodType(schema);
console.log(parsedSchema);
`
`typescript
import { z } from 'zod';
import { parseZodType } from 'zod-parser';
const schema = z.object({
name: z.string(),
age: z.number().optional(),
});
const format = (parsed: any) => {
if (parsed.$type === 'ZodObject') {
return 'I am an object';
}
return parsed;
};
const parsedSchema = parseZodType(schema, format);
console.log(parsedSchema);
`
- zt: z.ZodType: The Zod schema that you want to parse.cb?: (p: TZodParsed) => T
- : (optional) A callback function that takes the parsed schema and returns a customized output.opts: object
- : (optional) Options for parsing:$optional?: boolean
- : Treat the schema as optional.$nullable?: boolean
- : Treat the schema as nullable.$value?: unknown
- : Set a default value for the schema.$args?: T
- : Arguments for functions.$returns?: T
- : Return value for functions.$get?: () => T
- : Getter function for lazy types.$getDefault?: (() => unknown)`: Default value function.
-
Returns: The parsed schema in the format determined by the parser and any customization done by the callback function.
Contributions are welcome! Please feel free to submit a pull request or open an issue for discussion.
zod-parser is MIT licensed.
---
Happy parsing! 🚀