@@ -84,6 +84,121 @@ export const useWorker = <TArgs extends readonly any[], TRet>(
8484 return { callback, error, isLoading, setError, setIsLoading } ;
8585} ;
8686
87+ /**
88+ * Executes a effect and sends to its callback the previous state.
89+ *
90+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
91+ * @param dependencies The effect's dependencies.
92+ */
93+ export function useEffectUpdate < T1 > (
94+ effect : ( oldState : [ T1 ] ) => void | ( ( ) => void ) ,
95+ dependencies : [ T1 ] ,
96+ ) : void ;
97+
98+ /**
99+ * Executes a effect and sends to its callback the previous state.
100+ *
101+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
102+ * @param dependencies The effect's dependencies.
103+ */
104+ export function useEffectUpdate < T1 , T2 > (
105+ effect : ( oldState : [ T1 , T2 ] ) => void | ( ( ) => void ) ,
106+ dependencies : [ T1 , T2 ] ,
107+ ) : void ;
108+
109+ /**
110+ * Executes a effect and sends to its callback the previous state.
111+ *
112+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
113+ * @param dependencies The effect's dependencies.
114+ */
115+ export function useEffectUpdate < T1 , T2 , T3 > (
116+ effect : ( oldState : [ T1 , T2 , T3 ] ) => void | ( ( ) => void ) ,
117+ dependencies : [ T1 , T2 , T3 ] ,
118+ ) : void ;
119+
120+ /**
121+ * Executes a effect and sends to its callback the previous state.
122+ *
123+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
124+ * @param dependencies The effect's dependencies.
125+ * @category Effects
126+ */
127+ export function useEffectUpdate < T1 , T2 , T3 , T4 > (
128+ effect : ( oldState : [ T1 , T2 , T3 , T4 ] ) => void | ( ( ) => void ) ,
129+ dependencies : [ T1 , T2 , T3 , T4 ] ,
130+ ) : void ;
131+
132+ /**
133+ * Executes a effect and sends to its callback the previous state.
134+ *
135+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
136+ * @param dependencies The effect's dependencies.
137+ */
138+ export function useEffectUpdate < T1 , T2 , T3 , T4 , T5 > (
139+ effect : ( oldState : [ T1 , T2 , T3 , T4 , T5 ] ) => void | ( ( ) => void ) ,
140+ dependencies : [ T1 , T2 , T3 , T4 , T5 ] ,
141+ ) : void ;
142+
143+ /**
144+ * Executes a effect and sends to its callback the previous state.
145+ *
146+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
147+ * @param dependencies The effect's dependencies.
148+ */
149+ export function useEffectUpdate < T1 , T2 , T3 , T4 , T5 , T6 > (
150+ effect : ( oldState : [ T1 , T2 , T3 , T4 , T5 , T6 ] ) => void | ( ( ) => void ) ,
151+ dependencies : [ T1 , T2 , T3 , T4 , T5 , T6 ] ,
152+ ) : void ;
153+
154+ /**
155+ * Executes a effect and sends to its callback the previous state.
156+ *
157+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
158+ * @param dependencies The effect's dependencies.
159+ */
160+ export function useEffectUpdate < T1 , T2 , T3 , T4 , T5 , T6 , T7 > (
161+ effect : ( oldState : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ) => void | ( ( ) => void ) ,
162+ dependencies : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 ] ,
163+ ) : void ;
164+
165+ /**
166+ * Executes a effect and sends to its callback the previous state.
167+ *
168+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
169+ * @param dependencies The effect's dependencies.
170+ */
171+ export function useEffectUpdate < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 > (
172+ effect : ( oldState : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ) => void | ( ( ) => void ) ,
173+ dependencies : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 ] ,
174+ ) : void ;
175+
176+ /**
177+ * Executes a effect and sends to its callback the previous state.
178+ *
179+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
180+ * @param dependencies The effect's dependencies.
181+ */
182+ export function useEffectUpdate < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 > (
183+ effect : (
184+ oldState : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ,
185+ ) => void | ( ( ) => void ) ,
186+ dependencies : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 ] ,
187+ ) : void ;
188+
189+ /**
190+ * Executes a effect and sends to its callback the previous state.
191+ *
192+ * @param effect The effect to be executed. Receives the dependencies' previous state as arguments.
193+ * @param dependencies The effect's dependencies.
194+ */
195+ export function useEffectUpdate < T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 > (
196+ effect : (
197+ oldState : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ,
198+ ) => void | ( ( ) => void ) ,
199+ dependencies : [ T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 ] ,
200+ ) : void ;
201+
87202/**
88203 * Executes a effect and sends to its callback the previous state.
89204 *
@@ -93,10 +208,15 @@ export const useWorker = <TArgs extends readonly any[], TRet>(
93208 * the effect is executed.
94209 * @category Effects
95210 */
96- export const useEffectUpdate = < Dependencies extends readonly any [ ] > (
211+ export function useEffectUpdate < Dependencies extends readonly any [ ] > (
97212 effect : ( oldState : Dependencies ) => void | ( ( ) => void ) ,
98213 dependencies : Dependencies ,
99- ) => {
214+ ) : void ;
215+
216+ export function useEffectUpdate < Dependencies extends readonly any [ ] > (
217+ effect : ( oldState : Dependencies ) => void | ( ( ) => void ) ,
218+ dependencies : Dependencies ,
219+ ) : void {
100220 const oldState = useRef < Dependencies > ( [ ] as any ) ;
101221 useEffect ( ( ) => {
102222 try {
@@ -105,7 +225,7 @@ export const useEffectUpdate = <Dependencies extends readonly any[]>(
105225 oldState . current = dependencies ;
106226 }
107227 } , dependencies ) ;
108- } ;
228+ }
109229
110230/**
111231 * Conditionally executes an effect.
0 commit comments