summaryrefslogtreecommitdiff
path: root/std/types/react-dom
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-dom
parent25bd6868e5af9f30656dabeff9683b256e0a9370 (diff)
Refactor std/types (#4713)
Diffstat (limited to 'std/types/react-dom')
-rw-r--r--std/types/react-dom/README.md13
-rw-r--r--std/types/react-dom/v16.13.1/react-dom.d.ts124
-rw-r--r--std/types/react-dom/v16.13.1/tests/react-dom_mock.js9
-rw-r--r--std/types/react-dom/v16.13.1/tests/react-dom_test.tsx20
-rw-r--r--std/types/react-dom/v16.13.1/tests/react_mock.js9
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.
+
+[![npm version](https://img.shields.io/npm/v/react-dom.svg?style=flat)](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;