Package: effect
Module: JsonSchema
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
fromSchemaDraft07fromSchemaOpenApi3_1Signature
declare const fromSchemaDraft2020_12: (js: JsonSchema) => Document<"draft-2020-12">
Since v4.0.0