Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4786242

Browse files
authored
fix: Type for options in autodetected renderer was incorrectly inferring any passed type (#527)
Changed `renderHook` in `ReactHooksRenderer` type to not use a generic for options but rather the react specific `RendererOptions`. Moved `ReactHooksRenderer` into react specific types as all auto-detected renders are react renderers. All modules are currently exporting both the shared types and the react types so this a non-breaking change.
1 parent f6096ba commit 4786242

File tree

5 files changed

+16
-14
lines changed

5 files changed

+16
-14
lines changed

‎src/pure.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ReactHooksRenderer } from './types'
1+
import { ReactHooksRenderer } from './types/react'
22

33
const renderers = [
44
{ required: 'react-test-renderer', renderer: './native/pure' },

‎src/types/index.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,6 @@ export type RenderHook<
4747
Omit<TRenderer, keyof Renderer<TProps>> &
4848
AsyncUtils
4949

50-
export interface ReactHooksRenderer {
51-
renderHook: <TProps, TResult, TOptions>(
52-
callback: (props: TProps) => TResult,
53-
options?: RenderHookOptions<TProps, TOptions>
54-
) => RenderHook<TProps, TResult>
55-
act: Act
56-
cleanup: () => void
57-
addCleanup: (callback: () => Promise<void> | void) => () => void
58-
removeCleanup: (callback: () => Promise<void> | void) => void
59-
}
60-
6150
export type RenderHookOptions<TProps, TOptions extends {}> = TOptions & {
6251
initialProps?: TProps
6352
}

‎src/types/react.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
import { ComponentType } from 'react'
22

3+
import { RenderHook, RenderHookOptions, Act } from '.'
4+
35
export type WrapperComponent<TProps> = ComponentType<TProps>
46

57
export type RendererOptions<TProps> = {
68
wrapper?: WrapperComponent<TProps>
79
}
10+
11+
export interface ReactHooksRenderer {
12+
renderHook: <TProps, TResult>(
13+
callback: (props: TProps) => TResult,
14+
options?: RenderHookOptions<TProps, RendererOptions<TProps>>
15+
) => RenderHook<TProps, TResult>
16+
act: Act
17+
cleanup: () => void
18+
addCleanup: (callback: () => Promise<void> | void) => () => void
19+
removeCleanup: (callback: () => Promise<void> | void) => void
20+
}

‎test/dom/autoCleanup.disabled.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useEffect } from 'react'
22

3-
import { ReactHooksRenderer } from 'types'
3+
import { ReactHooksRenderer } from 'types/react'
44

55
// This verifies that if RHTL_SKIP_AUTO_CLEANUP is set
66
// then we DON'T auto-wire up the afterEach for folks

‎test/dom/autoCleanup.noAfterEach.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useEffect } from 'react'
22

3-
import { ReactHooksRenderer } from 'types'
3+
import { ReactHooksRenderer } from 'types/react'
44

55
// This verifies that if RHTL_SKIP_AUTO_CLEANUP is set
66
// then we DON'T auto-wire up the afterEach for folks

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /