Skip to content

standard-community/standard-json

Repository files navigation

Standard JSON

npm version npm downloads

Standard Schema Validator's JSON Schema Converter

Installation

Install the main package -

pnpm add @standard-community/standard-json

For some specific vendor, install the respective package also -

Vendor Package
Zod v3 zod-to-json-schema
Valibot @valibot/to-json-schema

Usage

import { toJsonSchema } from "@standard-community/standard-json";

// Define your validation schema
const schema = {
    // ...
};

// Convert it to JSON Schema
const jsonSchema = await toJsonSchema(schema);

Sync Usage

This is useful for -

Adding support for Unsupported validation libs

import { toJsonSchema, loadVendor } from "@standard-community/standard-json";
import { convertSchemaToJson } from "your-validation-lib";

// The lib should support Standard Schema, like Sury
// as we use 'schema["~standard"].vendor' to get the vendor name
// Eg. loadVendor(zod["~standard"].vendor, convertorFunction)
loadVendor("validation-lib-name", convertSchemaToJson)

// Define your validation schema
const schema = {
    // ...
};

// Convert it to JSON Schema
const jsonSchema = toJsonSchema(schema);

Customize the toJSONFunction of a supported lib

import { toJsonSchema, loadVendor } from "@standard-community/standard-json";
import zodHandler from "@standard-community/standard-json/zod";

// Or pass a custom implmentation
loadVendor("zod", zodHandler())

// Define your validation schema
const schema = {
    // ...
};

// Convert it to JSON Schema
const jsonSchema = await toJsonSchema(schema);

About

Standard Schema to JSON Schema convertor

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •