You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
126 lines
3.1 KiB
126 lines
3.1 KiB
/* |
|
This is type definition for typescript. |
|
This is for library users. Thus, properties and methods for internal use is omitted. |
|
*/ |
|
export declare class Validator { |
|
constructor(); |
|
customFormats: {[formatName: string]: CustomFormat}; |
|
schemas: {[id: string]: Schema}; |
|
unresolvedRefs: string[]; |
|
|
|
attributes: {[property: string]: CustomProperty}; |
|
|
|
addSchema(schema?: Schema, uri?: string): Schema|void; |
|
validate(instance: any, schema: Schema, options?: Options, ctx?: SchemaContext): ValidatorResult; |
|
} |
|
|
|
export declare class ValidatorResult { |
|
constructor(instance: any, schema: Schema, options: Options, ctx: SchemaContext) |
|
instance: any; |
|
schema: Schema; |
|
propertyPath: string; |
|
errors: ValidationError[]; |
|
throwError: boolean; |
|
disableFormat: boolean; |
|
valid: boolean; |
|
addError(detail: string|ErrorDetail): ValidationError; |
|
toString(): string; |
|
} |
|
|
|
export declare class ValidationError { |
|
constructor(message?: string, instance?: any, schema?: Schema, propertyPath?: any, name?: string, argument?: any); |
|
property: string; |
|
message: string; |
|
schema: string|Schema; |
|
instance: any; |
|
name: string; |
|
argument: any; |
|
toString(): string; |
|
} |
|
|
|
export declare class SchemaError extends Error{ |
|
constructor(msg: string, schema: Schema); |
|
schema: Schema; |
|
message: string; |
|
} |
|
|
|
export declare function validate(instance: any, schema: any, options?: Options): ValidatorResult |
|
|
|
export interface Schema { |
|
id?: string |
|
$schema?: string |
|
$ref?: string |
|
title?: string |
|
description?: string |
|
multipleOf?: number |
|
maximum?: number |
|
exclusiveMaximum?: boolean |
|
minimum?: number |
|
exclusiveMinimum?: boolean |
|
maxLength?: number |
|
minLength?: number |
|
pattern?: string |
|
additionalItems?: boolean | Schema |
|
items?: Schema | Schema[] |
|
maxItems?: number |
|
minItems?: number |
|
uniqueItems?: boolean |
|
maxProperties?: number |
|
minProperties?: number |
|
required?: string[] |
|
additionalProperties?: boolean | Schema |
|
definitions?: { |
|
[name: string]: Schema |
|
} |
|
properties?: { |
|
[name: string]: Schema |
|
} |
|
patternProperties?: { |
|
[name: string]: Schema |
|
} |
|
dependencies?: { |
|
[name: string]: Schema | string[] |
|
} |
|
'enum'?: any[] |
|
type?: string | string[] |
|
format?: string |
|
allOf?: Schema[] |
|
anyOf?: Schema[] |
|
oneOf?: Schema[] |
|
not?: Schema |
|
} |
|
|
|
export interface Options { |
|
skipAttributes?: string[]; |
|
allowUnknownAttributes?: boolean; |
|
rewrite?: RewriteFunction; |
|
propertyName?: string; |
|
base?: string; |
|
throwError?: boolean; |
|
} |
|
|
|
export interface RewriteFunction { |
|
(instance: any, schema: Schema, options: Options, ctx: SchemaContext): any; |
|
} |
|
|
|
export interface SchemaContext { |
|
schema: Schema; |
|
options: Options; |
|
propertyPath: string; |
|
base: string; |
|
schemas: {[base: string]: Schema}; |
|
} |
|
|
|
export interface CustomFormat { |
|
(input: any): boolean; |
|
} |
|
|
|
export interface CustomProperty { |
|
(instance: any, schema: Schema, options: Options, ctx: SchemaContext): string|ValidatorResult; |
|
} |
|
|
|
export interface ErrorDetail { |
|
message: string; |
|
name: string; |
|
argument: string; |
|
}
|
|
|