From 16b1a7dee5983843c56b31a0ff8314a53acb3803 Mon Sep 17 00:00:00 2001 From: chochihim Date: Fri, 4 Jan 2019 17:15:32 +0800 Subject: [PATCH] fix(TS): add queries typings --- typings/index.d.ts | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/typings/index.d.ts b/typings/index.d.ts index 4aac7035..67c47ecd 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -1,31 +1,44 @@ -import {getQueriesForElement} from 'dom-testing-library' +import {queries, BoundFunction} from 'dom-testing-library' export * from 'dom-testing-library' -type GetsAndQueries = ReturnType +interface Query extends Function { + (container: HTMLElement, ...args): HTMLElement[] | HTMLElement | null +} + +interface Queries { + [T: string]: Query +} -export interface RenderResult extends GetsAndQueries { +export type RenderResult = { container: HTMLElement baseElement: HTMLElement debug: (baseElement?: HTMLElement | DocumentFragment) => void rerender: (ui: React.ReactElement) => void unmount: () => boolean asFragment: () => DocumentFragment -} +} & {[P in keyof Q]: BoundFunction} -export interface RenderOptions { +export interface RenderOptions { container?: HTMLElement baseElement?: HTMLElement hydrate?: boolean + queries?: Q } +type Omit = Pick> + /** * Render into a container which is appended to document.body. It should be used with cleanup. */ export function render( ui: React.ReactElement, - options?: RenderOptions, + options?: Omit, ): RenderResult +export function render( + ui: React.ReactElement, + options: RenderOptions, +): RenderResult /** * Unmounts React trees that were mounted with render.