| import type {ErrorNoParams, Vocabulary} from "../../types" |
| import additionalItems, {AdditionalItemsError} from "./additionalItems" |
| import prefixItems from "./prefixItems" |
| import items from "./items" |
| import items2020, {ItemsError} from "./items2020" |
| import contains, {ContainsError} from "./contains" |
| import dependencies, {DependenciesError} from "./dependencies" |
| import propertyNames, {PropertyNamesError} from "./propertyNames" |
| import additionalProperties, {AdditionalPropertiesError} from "./additionalProperties" |
| import properties from "./properties" |
| import patternProperties from "./patternProperties" |
| import notKeyword, {NotKeywordError} from "./not" |
| import anyOf, {AnyOfError} from "./anyOf" |
| import oneOf, {OneOfError} from "./oneOf" |
| import allOf from "./allOf" |
| import ifKeyword, {IfKeywordError} from "./if" |
| import thenElse from "./thenElse" |
| |
| export default function getApplicator(draft2020 = false): Vocabulary { |
| const applicator = [ |
| // any |
| notKeyword, |
| anyOf, |
| oneOf, |
| allOf, |
| ifKeyword, |
| thenElse, |
| // object |
| propertyNames, |
| additionalProperties, |
| dependencies, |
| properties, |
| patternProperties, |
| ] |
| // array |
| if (draft2020) applicator.push(prefixItems, items2020) |
| else applicator.push(additionalItems, items) |
| applicator.push(contains) |
| return applicator |
| } |
| |
| export type ApplicatorKeywordError = |
| | ErrorNoParams<"false schema"> |
| | AdditionalItemsError |
| | ItemsError |
| | ContainsError |
| | AdditionalPropertiesError |
| | DependenciesError |
| | IfKeywordError |
| | AnyOfError |
| | OneOfError |
| | NotKeywordError |
| | PropertyNamesError |