From e573f2132e37c8a92dfb6baad490fa482a09cbfe Mon Sep 17 00:00:00 2001 From: Miles Johnson Date: Tue, 25 Sep 2018 13:21:30 -0700 Subject: [PATCH] Decouple react from prop-types. --- types/prop-types/index.d.ts | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/types/prop-types/index.d.ts b/types/prop-types/index.d.ts index f6176dd59d..3b0a1164d6 100644 --- a/types/prop-types/index.d.ts +++ b/types/prop-types/index.d.ts @@ -5,7 +5,24 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { ReactNode, ReactElement } from 'react'; +export interface ReactElementLike { + type: string | ((...args: any[]) => ReactElementLike); + props: any; + key: string | number | null; + children?: ReactNodeLike; +} + +export interface ReactNodeArray extends Array {} + +export type ReactNodeLike = + | {} + | ReactElementLike + | ReactNodeArray + | string + | number + | boolean + | null + | undefined; export const nominalTypeHack: unique symbol; @@ -38,8 +55,8 @@ export const func: Requireable<(...args: any[]) => any>; export const number: Requireable; export const object: Requireable; export const string: Requireable; -export const node: Requireable; -export const element: Requireable>; +export const node: Requireable; +export const element: Requireable; export const symbol: Requireable; export function instanceOf(expectedClass: new (...args: any[]) => T): Requireable; export function oneOf(types: T[]): Requireable;