1.1.1 • Published 8 months ago

zod-metadata v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

zod-metadata

Metadata support for Zod schemas.

Installation

npm install zod-metadata
yarn add zod-metadata
pnpm add zod-metadata

Basic Usage

import 'zod-metadata/register';
import { z } from 'zod';

const schema = z.string().meta({
  example: 'John',
  number: 42,
});

schema.getMeta(); // => { example: 'John', number: 42 }

Registration

Automatic

Import zod-metadata/register at the top of your entry files:

JavaScript

require('zod-metadata/register');

TypeScript

import 'zod-metadata/register';

Manual

JavaScript

const { register } = require('zod-metadata');
const zod = require('zod');

register(zod);

TypeScript

import { register } from 'zod-metadata';
import zod from 'zod';

register(zod);

Preload

JavaScript

node -r zod-metadata/register my-script.js
// my-script.js
require('zod-metadata'); // make type declarations available

TypeScript

ts-node -r zod-metadata/register my-script.js
// my-script.ts
import {} from 'zod-metadata'; // make type declarations available

Via NODE_OPTIONS

NODE_OPTIONS='-r zod-metadata/register' node my-script.js

Specifying the metadata shape

Since you can re-declare an interface to add stuff to it, you can redeclare the ZodMeta interface to add fields to it. This may be helpful if you have handful, pre-defined keys you're going to use project-wide.

Overwritting the zod metadata interface

1.1.1

8 months ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago