.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / table / node_modules / ajv / lib / refs / json-schema-2020-12 / index.ts
1 import type Ajv from "../../core"
2 import type {AnySchemaObject} from "../../types"
3 import * as metaSchema from "./schema.json"
4 import * as applicator from "./meta/applicator.json"
5 import * as unevaluated from "./meta/unevaluated.json"
6 import * as content from "./meta/content.json"
7 import * as core from "./meta/core.json"
8 import * as format from "./meta/format-annotation.json"
9 import * as metadata from "./meta/meta-data.json"
10 import * as validation from "./meta/validation.json"
11
12 const META_SUPPORT_DATA = ["/properties"]
13
14 export default function addMetaSchema2020(this: Ajv, $data?: boolean): Ajv {
15   ;[
16     metaSchema,
17     applicator,
18     unevaluated,
19     content,
20     core,
21     with$data(this, format),
22     metadata,
23     with$data(this, validation),
24   ].forEach((sch) => this.addMetaSchema(sch, undefined, false))
25   return this
26
27   function with$data(ajv: Ajv, sch: AnySchemaObject): AnySchemaObject {
28     return $data ? ajv.$dataMetaSchema(sch, META_SUPPORT_DATA) : sch
29   }
30 }