enhancementhelp wanted
Metriche repository
- Star
- (1237 star)
- Metriche merge PR
- (Metriche PR in attesa)
Descrizione
When a JSON Schema document contains a $ref referring to a separate JSON Schema document, the editor should load these documents into the AJV validator so the validation works.
I think this requires iterating over the JSON schema document to find all $ref occurrences, and then asynchronously loading the documents via a uri fetch, and then loading all schemas into the Ajv instance.
See https://ajv.js.org/guide/combining-schemas.html#combining-schemas-with-ref
const schema = {
$id: "http://example.com/schemas/schema.json",
type: "object",
properties: {
foo: {$ref: "defs.json#/definitions/int"},
bar: {$ref: "defs.json#/definitions/str"},
},
}
const defsSchema = {
$id: "http://example.com/schemas/defs.json",
definitions: {
int: {type: "integer"},
str: {type: "string"},
},
}
const ajv = new Ajv({schemas: [schema, defsSchema]})
const validate = ajv.getSchema(schema.$id)