UNPKG

declarations

Version:

[![npm version](https://badge.fury.io/js/declarations.svg)](https://www.npmjs.com/package/declarations)

104 lines (92 loc) 2.64 kB
// Type definitions for jsonschema // Project: https://github.com/tdegrunt/jsonschema // Definitions by: Vlado Tešanovic <https://github.com/vladotesanovic> // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare module "jsonschema" { export interface IJSONSchemaResult { errors: Array<IJSONSchemaValidationError>; instance: any; arguments: Array<{}>; propertyPath: string; name: string; schema: {}; throwError: any; disableFormat: boolean; } export interface IJSONSchemaValidationError { message: string; property: string; stack: string; schema: {}; name: string; instance: any; argument: {}; } export interface IJSONSchemaOptions { propertyName?: string; base?: string; } /** * How to; * * const v: Validator = new Validator(); * * const schema: {} = { * "type": "object", * "properties": { * "key": { * "type": "string", * "required": true * }, * "value": { * "type": "string", * "required": true * } * } * }; * * const validationResults: { errors: Array<IJSONSchemaValidationError> } = * v.validate({ key: "Name", value: "A10" }, {"type": "string"}); * */ export class Validator { /** * Creates a new Validator object * @name Validator * @constructor */ new(): this; /** * Validates instance against the provided schema * @param instance * @param schema * @param [options] * @param [ctx] * @return {Array} */ validate(instance: any, schema: {}, options?: IJSONSchemaOptions, ctx?: {}): IJSONSchemaResult; /** * Adds a schema with a certain urn to the Validator instance. * @param schema * @param urn * @return {Object} */ addSchema(schema: {}, urn: string): {}; /** * Add Sub schema to existing one * @param baseuri * @param schema */ addSubSchema(baseuri: string, schema: {}): {} /** * Sets all the schemas of the Validator instance. * @param schemas */ setSchemas (schemas: Array<{}>): void; /** * Returns the schema of a certain urn * @param urn */ getSchema(urn: string): {}; } }