Skip to content

Commit ecfd75b

Browse files
committed
refactor: update types to use type consistently
1 parent a82d5ef commit ecfd75b

File tree

3 files changed

+16
-10
lines changed

3 files changed

+16
-10
lines changed

src/core/index.ts

+5-6
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ function resultContainer<TValue>(): ResultContainer<TValue> {
4242

4343
function createRenderHook<TProps, TResult, TOptions extends {}, TRenderer extends Renderer<TProps>>(
4444
createRenderer: CreateRenderer<TProps, TResult, TOptions, TRenderer>
45-
) {
46-
const renderHook = (
47-
callback: (props: TProps) => TResult,
48-
options: RenderHookOptions<TProps, TOptions> = {} as RenderHookOptions<TProps, TOptions>
49-
): RenderHook<TProps, TResult, TRenderer> => {
45+
): RenderHook<TProps, TResult, TOptions> {
46+
const renderHook: RenderHook<TProps, TResult, TOptions> = (
47+
callback,
48+
options = {} as RenderHookOptions<TProps, TOptions>
49+
) => {
5050
const { result, setValue, setError, addResolver } = resultContainer<TResult>()
5151
const renderProps = { callback, setValue, setError }
5252
let hookProps = options.initialProps
@@ -81,7 +81,6 @@ function createRenderHook<TProps, TResult, TOptions extends {}, TRenderer extend
8181
// This dummy usage works around that.
8282
renderHook.name // eslint-disable-line @typescript-eslint/no-unused-expressions
8383

84-
8584
return renderHook
8685
}
8786

src/types/index.ts

+8-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export type AsyncUtils = {
3838
waitForValueToChange: (selector: () => unknown, options?: WaitOptions) => Promise<void>
3939
}
4040

41-
export type RenderHook<
41+
export type RenderHookResult<
4242
TProps,
4343
TValue,
4444
TRenderer extends Renderer<TProps> = Renderer<TProps>
@@ -51,6 +51,13 @@ export type RenderHookOptions<TProps, TOptions extends {}> = TOptions & {
5151
initialProps?: TProps
5252
}
5353

54+
export interface RenderHook<TProps, TResult, TOptions extends object> {
55+
(
56+
callback: (props: TProps) => TResult,
57+
options?: RenderHookOptions<TProps, TOptions>
58+
): RenderHookResult<TProps, TResult>
59+
}
60+
5461
export interface Act {
5562
(callback: () => void | undefined): void
5663
(callback: () => Promise<void | undefined>): Promise<undefined>

src/types/react.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import { ComponentType } from 'react'
22

3-
import { RenderHook, RenderHookOptions, Act } from '.'
3+
import { RenderHookOptions, RenderHookResult, Act } from '.'
44

55
export type WrapperComponent<TProps> = ComponentType<TProps>
66

77
export type RendererOptions<TProps> = {
88
wrapper?: WrapperComponent<TProps>
99
}
1010

11-
export interface ReactHooksRenderer {
11+
export type ReactHooksRenderer = {
1212
renderHook: <TProps, TResult>(
1313
callback: (props: TProps) => TResult,
1414
options?: RenderHookOptions<TProps, RendererOptions<TProps>>
15-
) => RenderHook<TProps, TResult>
15+
) => RenderHookResult<TProps, TResult>
1616
act: Act
1717
cleanup: () => void
1818
addCleanup: (callback: () => Promise<void> | void) => () => void

0 commit comments

Comments
 (0)