effect-io-ai

Package: effect
Module: JsonSchema

JsonSchema.fromSchemaDraft2020_12

Parses a raw Draft-2020-12 JSON Schema into a Document<"draft-2020-12">.

When to use

Use when you already have a raw JSON Schema object in Draft-2020-12 format.

Details

This separates $defs from the root schema into the definitions field. Unlike fromSchemaDraft07, this performs no keyword rewriting.

Example (Parsing a Draft-2020-12 schema)

import { JsonSchema } from "effect"

const raw: JsonSchema.JsonSchema = {
  type: "number",
  minimum: 0,
  $defs: { PositiveInt: { type: "integer", minimum: 1 } }
}

const doc = JsonSchema.fromSchemaDraft2020_12(raw)
console.log(doc.schema)      // { type: "number", minimum: 0 }
console.log(doc.definitions) // { PositiveInt: { type: "integer", minimum: 1 } }

See

Signature

declare const fromSchemaDraft2020_12: (js: JsonSchema) => Document<"draft-2020-12">

Source

Since v4.0.0