jsonpolice
Version:
JSON Schema parser and validator
51 lines (50 loc) • 4.05 kB
TypeScript
import { SchemaError } from './errors.js';
import { SchemaOptions, ValidationOptions } from './types.js';
export declare abstract class Schema {
protected _validators: Set<string>;
abstract spec(): Promise<any>;
protected get validators(): Set<string>;
validate(data: any, opts?: ValidationOptions, path?: string): Promise<any>;
protected validateSpec(scope: string, data: any, spec: any, path: string, opts: ValidationOptions): any;
protected rootValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected typeValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected enumValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected constValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected multipleOfValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected maximumValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected exclusiveMaximumValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected minimumValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected exclusiveMinimumValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected maxLengthValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected minLengthValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected patternValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected formatValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected itemsValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected additionalItemsValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected maxItemsValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected minItemsValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected uniqueItemsValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected containsValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected maxPropertiesValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected minPropertiesValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected requiredValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected propertiesValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected patternPropertiesValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected additionalPropertiesValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected dependenciesValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected propertyNamesValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected ifValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected allOfValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected anyOfValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected oneOfValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected notValidator(data: any, spec: any, path: string, opts: ValidationOptions): any;
protected default(spec: any, path: string): any;
static scope(data: any): string;
static error(spec: any, prop: string): SchemaError;
}
export declare class StaticSchema extends Schema {
protected _spec: Promise<any>;
protected constructor(dataOrUri: any, opts: SchemaOptions);
spec(): Promise<any>;
static create(dataOrUri: any, opts: SchemaOptions): Promise<Schema>;
}