UNPKG

flagpole

Version:

Simple and fast DOM integration, headless or headful browser, and REST API testing framework.

35 lines (34 loc) 1.39 kB
export interface iAssertionSchema { [key: string]: string | any[] | iAssertionSchemaItem; } export interface iAssertionSchemaTestOpts { path: string; parent: any; root: any; } export interface iAssertionSchemaItem { type?: string | string[]; items?: iAssertionSchema | string; enum?: any[]; matches?: RegExp | string; test: (value: any, opts: iAssertionSchemaTestOpts) => boolean; } export interface iAjvLike { errors: Error[]; validate(schema: any, root: any): Promise<boolean>; } export declare class AssertionSchema implements iAjvLike { protected _schema: iAssertionSchema | undefined; protected _errors: Error[]; protected _root: any; get errors(): Error[]; validate(schema: any, root: any): Promise<boolean>; protected _logError(message: string): void; protected _matchesType(schema: any, document: any, path: string): boolean; protected _matchesEnum(schema: any, document: any, path: string): boolean; protected _matchesPattern(schema: any, document: any, path: string): boolean; protected _matchesTest(schema: any, document: any, path: string): boolean; protected _matchesItems(schema: any, document: any, path: string): boolean; protected _matchesProperties(schema: any, document: any, path: string): boolean; protected _isValid(schema: any, document: any, path: string): boolean; }