summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts')
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts126
1 files changed, 78 insertions, 48 deletions
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
index b687f78147..b815fda5a0 100644
--- a/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/ajv.d.ts
@@ -3,7 +3,7 @@ declare var ajv: {
new (options?: ajv.Options): ajv.Ajv;
ValidationError: ValidationError;
MissingRefError: MissingRefError;
- $dataMetaSchema: Object;
+ $dataMetaSchema: object;
}
declare namespace ajv {
@@ -11,51 +11,51 @@ declare namespace ajv {
/**
* Validate data using schema
* Schema will be compiled and cached (using serialized JSON as key, [fast-json-stable-stringify](https://github.com/epoberezkin/fast-json-stable-stringify) is used to serialize by default).
- * @param {String|Object|Boolean} schemaKeyRef key, ref or schema object
+ * @param {string|object|Boolean} schemaKeyRef key, ref or schema object
* @param {Any} data to be validated
* @return {Boolean} validation result. Errors from the last validation will be available in `ajv.errors` (and also in compiled schema: `schema.errors`).
*/
- validate(schemaKeyRef: Object | string | boolean, data: any): boolean | Thenable<any>;
+ validate(schemaKeyRef: object | string | boolean, data: any): boolean | Thenable<any>;
/**
* Create validating function for passed schema.
- * @param {Object|Boolean} schema schema object
+ * @param {object|Boolean} schema schema object
* @return {Function} validating function
*/
- compile(schema: Object | boolean): ValidateFunction;
+ compile(schema: object | boolean): ValidateFunction;
/**
* Creates validating function for passed schema with asynchronous loading of missing schemas.
* `loadSchema` option should be a function that accepts schema uri and node-style callback.
* @this Ajv
- * @param {Object|Boolean} schema schema object
+ * @param {object|Boolean} schema schema object
* @param {Boolean} meta optional true to compile meta-schema; this parameter can be skipped
* @param {Function} callback optional node-style callback, it is always called with 2 parameters: error (or null) and validating function.
* @return {Thenable<ValidateFunction>} validating function
*/
- compileAsync(schema: Object | boolean, meta?: Boolean, callback?: (err: Error, validate: ValidateFunction) => any): Thenable<ValidateFunction>;
+ compileAsync(schema: object | boolean, meta?: Boolean, callback?: (err: Error, validate: ValidateFunction) => any): Thenable<ValidateFunction>;
/**
* Adds schema to the instance.
- * @param {Object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored.
- * @param {String} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.
+ * @param {object|Array} schema schema or array of schemas. If array is passed, `key` and other parameters will be ignored.
+ * @param {string} key Optional schema key. Can be passed to `validate` method instead of schema object or id/ref. One schema per instance can have empty `id` and `key`.
* @return {Ajv} this for method chaining
*/
- addSchema(schema: Array<Object> | Object, key?: string): Ajv;
+ addSchema(schema: Array<object> | object, key?: string): Ajv;
/**
* Add schema that will be used to validate other schemas
* options in META_IGNORE_OPTIONS are alway set to false
- * @param {Object} schema schema object
- * @param {String} key optional schema key
+ * @param {object} schema schema object
+ * @param {string} key optional schema key
* @return {Ajv} this for method chaining
*/
- addMetaSchema(schema: Object, key?: string): Ajv;
+ addMetaSchema(schema: object, key?: string): Ajv;
/**
* Validate schema
- * @param {Object|Boolean} schema schema to validate
+ * @param {object|Boolean} schema schema to validate
* @return {Boolean} true if schema is valid
*/
- validateSchema(schema: Object | boolean): boolean;
+ validateSchema(schema: object | boolean): boolean;
/**
* Get compiled schema from the instance by `key` or `ref`.
- * @param {String} keyRef `key` that was passed to `addSchema` or full schema reference (`schema.id` or resolved id).
+ * @param {string} keyRef `key` that was passed to `addSchema` or full schema reference (`schema.id` or resolved id).
* @return {Function} schema validating function (with property `schema`).
*/
getSchema(keyRef: string): ValidateFunction;
@@ -64,44 +64,44 @@ declare namespace ajv {
* If no parameter is passed all schemas but meta-schemas are removed.
* If RegExp is passed all schemas with key/id matching pattern but meta-schemas are removed.
* Even if schema is referenced by other schemas it still can be removed as other schemas have local references.
- * @param {String|Object|RegExp|Boolean} schemaKeyRef key, ref, pattern to match key/ref or schema object
+ * @param {string|object|RegExp|Boolean} schemaKeyRef key, ref, pattern to match key/ref or schema object
* @return {Ajv} this for method chaining
*/
- removeSchema(schemaKeyRef?: Object | string | RegExp | boolean): Ajv;
+ removeSchema(schemaKeyRef?: object | string | RegExp | boolean): Ajv;
/**
* Add custom format
- * @param {String} name format name
- * @param {String|RegExp|Function} format string is converted to RegExp; function should return boolean (true when valid)
+ * @param {string} name format name
+ * @param {string|RegExp|Function} format string is converted to RegExp; function should return boolean (true when valid)
* @return {Ajv} this for method chaining
*/
addFormat(name: string, format: FormatValidator | FormatDefinition): Ajv;
/**
* Define custom keyword
* @this Ajv
- * @param {String} keyword custom keyword, should be a valid identifier, should be different from all standard, custom and macro keywords.
- * @param {Object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`.
+ * @param {string} keyword custom keyword, should be a valid identifier, should be different from all standard, custom and macro keywords.
+ * @param {object} definition keyword definition object with properties `type` (type(s) which the keyword applies to), `validate` or `compile`.
* @return {Ajv} this for method chaining
*/
addKeyword(keyword: string, definition: KeywordDefinition): Ajv;
/**
* Get keyword definition
* @this Ajv
- * @param {String} keyword pre-defined or custom keyword.
- * @return {Object|Boolean} custom keyword definition, `true` if it is a predefined keyword, `false` otherwise.
+ * @param {string} keyword pre-defined or custom keyword.
+ * @return {object|Boolean} custom keyword definition, `true` if it is a predefined keyword, `false` otherwise.
*/
- getKeyword(keyword: string): Object | boolean;
+ getKeyword(keyword: string): object | boolean;
/**
* Remove keyword
* @this Ajv
- * @param {String} keyword pre-defined or custom keyword.
+ * @param {string} keyword pre-defined or custom keyword.
* @return {Ajv} this for method chaining
*/
removeKeyword(keyword: string): Ajv;
/**
* Convert array of error message objects to string
- * @param {Array<Object>} errors optional array of validation errors, if not passed errors from the instance are used.
- * @param {Object} options optional options with properties `separator` and `dataVar`.
- * @return {String} human readable string with all errors descriptions
+ * @param {Array<object>} errors optional array of validation errors, if not passed errors from the instance are used.
+ * @param {object} options optional options with properties `separator` and `dataVar`.
+ * @return {string} human readable string with all errors descriptions
*/
errorsText(errors?: Array<ErrorObject>, options?: ErrorsTextOptions): string;
errors?: Array<ErrorObject>;
@@ -115,17 +115,17 @@ declare namespace ajv {
(
data: any,
dataPath?: string,
- parentData?: Object | Array<any>,
+ parentData?: object | Array<any>,
parentDataProperty?: string | number,
- rootData?: Object | Array<any>
+ rootData?: object | Array<any>
): boolean | Thenable<any>;
- schema?: Object | boolean;
+ schema?: object | boolean;
errors?: null | Array<ErrorObject>;
- refs?: Object;
+ refs?: object;
refVal?: Array<any>;
- root?: ValidateFunction | Object;
+ root?: ValidateFunction | object;
$async?: true;
- source?: Object;
+ source?: object;
}
interface Options {
@@ -136,19 +136,19 @@ declare namespace ajv {
uniqueItems?: boolean;
unicode?: boolean;
format?: string;
- formats?: Object;
+ formats?: object;
unknownFormats?: true | string[] | 'ignore';
- schemas?: Array<Object> | Object;
+ schemas?: Array<object> | object;
schemaId?: '$id' | 'id';
missingRefs?: true | 'ignore' | 'fail';
extendRefs?: true | 'ignore' | 'fail';
- loadSchema?: (uri: string, cb?: (err: Error, schema: Object) => void) => Thenable<Object | boolean>;
+ loadSchema?: (uri: string, cb?: (err: Error, schema: object) => void) => Thenable<object | boolean>;
removeAdditional?: boolean | 'all' | 'failing';
useDefaults?: boolean | 'shared';
coerceTypes?: boolean | 'array';
async?: boolean | string;
transpile?: string | ((code: string) => string);
- meta?: boolean | Object;
+ meta?: boolean | object;
validateSchema?: boolean | 'log';
addUsedSchema?: boolean;
inlineRefs?: boolean | number;
@@ -160,7 +160,7 @@ declare namespace ajv {
messages?: boolean;
sourceCode?: boolean;
processCode?: (code: string) => string;
- cache?: Object;
+ cache?: object;
}
type FormatValidator = string | RegExp | ((data: string) => boolean | Thenable<any>);
@@ -176,27 +176,57 @@ declare namespace ajv {
async?: boolean;
$data?: boolean;
errors?: boolean | string;
- metaSchema?: Object;
+ metaSchema?: object;
// schema: false makes validate not to expect schema (ValidateFunction)
schema?: boolean;
modifying?: boolean;
valid?: boolean;
// one and only one of the following properties should be present
validate?: SchemaValidateFunction | ValidateFunction;
- compile?: (schema: any, parentSchema: Object) => ValidateFunction;
- macro?: (schema: any, parentSchema: Object) => Object | boolean;
- inline?: (it: Object, keyword: string, schema: any, parentSchema: Object) => string;
+ 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;
+ schema: any;
+ schemaPath: string;
+ baseId: string;
+ async: boolean;
+ opts: Options;
+ formats: {
+ [index: string]: FormatDefinition | 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,
+ parentSchema?: object,
dataPath?: string,
- parentData?: Object | Array<any>,
+ parentData?: object | Array<any>,
parentDataProperty?: string | number,
- rootData?: Object | Array<any>
+ rootData?: object | Array<any>
): boolean | Thenable<any>;
errors?: Array<ErrorObject>;
}
@@ -217,7 +247,7 @@ declare namespace ajv {
message?: string;
// These are added with the `verbose` option.
schema?: any;
- parentSchema?: Object;
+ parentSchema?: object;
data?: any;
}