Sycophant.Schema.Normalizer
(sycophant v0.4.2)
Copy Markdown
Normalizes Zoi or JSON Schema input into a NormalizedSchema.
Zoi structs are converted to JSON Schema via JsonSchema.to_json_schema/1,
then additionalProperties: false is injected recursively on object types.
Plain maps are stringified and resolved directly without injection.
Both paths downgrade Draft 2020-12 keywords (prefixItems -> items).
Summary
Functions
Normalizes a Zoi or JSON Schema into a NormalizedSchema with a pre-resolved schema for validation.
Functions
@spec normalize(Zoi.schema() | map()) :: {:ok, Sycophant.Schema.NormalizedSchema.t()} | {:error, Splode.Error.t()}
Normalizes a Zoi or JSON Schema into a NormalizedSchema with a pre-resolved schema for validation.