| declare var ajv: { |
| (options?: ajv.Options): ajv.Ajv; |
| new(options?: ajv.Options): ajv.Ajv; |
| ValidationError: typeof AjvErrors.ValidationError; |
| MissingRefError: typeof AjvErrors.MissingRefError; |
| $dataMetaSchema: object; |
| } |
|
|
| declare namespace AjvErrors { |
| class ValidationError extends Error { |
| constructor(errors: Array<ajv.ErrorObject>); |
|
|
| message: string; |
| errors: Array<ajv.ErrorObject>; |
| ajv: true; |
| validation: true; |
| } |
|
|
| class MissingRefError extends Error { |
| constructor(baseId: string, ref: string, message?: string); |
| static message: (baseId: string, ref: string) => string; |
|
|
| message: string; |
| missingRef: string; |
| missingSchema: string; |
| } |
| } |
|
|
| declare namespace ajv { |
| type ValidationError = AjvErrors.ValidationError; |
|
|
| type MissingRefError = AjvErrors.MissingRefError; |
|
|
| interface Ajv { |
| |
| |
| |
| |
| |
| |
| |
| validate(schemaKeyRef: object | string | boolean, data: any): boolean | PromiseLike<any>; |
| |
| |
| |
| |
| |
| compile(schema: object | boolean): ValidateFunction; |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| compileAsync(schema: object | boolean, meta?: Boolean, callback?: (err: Error, validate: ValidateFunction) => any): PromiseLike<ValidateFunction>; |
| |
| |
| |
| |
| |
| |
| addSchema(schema: Array<object> | object, key?: string): Ajv; |
| |
| |
| |
| |
| |
| |
| |
| addMetaSchema(schema: object, key?: string): Ajv; |
| |
| |
| |
| |
| |
| validateSchema(schema: object | boolean): boolean; |
| |
| |
| |
| |
| |
| getSchema(keyRef: string): ValidateFunction | undefined; |
| |
| |
| |
| |
| |
| |
| |
| |
| removeSchema(schemaKeyRef?: object | string | RegExp | boolean): Ajv; |
| |
| |
| |
| |
| |
| |
| addFormat(name: string, format: FormatValidator | FormatDefinition): Ajv; |
| |
| |
| |
| |
| |
| |
| |
| addKeyword(keyword: string, definition: KeywordDefinition): Ajv; |
| |
| |
| |
| |
| |
| |
| getKeyword(keyword: string): object | boolean; |
| |
| |
| |
| |
| |
| |
| removeKeyword(keyword: string): Ajv; |
| |
| |
| |
| |
| |
| |
| |
| validateKeyword(definition: KeywordDefinition, throwError: boolean): boolean; |
| |
| |
| |
| |
| |
| |
| errorsText(errors?: Array<ErrorObject> | null, options?: ErrorsTextOptions): string; |
| errors?: Array<ErrorObject> | null; |
| _opts: Options; |
| } |
|
|
| interface CustomLogger { |
| log(...args: any[]): any; |
| warn(...args: any[]): any; |
| error(...args: any[]): any; |
| } |
|
|
| interface ValidateFunction { |
| ( |
| data: any, |
| dataPath?: string, |
| parentData?: object | Array<any>, |
| parentDataProperty?: string | number, |
| rootData?: object | Array<any> |
| ): boolean | PromiseLike<any>; |
| schema?: object | boolean; |
| errors?: null | Array<ErrorObject>; |
| refs?: object; |
| refVal?: Array<any>; |
| root?: ValidateFunction | object; |
| $async?: true; |
| source?: object; |
| } |
|
|
| interface Options { |
| $data?: boolean; |
| allErrors?: boolean; |
| verbose?: boolean; |
| jsonPointers?: boolean; |
| uniqueItems?: boolean; |
| unicode?: boolean; |
| format?: false | string; |
| formats?: object; |
| keywords?: object; |
| unknownFormats?: true | string[] | 'ignore'; |
| schemas?: Array<object> | object; |
| schemaId?: '$id' | 'id' | 'auto'; |
| missingRefs?: true | 'ignore' | 'fail'; |
| extendRefs?: true | 'ignore' | 'fail'; |
| loadSchema?: (uri: string, cb?: (err: Error, schema: object) => void) => PromiseLike<object | boolean>; |
| removeAdditional?: boolean | 'all' | 'failing'; |
| useDefaults?: boolean | 'empty' | 'shared'; |
| coerceTypes?: boolean | 'array'; |
| strictDefaults?: boolean | 'log'; |
| strictKeywords?: boolean | 'log'; |
| strictNumbers?: boolean; |
| async?: boolean | string; |
| transpile?: string | ((code: string) => string); |
| meta?: boolean | object; |
| validateSchema?: boolean | 'log'; |
| addUsedSchema?: boolean; |
| inlineRefs?: boolean | number; |
| passContext?: boolean; |
| loopRequired?: number; |
| ownProperties?: boolean; |
| multipleOfPrecision?: boolean | number; |
| errorDataPath?: string, |
| messages?: boolean; |
| sourceCode?: boolean; |
| processCode?: (code: string, schema: object) => string; |
| cache?: object; |
| logger?: CustomLogger | false; |
| nullable?: boolean; |
| serialize?: ((schema: object | boolean) => any) | false; |
| regExp?: (pattern: string) => RegExpLike; |
| } |
|
|
| interface RegExpLike { |
| test: (s: string) => boolean; |
| } |
|
|
| type FormatValidator = string | RegExp | ((data: string) => boolean | PromiseLike<any>); |
| type NumberFormatValidator = ((data: number) => boolean | PromiseLike<any>); |
|
|
| interface NumberFormatDefinition { |
| type: "number", |
| validate: NumberFormatValidator; |
| compare?: (data1: number, data2: number) => number; |
| async?: boolean; |
| } |
|
|
| interface StringFormatDefinition { |
| type?: "string", |
| validate: FormatValidator; |
| compare?: (data1: string, data2: string) => number; |
| async?: boolean; |
| } |
|
|
| type FormatDefinition = NumberFormatDefinition | StringFormatDefinition; |
|
|
| interface KeywordDefinition { |
| type?: string | Array<string>; |
| async?: boolean; |
| $data?: boolean; |
| errors?: boolean | string; |
| metaSchema?: object; |
| |
| schema?: boolean; |
| statements?: boolean; |
| dependencies?: Array<string>; |
| modifying?: boolean; |
| valid?: boolean; |
| |
| validate?: SchemaValidateFunction | ValidateFunction; |
| compile?: (schema: any, parentSchema: object, it: CompilationContext) => ValidateFunction; |
| macro?: (schema: any, parentSchema: object, it: CompilationContext) => object | boolean; |
| inline?: (it: CompilationContext, keyword: string, schema: any, parentSchema: object) => string; |
| } |
|
|
| interface CompilationContext { |
| level: number; |
| dataLevel: number; |
| dataPathArr: string[]; |
| schema: any; |
| schemaPath: string; |
| baseId: string; |
| async: boolean; |
| opts: Options; |
| formats: { |
| [index: string]: FormatDefinition | undefined; |
| }; |
| keywords: { |
| [index: string]: KeywordDefinition | undefined; |
| }; |
| compositeRule: boolean; |
| validate: (schema: object) => boolean; |
| util: { |
| copy(obj: any, target?: any): any; |
| toHash(source: string[]): { [index: string]: true | undefined }; |
| equal(obj: any, target: any): boolean; |
| getProperty(str: string): string; |
| schemaHasRules(schema: object, rules: any): string; |
| escapeQuotes(str: string): string; |
| toQuotedString(str: string): string; |
| getData(jsonPointer: string, dataLevel: number, paths: string[]): string; |
| escapeJsonPointer(str: string): string; |
| unescapeJsonPointer(str: string): string; |
| escapeFragment(str: string): string; |
| unescapeFragment(str: string): string; |
| }; |
| self: Ajv; |
| } |
|
|
| interface SchemaValidateFunction { |
| ( |
| schema: any, |
| data: any, |
| parentSchema?: object, |
| dataPath?: string, |
| parentData?: object | Array<any>, |
| parentDataProperty?: string | number, |
| rootData?: object | Array<any> |
| ): boolean | PromiseLike<any>; |
| errors?: Array<ErrorObject>; |
| } |
|
|
| interface ErrorsTextOptions { |
| separator?: string; |
| dataVar?: string; |
| } |
|
|
| interface ErrorObject { |
| keyword: string; |
| dataPath: string; |
| schemaPath: string; |
| params: ErrorParameters; |
| |
| propertyName?: string; |
| |
| message?: string; |
| |
| schema?: any; |
| parentSchema?: object; |
| data?: any; |
| } |
|
|
| type ErrorParameters = RefParams | LimitParams | AdditionalPropertiesParams | |
| DependenciesParams | FormatParams | ComparisonParams | |
| MultipleOfParams | PatternParams | RequiredParams | |
| TypeParams | UniqueItemsParams | CustomParams | |
| PatternRequiredParams | PropertyNamesParams | |
| IfParams | SwitchParams | NoParams | EnumParams; |
|
|
| interface RefParams { |
| ref: string; |
| } |
|
|
| interface LimitParams { |
| limit: number; |
| } |
|
|
| interface AdditionalPropertiesParams { |
| additionalProperty: string; |
| } |
|
|
| interface DependenciesParams { |
| property: string; |
| missingProperty: string; |
| depsCount: number; |
| deps: string; |
| } |
|
|
| interface FormatParams { |
| format: string |
| } |
|
|
| interface ComparisonParams { |
| comparison: string; |
| limit: number | string; |
| exclusive: boolean; |
| } |
|
|
| interface MultipleOfParams { |
| multipleOf: number; |
| } |
|
|
| interface PatternParams { |
| pattern: string; |
| } |
|
|
| interface RequiredParams { |
| missingProperty: string; |
| } |
|
|
| interface TypeParams { |
| type: string; |
| } |
|
|
| interface UniqueItemsParams { |
| i: number; |
| j: number; |
| } |
|
|
| interface CustomParams { |
| keyword: string; |
| } |
|
|
| interface PatternRequiredParams { |
| missingPattern: string; |
| } |
|
|
| interface PropertyNamesParams { |
| propertyName: string; |
| } |
|
|
| interface IfParams { |
| failingKeyword: string; |
| } |
|
|
| interface SwitchParams { |
| caseIndex: number; |
| } |
|
|
| interface NoParams { } |
|
|
| interface EnumParams { |
| allowedValues: Array<any>; |
| } |
| } |
|
|
| export = ajv; |
|
|