Spaces:
Running
Running
import type Ajv from "../../core" | |
import type {AnySchemaObject} from "../../types" | |
import * as metaSchema from "./schema.json" | |
import * as applicator from "./meta/applicator.json" | |
import * as unevaluated from "./meta/unevaluated.json" | |
import * as content from "./meta/content.json" | |
import * as core from "./meta/core.json" | |
import * as format from "./meta/format-annotation.json" | |
import * as metadata from "./meta/meta-data.json" | |
import * as validation from "./meta/validation.json" | |
const META_SUPPORT_DATA = ["/properties"] | |
export default function addMetaSchema2020(this: Ajv, $data?: boolean): Ajv { | |
;[ | |
metaSchema, | |
applicator, | |
unevaluated, | |
content, | |
core, | |
with$data(this, format), | |
metadata, | |
with$data(this, validation), | |
].forEach((sch) => this.addMetaSchema(sch, undefined, false)) | |
return this | |
function with$data(ajv: Ajv, sch: AnySchemaObject): AnySchemaObject { | |
return $data ? ajv.$dataMetaSchema(sch, META_SUPPORT_DATA) : sch | |
} | |
} | |