JSONSchex.Compiler (jsonschex v0.6.0)

Copy Markdown View Source

Transforms raw JSON Schema maps into executable Schema structs.

Compilation has two phases:

  1. Node compilation — Recursively converts keywords into Rule structs (serializable rule descriptors), resolves vocabularies, and compiles $defs.
  2. Scope scanning — Discovers all $id and anchor definitions across the schema tree and registers them by absolute URI for reference resolution.

Standard rules execute first; finalizer rules (unevaluatedProperties, unevaluatedItems) run last so they can see which keys were already evaluated.

Examples

iex> {:ok, schema} = JSONSchex.Compiler.compile(%{"type" => "string"})
iex> length(schema.rules)
1

Summary

Functions

Compiles a raw JSON Schema into an executable Schema struct.

Functions

compile(raw_schema, opts \\ [])

Compiles a raw JSON Schema into an executable Schema struct.

See JSONSchex.compile/2 for options and usage.