@@ -126,8 +126,8 @@ object Api {
126126 *
127127 * @see https://reactjs.org/docs/hooks-reference.html#usecallback
128128 */
129- final def useCallbackWithDeps [A , D ]( callback : => A , deps : => D )(implicit a : UseCallbackArg [A ], r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
130- useCallbackWithDepsBy(_ => callback, _ => deps )
129+ final def useCallbackWithDeps [D , A ]( deps : => D )( callback : D => A )(implicit a : UseCallbackArg [A ], r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
130+ useCallbackWithDepsBy(_ => deps)( _ => callback )
131131
132132 /** Returns a memoized callback.
133133 *
@@ -137,8 +137,8 @@ object Api {
137137 *
138138 * @see https://reactjs.org/docs/hooks-reference.html#usecallback
139139 */
140- final def useCallbackWithDepsBy [A , D ]( callback : Ctx => A , deps : Ctx => D )(implicit a : UseCallbackArg [A ], r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
141- customBy(ctx => UseCallback (callback (ctx), deps (ctx)))
140+ final def useCallbackWithDepsBy [D , A ]( deps : Ctx => D )( callback : Ctx => D => A )(implicit a : UseCallbackArg [A ], r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
141+ customBy(ctx => UseCallback .withDeps(deps (ctx))(callback (ctx)))
142142
143143 /** Accepts a context object and returns the current context value for that context. The current context value is
144144 * determined by the value prop of the nearest `<MyContext.Provider>` above the calling component in the tree.
@@ -243,8 +243,8 @@ object Api {
243243 *
244244 * @see https://reactjs.org/docs/hooks-reference.html#useeffect
245245 */
246- final def useEffectWithDeps [A , D ]( effect : A , deps : => D )(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
247- custom(ReusableEffect .useEffect(effect, deps))
246+ final def useEffectWithDeps [D , A ]( deps : => D )( effect : D => A )(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
247+ custom(ReusableEffect .useEffect(deps)(effect ))
248248
249249 /** The callback passed to useEffect will run after the render is committed to the screen. Think of effects as an
250250 * escape hatch from React’s purely functional world into the imperative world.
@@ -253,8 +253,8 @@ object Api {
253253 *
254254 * @see https://reactjs.org/docs/hooks-reference.html#useeffect
255255 */
256- final def useEffectWithDepsBy [A , D ]( effect : Ctx => A , deps : Ctx => D )(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
257- customBy(ctx => ReusableEffect .useEffect(effect (ctx), deps (ctx)))
256+ final def useEffectWithDepsBy [D , A ]( deps : Ctx => D )( effect : Ctx => D => A )(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
257+ customBy(ctx => ReusableEffect .useEffect(deps (ctx))(effect (ctx)))
258258
259259 /** When invoked, forces a re-render of your component. */
260260 final def useForceUpdate (implicit step : Step ): step.Next [Reusable [DefaultEffects .Sync [Unit ]]] =
@@ -326,8 +326,8 @@ object Api {
326326 *
327327 * @see https://reactjs.org/docs/hooks-reference.html#useLayoutEffect
328328 */
329- final def useLayoutEffectWithDeps [A , D ]( effect : A , deps : => D )(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
330- custom(ReusableEffect .useLayoutEffect(effect, deps))
329+ final def useLayoutEffectWithDeps [D , A ]( deps : => D )( effect : D => A )(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
330+ custom(ReusableEffect .useLayoutEffect(deps)(effect ))
331331
332332 /** The signature is identical to [[useEffect ]], but it fires synchronously after all DOM mutations. Use this to
333333 * read layout from the DOM and synchronously re-render. Updates scheduled inside useLayoutEffect will be flushed
@@ -339,8 +339,8 @@ object Api {
339339 *
340340 * @see https://reactjs.org/docs/hooks-reference.html#useLayoutEffect
341341 */
342- final def useLayoutEffectWithDepsBy [A , D ]( effect : Ctx => A , deps : Ctx => D )(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
343- customBy(ctx => ReusableEffect .useLayoutEffect(effect (ctx), deps (ctx)))
342+ final def useLayoutEffectWithDepsBy [D , A ]( deps : Ctx => D )( effect : Ctx => D => A )(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
343+ customBy(ctx => ReusableEffect .useLayoutEffect(deps (ctx))(effect (ctx)))
344344
345345 /** Returns a memoized value.
346346 *
@@ -352,8 +352,8 @@ object Api {
352352 *
353353 * @see https://reactjs.org/docs/hooks-reference.html#usememo
354354 */
355- final def useMemo [A , D ]( create : => A , deps : => D )(implicit r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
356- useMemoBy(_ => create, _ => deps )
355+ final def useMemo [D , A ]( deps : => D )( create : D => A )(implicit r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
356+ useMemoBy(_ => deps)( _ => create )
357357
358358 /** Returns a memoized value.
359359 *
@@ -365,8 +365,8 @@ object Api {
365365 *
366366 * @see https://reactjs.org/docs/hooks-reference.html#usememo
367367 */
368- final def useMemoBy [A , D ]( create : Ctx => A , deps : Ctx => D )(implicit r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
369- customBy(ctx => UseMemo (create (ctx), deps (ctx)))
368+ final def useMemoBy [D , A ]( deps : Ctx => D )( create : Ctx => D => A )(implicit r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
369+ customBy(ctx => UseMemo (deps (ctx))(create (ctx)))
370370
371371 /** An alternative to [[useState ]]. Accepts a reducer of type `(state, action) => newState`, and returns the
372372 * current state paired with a dispatch method.
@@ -521,8 +521,8 @@ object Api {
521521 *
522522 * @see https://reactjs.org/docs/hooks-reference.html#usecallback
523523 */
524- final def useCallbackWithDepsBy [A , D ]( callback : CtxFn [A ], deps : CtxFn [D ])(implicit a : UseCallbackArg [A ], r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
525- useCallbackWithDepsBy(step.squash(callback )(_), step.squash(deps )(_))
524+ final def useCallbackWithDepsBy [D , A ]( deps : CtxFn [D ])( callback : CtxFn [D => A ])(implicit a : UseCallbackArg [A ], r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
525+ useCallbackWithDepsBy(step.squash(deps )(_))( step.squash(callback )(_))
526526
527527 /** Accepts a context object and returns the current context value for that context. The current context value is
528528 * determined by the value prop of the nearest `<MyContext.Provider>` above the calling component in the tree.
@@ -569,8 +569,8 @@ object Api {
569569 *
570570 * @see https://reactjs.org/docs/hooks-reference.html#useeffect
571571 */
572- final def useEffectWithDepsBy [A , D ]( effect : CtxFn [A ], deps : CtxFn [D ])(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
573- useEffectWithDepsBy(step.squash(effect )(_), step.squash(deps )(_))
572+ final def useEffectWithDepsBy [D , A ]( deps : CtxFn [D ])( effect : CtxFn [D => A ])(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
573+ useEffectWithDepsBy(step.squash(deps )(_))( step.squash(effect )(_))
574574
575575 /** The callback passed to useEffect will run after the render is committed to the screen. Think of effects as an
576576 * escape hatch from React’s purely functional world into the imperative world.
@@ -607,8 +607,8 @@ object Api {
607607 *
608608 * @see https://reactjs.org/docs/hooks-reference.html#useLayoutEffect
609609 */
610- final def useLayoutEffectWithDepsBy [A , D ]( effect : CtxFn [A ], deps : CtxFn [D ])(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
611- useLayoutEffectWithDepsBy(step.squash(effect )(_), step.squash(deps )(_))
610+ final def useLayoutEffectWithDepsBy [D , A ]( deps : CtxFn [D ])( effect : CtxFn [D => A ])(implicit a : UseEffectArg [A ], r : Reusability [D ], step : Step ): step.Self =
611+ useLayoutEffectWithDepsBy(step.squash(deps )(_))( step.squash(effect )(_))
612612
613613 /** The signature is identical to [[useEffect ]], but it fires synchronously after all DOM mutations. Use this to
614614 * read layout from the DOM and synchronously re-render. Updates scheduled inside useLayoutEffect will be flushed
@@ -633,8 +633,8 @@ object Api {
633633 *
634634 * @see https://reactjs.org/docs/hooks-reference.html#usememo
635635 */
636- final def useMemoBy [A , D ]( create : CtxFn [A ], deps : CtxFn [D ])(implicit r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
637- useMemoBy(step.squash(create )(_), step.squash(deps )(_))
636+ final def useMemoBy [D , A ]( deps : CtxFn [D ])( create : CtxFn [D => A ])(implicit r : Reusability [D ], step : Step ): step.Next [Reusable [A ]] =
637+ useMemoBy(step.squash(deps )(_))( step.squash(create )(_))
638638
639639 /** An alternative to [[useState ]]. Accepts a reducer of type `(state, action) => newState`, and returns the
640640 * current state paired with a dispatch method.
0 commit comments