diff options
Diffstat (limited to 'std/types/react-dom')
-rw-r--r-- | std/types/react-dom/README.md | 13 | ||||
-rw-r--r-- | std/types/react-dom/v16.13.1/react-dom.d.ts | 124 | ||||
-rw-r--r-- | std/types/react-dom/v16.13.1/tests/react-dom_mock.js | 9 | ||||
-rw-r--r-- | std/types/react-dom/v16.13.1/tests/react-dom_test.tsx | 20 | ||||
-rw-r--r-- | std/types/react-dom/v16.13.1/tests/react_mock.js | 9 |
5 files changed, 175 insertions, 0 deletions
diff --git a/std/types/react-dom/README.md b/std/types/react-dom/README.md new file mode 100644 index 000000000..acf5ee8cd --- /dev/null +++ b/std/types/react-dom/README.md @@ -0,0 +1,13 @@ +Types for Facebook's React DOM library. + +[](https://www.npmjs.com/package/react-dom) + +This package serves as the entry point to the DOM and server renderers for +Facebook's React library. + +### Usage Examples + +```typescript +// @deno-types="https://deno.land/std/types/react-dom/v16.13.1/react-dom.d.ts" +import ReactDOM from "https://cdn.pika.dev/@pika/react-dom@v16.13.1"; +``` diff --git a/std/types/react-dom/v16.13.1/react-dom.d.ts b/std/types/react-dom/v16.13.1/react-dom.d.ts new file mode 100644 index 000000000..4880970bd --- /dev/null +++ b/std/types/react-dom/v16.13.1/react-dom.d.ts @@ -0,0 +1,124 @@ +// These types are adapted from +// https://github.com/DefinitelyTyped/DefinitelyTyped to work under Deno. +// +// Project: http://facebook.github.io/react/ +// Definitions by: Asana <https://asana.com> +// AssureSign <http://www.assuresign.com> +// Microsoft <https://microsoft.com> +// MartynasZilinskas <https://github.com/MartynasZilinskas> +// Josh Rutherford <https://github.com/theruther4d> +// Jessica Franco <https://github.com/Jessidhia> +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.8 + +// NOTE: Users of the `experimental` builds of React should add a reference +// to 'react-dom/experimental' in their project. See experimental.d.ts's top comment +// for reference and documentation on how exactly to do it. + +/* eslint-disable */ + +export as namespace ReactDOM; + +import { + ReactInstance, + Component, + ComponentState, + ReactElement, + SFCElement, + CElement, + DOMAttributes, + DOMElement, + ReactNode, + ReactPortal, +} from "../../react/v16.13.1/react.d.ts"; + +export function findDOMNode( + instance: ReactInstance | null | undefined +): Element | null | Text; +export function unmountComponentAtNode(container: Element): boolean; + +export function createPortal( + children: ReactNode, + container: Element, + key?: null | string +): ReactPortal; + +export const version: string; +export const render: Renderer; +export const hydrate: Renderer; + +export function unstable_batchedUpdates<A, B>( + callback: (a: A, b: B) => any, + a: A, + b: B +): void; +export function unstable_batchedUpdates<A>(callback: (a: A) => any, a: A): void; +export function unstable_batchedUpdates(callback: () => any): void; + +export function unstable_renderSubtreeIntoContainer<T extends Element>( + parentComponent: Component<any>, + element: DOMElement<DOMAttributes<T>, T>, + container: Element, + callback?: (element: T) => any +): T; +export function unstable_renderSubtreeIntoContainer< + P, + T extends Component<P, ComponentState> +>( + parentComponent: Component<any>, + element: CElement<P, T>, + container: Element, + callback?: (component: T) => any +): T; +export function unstable_renderSubtreeIntoContainer<P>( + parentComponent: Component<any>, + element: ReactElement<P>, + container: Element, + callback?: (component?: Component<P, ComponentState> | Element) => any +): Component<P, ComponentState> | Element | void; + +export interface Renderer { + // Deprecated(render): The return value is deprecated. + // In future releases the render function's return type will be void. + + <T extends Element>( + element: DOMElement<DOMAttributes<T>, T>, + container: Element | null, + callback?: () => void + ): T; + + ( + element: Array<DOMElement<DOMAttributes<any>, any>>, + container: Element | null, + callback?: () => void + ): Element; + + ( + element: SFCElement<any> | Array<SFCElement<any>>, + container: Element | null, + callback?: () => void + ): void; + + <P, T extends Component<P, ComponentState>>( + element: CElement<P, T>, + container: Element | null, + callback?: () => void + ): T; + + ( + element: Array<CElement<any, Component<any, ComponentState>>>, + container: Element | null, + callback?: () => void + ): Component<any, ComponentState>; + + <P>( + element: ReactElement<P>, + container: Element | null, + callback?: () => void + ): Component<P, ComponentState> | Element | void; + + (element: ReactElement[], container: Element | null, callback?: () => void): + | Component<any, ComponentState> + | Element + | void; +} diff --git a/std/types/react-dom/v16.13.1/tests/react-dom_mock.js b/std/types/react-dom/v16.13.1/tests/react-dom_mock.js new file mode 100644 index 000000000..cbc20958b --- /dev/null +++ b/std/types/react-dom/v16.13.1/tests/react-dom_mock.js @@ -0,0 +1,9 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +const ReactDOM = { + render(element) { + return JSON.stringify(element); + }, +}; + +export default ReactDOM; diff --git a/std/types/react-dom/v16.13.1/tests/react-dom_test.tsx b/std/types/react-dom/v16.13.1/tests/react-dom_test.tsx new file mode 100644 index 000000000..e754ad0de --- /dev/null +++ b/std/types/react-dom/v16.13.1/tests/react-dom_test.tsx @@ -0,0 +1,20 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +// @deno-types="../../../react/v16.13.1/react.d.ts" +import React from "./react_mock.js"; +// @deno-types="../react-dom.d.ts" +import ReactDOM from "./react-dom_mock.js"; + +import { assertEquals } from "../../../../testing/asserts.ts"; + +const { test } = Deno; + +test({ + name: "ReactDOM is typed to render", + fn() { + assertEquals( + ReactDOM.render(<div />, null), + '"{\\"type\\":\\"div\\",\\"props\\":null,\\"children\\":[]}"' + ); + } +}); diff --git a/std/types/react-dom/v16.13.1/tests/react_mock.js b/std/types/react-dom/v16.13.1/tests/react_mock.js new file mode 100644 index 000000000..3dec4f422 --- /dev/null +++ b/std/types/react-dom/v16.13.1/tests/react_mock.js @@ -0,0 +1,9 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +const React = { + createElement(type, props, ...children) { + return JSON.stringify({ type, props, children }); + }, +}; + +export default React; |