Security: Sync from Public / sync-from-public (push) Has been cancelled
Test: Benchmark Nightly / build (push) Has been cancelled
Test: Benchmark Nightly / Notify Cats on failure (push) Has been cancelled
CI: Python / Checks (push) Has been cancelled
Test: Evals Python / Workflow Comparison Python (push) Has been cancelled
Util: Check Docs URLs / check-docs-urls (push) Has been cancelled
Test: Visual Storybook / Cloudflare Pages (push) Has been cancelled
Test: E2E Performance / build-and-test-performance (push) Has been cancelled
Test: Workflows Nightly / Run Workflow Tests (push) Has been cancelled
Util: Cleanup CI Docker Images / Delete stale CI images (push) Has been cancelled
Test: Benchmark Destroy Env / build (push) Has been cancelled
Util: Update Node Popularity / update-popularity (push) Has been cancelled
Test: E2E Coverage Weekly / Coverage Tests (push) Has been cancelled
35 lines
877 B
Markdown
35 lines
877 B
Markdown
# Json-Schema-to-Zod
|
|
|
|
A package to convert JSON schema (draft 4+) objects into Zod schemas in the form of Zod objects at runtime.
|
|
|
|
## Installation
|
|
|
|
```sh
|
|
npm install @n8n/json-schema-to-zod
|
|
```
|
|
|
|
### Simple example
|
|
|
|
```typescript
|
|
import { jsonSchemaToZod } from "json-schema-to-zod";
|
|
|
|
const jsonSchema = {
|
|
type: "object",
|
|
properties: {
|
|
hello: {
|
|
type: "string",
|
|
},
|
|
},
|
|
};
|
|
|
|
const zodSchema = jsonSchemaToZod(myObject);
|
|
```
|
|
|
|
### Overriding a parser
|
|
|
|
You can pass a function to the `overrideParser` option, which represents a function that receives the current schema node and the reference object, and should return a zod object when it wants to replace a default output. If the default output should be used for the node just return undefined.
|
|
|
|
## Acknowledgements
|
|
|
|
This is a fork of [`json-schema-to-zod`](https://github.com/StefanTerdell/json-schema-to-zod).
|