summaryrefslogtreecommitdiff
path: root/std/types/react/prop-types.d.ts
diff options
context:
space:
mode:
authorSteven Guerrero <42647963+Soremwar@users.noreply.github.com>2020-04-13 12:15:18 -0500
committerGitHub <noreply@github.com>2020-04-13 13:15:18 -0400
commit8397cd52a5ec915a0b5e85d337cfcc38f4aaa63f (patch)
treea36ae457fd502205153dc7f3b1f777ff1bf40924 /std/types/react/prop-types.d.ts
parent25bd6868e5af9f30656dabeff9683b256e0a9370 (diff)
Refactor std/types (#4713)
Diffstat (limited to 'std/types/react/prop-types.d.ts')
-rw-r--r--std/types/react/prop-types.d.ts123
1 files changed, 0 insertions, 123 deletions
diff --git a/std/types/react/prop-types.d.ts b/std/types/react/prop-types.d.ts
deleted file mode 100644
index 0bb0e47e9..000000000
--- a/std/types/react/prop-types.d.ts
+++ /dev/null
@@ -1,123 +0,0 @@
-// These types are adapted from
-// https://github.com/DefinitelyTyped/DefinitelyTyped to work under Deno.
-//
-// Type definitions for prop-types 15.7
-// Project: https://github.com/reactjs/prop-types, https://facebook.github.io/react
-// Definitions by: DovydasNavickas <https://github.com/DovydasNavickas>
-// Ferdy Budhidharma <https://github.com/ferdaber>
-// Sebastian Silbermann <https://github.com/eps1lon>
-// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-// TypeScript Version: 2.8
-
-/* eslint-disable */
-export type ReactComponentLike =
- | string
- | ((props: any, context?: any) => any)
- | (new (props: any, context?: any) => any);
-
-export interface ReactElementLike {
- type: ReactComponentLike;
- props: any;
- key: string | number | null;
-}
-
-export interface ReactNodeArray extends Array<ReactNodeLike> {}
-
-export type ReactNodeLike =
- | {}
- | ReactElementLike
- | ReactNodeArray
- | string
- | number
- | boolean
- | null
- | undefined;
-
-export const nominalTypeHack: unique symbol;
-
-export type IsOptional<T> = undefined extends T ? true : false;
-
-export type RequiredKeys<V> = {
- [K in keyof V]-?: Exclude<V[K], undefined> extends Validator<infer T>
- ? IsOptional<T> extends true
- ? never
- : K
- : never;
-}[keyof V];
-export type OptionalKeys<V> = Exclude<keyof V, RequiredKeys<V>>;
-export type InferPropsInner<V> = { [K in keyof V]-?: InferType<V[K]> };
-
-export interface Validator<T> {
- (
- props: { [key: string]: any },
- propName: string,
- componentName: string,
- location: string,
- propFullName: string
- ): Error | null;
- [nominalTypeHack]?: {
- type: T;
- };
-}
-
-export interface Requireable<T> extends Validator<T | undefined | null> {
- isRequired: Validator<NonNullable<T>>;
-}
-
-export type ValidationMap<T> = { [K in keyof T]?: Validator<T[K]> };
-
-export type InferType<V> = V extends Validator<infer T> ? T : any;
-export type InferProps<V> = InferPropsInner<Pick<V, RequiredKeys<V>>> &
- Partial<InferPropsInner<Pick<V, OptionalKeys<V>>>>;
-
-export const any: Requireable<any>;
-export const array: Requireable<any[]>;
-export const bool: Requireable<boolean>;
-export const func: Requireable<(...args: any[]) => any>;
-export const number: Requireable<number>;
-export const object: Requireable<object>;
-export const string: Requireable<string>;
-export const node: Requireable<ReactNodeLike>;
-export const element: Requireable<ReactElementLike>;
-export const symbol: Requireable<symbol>;
-export const elementType: Requireable<ReactComponentLike>;
-export function instanceOf<T>(
- expectedClass: new (...args: any[]) => T
-): Requireable<T>;
-export function oneOf<T>(types: ReadonlyArray<T>): Requireable<T>;
-export function oneOfType<T extends Validator<any>>(
- types: T[]
-): Requireable<NonNullable<InferType<T>>>;
-export function arrayOf<T>(type: Validator<T>): Requireable<T[]>;
-export function objectOf<T>(
- type: Validator<T>
-): Requireable<{ [K in keyof any]: T }>;
-export function shape<P extends ValidationMap<any>>(
- type: P
-): Requireable<InferProps<P>>;
-export function exact<P extends ValidationMap<any>>(
- type: P
-): Requireable<Required<InferProps<P>>>;
-
-/**
- * Assert that the values match with the type specs.
- * Error messages are memorized and will only be shown once.
- *
- * @param typeSpecs Map of name to a ReactPropType
- * @param values Runtime values that need to be type-checked
- * @param location e.g. "prop", "context", "child context"
- * @param componentName Name of the component for error messages
- * @param getStack Returns the component stack
- */
-export function checkPropTypes(
- typeSpecs: any,
- values: any,
- location: string,
- componentName: string,
- getStack?: () => any
-): void;
-
-/**
- * Only available if NODE_ENV=production
- */
-export function resetWarningCache(): void;