/
index.d.ts
58 lines (50 loc) · 2.28 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// Type definitions for @testing-library/react 10.0
// Project: https://github.com/testing-library/react-testing-library
// Definitions by: Alex Krolick <https://github.com/alexkrolick>
// Kent C Dodds <https://github.com/kentcdodds>
// Sebastian Silbermann <https://github.com/eps1lon>
// Weyert de Boer <https://github.com/weyert>
// Ifiok Jr. <https://github.com/ifiokjr>
// Daniel Afonso <https://github.com/danieljcafonso>
// Tim Swalling <https://github.com/timswalling>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 3.0
import { OptionsReceived as PrettyFormatOptions } from 'pretty-format';
import { queries, Queries, BoundFunction } from '@testing-library/dom';
import { act as reactAct } from 'react-dom/test-utils';
export * from '@testing-library/dom';
export type RenderResult<Q extends Queries = typeof queries> = {
container: HTMLElement;
baseElement: HTMLElement;
debug: (
baseElement?: HTMLElement | DocumentFragment | Array<HTMLElement | DocumentFragment>,
maxLength?: number,
options?: PrettyFormatOptions
) => void;
rerender: (ui: React.ReactElement) => void;
unmount: () => boolean;
asFragment: () => DocumentFragment;
} & { [P in keyof Q]: BoundFunction<Q[P]> };
export interface RenderOptions<Q extends Queries = typeof queries> {
container?: HTMLElement;
baseElement?: HTMLElement;
hydrate?: boolean;
queries?: Q;
wrapper?: React.ComponentType;
}
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
/**
* Render into a container which is appended to document.body. It should be used with cleanup.
*/
export function render(ui: React.ReactElement, options?: Omit<RenderOptions, 'queries'>): RenderResult;
export function render<Q extends Queries>(ui: React.ReactElement, options: RenderOptions<Q>): RenderResult<Q>;
/**
* Unmounts React trees that were mounted with render.
*/
export function cleanup(): Promise<void>;
/**
* Simply calls ReactDOMTestUtils.act(cb)
* If that's not available (older version of react) then it
* simply calls the given callback immediately
*/
export const act: typeof reactAct extends undefined ? (callback: () => void) => void : typeof reactAct;