enhancementhelp wanted
仓库指标
- Star
- (1,237 star)
- PR 合并指标
- (PR 指标待抓取)
描述
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)