From 02272d4df562bf111a76b33a821d1a9f63221368 Mon Sep 17 00:00:00 2001 From: Evan Walsh Date: Wed, 3 Aug 2022 11:06:14 -0400 Subject: [PATCH 1/3] Export options and result types for `renderHook` --- src/renderHook.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/renderHook.tsx b/src/renderHook.tsx index 35760384b..ce2695cd5 100644 --- a/src/renderHook.tsx +++ b/src/renderHook.tsx @@ -2,13 +2,17 @@ import React from 'react'; import type { ComponentType } from 'react'; import render from './render'; -interface RenderHookResult { +export interface RenderHookResult { rerender: (props: Props) => void; result: { current: Result }; unmount: () => void; } -type RenderHookOptions = Props extends object | string | number | boolean +export type RenderHookOptions = Props extends + | object + | string + | number + | boolean ? { initialProps: Props; wrapper?: ComponentType; From 20e3ae65435c9307b21226baba0f849cc66b9ef9 Mon Sep 17 00:00:00 2001 From: Evan Walsh Date: Wed, 3 Aug 2022 11:06:30 -0400 Subject: [PATCH 2/3] Rename and export options type for `render` --- src/render.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/render.tsx b/src/render.tsx index 7f8142c60..4333ba79a 100644 --- a/src/render.tsx +++ b/src/render.tsx @@ -8,7 +8,7 @@ import debugDeep from './helpers/debugDeep'; import { getQueriesForElement } from './within'; import { setRenderResult } from './screen'; -type Options = { +export type RenderOptions = { wrapper?: React.ComponentType; createNodeMock?: (element: React.ReactElement) => any; }; @@ -24,7 +24,7 @@ export type RenderResult = ReturnType; */ export default function render( component: React.ReactElement, - { wrapper: Wrapper, createNodeMock }: Options = {} + { wrapper: Wrapper, createNodeMock }: RenderOptions = {} ) { const wrap = (innerElement: React.ReactElement) => Wrapper ? {innerElement} : innerElement; From cf3c8d03b0b260f45a9ee2df7f83d2a6751eee19 Mon Sep 17 00:00:00 2001 From: Evan Walsh Date: Tue, 9 Aug 2022 09:59:18 -0400 Subject: [PATCH 3/3] Add result and option types to `pure` exports --- src/pure.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pure.ts b/src/pure.ts index 34e48f8d7..66a425c90 100644 --- a/src/pure.ts +++ b/src/pure.ts @@ -1,15 +1,15 @@ import act from './act'; import cleanup from './cleanup'; import fireEvent from './fireEvent'; -import render, { RenderResult } from './render'; +import render, { RenderResult, RenderOptions } from './render'; import waitFor from './waitFor'; import waitForElementToBeRemoved from './waitForElementToBeRemoved'; import { within, getQueriesForElement } from './within'; import { getDefaultNormalizer } from './matches'; -import { renderHook } from './renderHook'; +import { renderHook, RenderHookOptions, RenderHookResult } from './renderHook'; import { screen } from './screen'; -export type { RenderResult }; +export type { RenderOptions, RenderResult }; export type RenderAPI = RenderResult; export { act }; @@ -20,5 +20,5 @@ export { waitFor }; export { waitForElementToBeRemoved }; export { within, getQueriesForElement }; export { getDefaultNormalizer }; -export { renderHook }; +export { renderHook, RenderHookOptions, RenderHookResult }; export { screen };