Module Json_schema.AstSource

Lossless JSON Schema AST.

JSON Schema is itself a JSON language: a schema is either a boolean or an object. This module keeps that shape lossless while giving the rest of the implementation a typed boundary. Known vocabularies are interpreted by the validator; unknown keywords remain in the raw JSON object so parsers, printers, provider projections, and downstream tooling do not discard forward-compatible data.

Sourcetype t =
  1. | Bool of bool
  2. | Object of (string * Chatoyant_runtime.Json.t) list
Sourcetype parse_error = {
  1. path : string;
  2. message : string;
}
Sourceval of_string : string -> (t, parse_error) result
Sourceval to_string : t -> string
Sourceval fields : t -> (string * Chatoyant_runtime.Json.t) list option
Sourceval field : string -> t -> Chatoyant_runtime.Json.t option