UNPKG

declarations

Version:

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

53 lines (43 loc) 1.35 kB
// Type definitions for jsen (JSON Sentinel) // Project: https://github.com/bugventure/jsen // Definitions by: Vladimir Đokić <https://github.com/vladeck/> // Definitions: https://github.com/borisyankov/DefinitelyTyped declare module Jsen { export interface JsenFormats { [key: string]: string | RegExp | Function; } export interface JsenSettings { missing$Ref?: boolean; greedy?: boolean; formats?: JsenFormats; schemas?: any; } export interface JsenBuildSettings { copy?: boolean; additionalProperties?: boolean; } export interface JsenValidator { (data?: any): boolean; build(initial?: any, options?: JsenBuildSettings): any; errors: JsenValidateError[]; } export interface JsenValidateError { path: string; keyword: string; message?: string; } export interface JsenUnique { (array: any[]): boolean; findIndex(array: any[], value: any, comparator: (obj1: any, obj2: any) => boolean): number; } export interface JsenMain { (schema?: any, options?: JsenSettings): JsenValidator; clone(data: any): any; equal(a: any, b: any): boolean; unique: JsenUnique; } } declare module "jsen" { var _jsen: Jsen.JsenMain; export = _jsen; }