(
callback: (props: TProps) => TResult,
options = {} as RenderHookOptions<TProps> & TRendererOptions
)
| 47 | TRenderer extends Renderer<TProps> |
| 48 | >(createRenderer: CreateRenderer<TProps, TResult, TRendererOptions, TRenderer>) { |
| 49 | const renderHook = ( |
| 50 | callback: (props: TProps) => TResult, |
| 51 | options = {} as RenderHookOptions<TProps> & TRendererOptions |
| 52 | ) => { |
| 53 | const { result, setValue, setError, addResolver } = resultContainer<TResult>() |
| 54 | const renderProps = { callback, setValue, setError } |
| 55 | let hookProps = options.initialProps |
| 56 | |
| 57 | const { render, rerender, unmount, act, ...renderUtils } = createRenderer(renderProps, options) |
| 58 | |
| 59 | render(hookProps) |
| 60 | |
| 61 | const rerenderHook = (newProps = hookProps) => { |
| 62 | hookProps = newProps |
| 63 | rerender(hookProps) |
| 64 | } |
| 65 | |
| 66 | const unmountHook = () => { |
| 67 | removeCleanup(unmountHook) |
| 68 | unmount() |
| 69 | } |
| 70 | |
| 71 | addCleanup(unmountHook) |
| 72 | |
| 73 | return { |
| 74 | result, |
| 75 | rerender: rerenderHook, |
| 76 | unmount: unmountHook, |
| 77 | ...asyncUtils(act, addResolver), |
| 78 | ...renderUtils |
| 79 | } |
| 80 | } |
| 81 | |
| 82 | return renderHook |
| 83 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…