UNPKG

jaywalk

Version:
24 lines (23 loc) 800 B
import { Rule } from './rule'; import { Any, AnyOptions } from './any'; import { Context, Ref } from '../utils'; export interface ObjectOptions extends AnyOptions { minKeys?: number | Ref; maxKeys?: number | Ref; properties?: ObjectProperties; propertyTypes?: ObjectPropertyTypes; } export interface ObjectProperties { [key: string]: Rule; } export declare type ObjectPropertyTypes = Array<[Rule, Rule]>; export declare class Object extends Any implements ObjectOptions { type: string; minKeys: number | Ref; maxKeys: number | Ref; properties: ObjectProperties; propertyTypes: ObjectPropertyTypes; constructor(options: ObjectOptions); _isType(value: any, path: string[], context: Context): number; _extend(options: ObjectOptions): ObjectOptions; }