@@ -43,10 +43,10 @@ function resultContainer<TValue>(): ResultContainer<TValue> {
43
43
function createRenderHook < TProps , TResult , TOptions extends { } , TRenderer extends Renderer < TProps > > (
44
44
createRenderer : CreateRenderer < TProps , TResult , TOptions , TRenderer >
45
45
) {
46
- return function renderHook (
46
+ const renderHook = (
47
47
callback : ( props : TProps ) => TResult ,
48
48
options : RenderHookOptions < TProps , TOptions > = { } as RenderHookOptions < TProps , TOptions >
49
- ) : RenderHook < TProps , TResult , TRenderer > {
49
+ ) : RenderHook < TProps , TResult , TRenderer > => {
50
50
const { result, setValue, setError, addResolver } = resultContainer < TResult > ( )
51
51
const renderProps = { callback, setValue, setError }
52
52
let hookProps = options . initialProps
@@ -75,6 +75,13 @@ function createRenderHook<TProps, TResult, TOptions extends {}, TRenderer extend
75
75
...renderUtils
76
76
}
77
77
}
78
+
79
+ // If the function name does not get used before it is returned,
80
+ // it seems to vanish in nodejs and does not appear in stack traces.
81
+ // This dummy usage works around that.
82
+ const _name = renderHook . name // eslint-disable-line @typescript-eslint/no-unused-vars
83
+
84
+ return renderHook
78
85
}
79
86
80
87
export { createRenderHook , cleanup , addCleanup , removeCleanup }
0 commit comments