yaml-language-server
Version:
29 lines (28 loc) • 1.77 kB
TypeScript
import type { JSONSchema } from '../../jsonSchema';
import { SchemaDraft } from '../../jsonLanguageTypes';
import type { ASTNode, ArrayASTNode, ObjectASTNode } from '../../jsonLanguageTypes';
import { Draft07Validator } from './draft07Validator';
import { ValidationResult } from './baseValidator';
import type { ISchemaCollector, Options } from './baseValidator';
export declare class Draft2019Validator extends Draft07Validator {
protected getCurrentSchemaDraft(): SchemaDraft;
/**
* Keyword: contains + minContains/maxContains
*
* Draft-07 behavior: contains must match at least 1 item.
* Draft-2019-09 behavior: minContains/maxContains constrain how many matches are required/allowed.
*/
protected applyContains(node: ArrayASTNode, schema: JSONSchema, originalSchema: JSONSchema, validationResult: ValidationResult, _matchingSchemas: ISchemaCollector, options: Options): void;
/**
* Keyword: dependentRequired + dependentSchemas.
*/
protected applyDependencies(node: ObjectASTNode, schema: JSONSchema, originalSchema: JSONSchema, validationResult: ValidationResult, matchingSchemas: ISchemaCollector, options: Options, seenKeys: Record<string, ASTNode>): void;
/**
* Keyword: unevaluatedProperties
*/
protected applyUnevaluatedProperties(node: ObjectASTNode, schema: JSONSchema, originalSchema: JSONSchema, validationResult: ValidationResult, matchingSchemas: ISchemaCollector, options: Options, seenKeys?: Record<string, ASTNode>): void;
/**
* Keyword: unevaluatedItems
*/
protected applyUnevaluatedItems(node: ArrayASTNode, schema: JSONSchema, originalSchema: JSONSchema, validationResult: ValidationResult, matchingSchemas: ISchemaCollector, options: Options): void;
}