From 1bf4ea2d7fecd4648cc4cc21b3e48e31dabd806a Mon Sep 17 00:00:00 2001 From: Dovydas Navickas Date: Sat, 8 Apr 2017 22:21:31 +0300 Subject: [PATCH] Update index.d.ts --- types/prop-types/index.d.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/types/prop-types/index.d.ts b/types/prop-types/index.d.ts index 8b13789179..8cf962087e 100644 --- a/types/prop-types/index.d.ts +++ b/types/prop-types/index.d.ts @@ -1 +1,35 @@ +// Type definitions for prop-types v15.5.4 +// Project: https://github.com/reactjs/prop-types +// Definitions by: DovydasNavickas +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 +interface Validator { + (object: T, key: string, componentName: string, ...rest: any[]): Error | null; +} + +interface Requireable extends Validator { + isRequired: Validator; +} + +type ValidationMap = {[K in keyof T]?: Validator }; + +declare namespace ReactPropTypes { + export var any: Requireable; + export var array: Requireable; + export var bool: Requireable; + export var func: Requireable; + export var number: Requireable; + export var object: Requireable; + export var string: Requireable; + export var node: Requireable; + export var element: Requireable; + export function instanceOf(expectedClass: {}): Requireable; + export function oneOf(types: any[]): Requireable; + export function oneOfType(types: Validator[]): Requireable; + export function arrayOf(type: Validator): Requireable; + export function objectOf(type: Validator): Requireable; + export function shape(type: ValidationMap): Requireable; +} + +export = ReactPropTypes;