@@ -47,7 +47,7 @@ export { useAsyncIter, type IterationResult };
47
47
* across component updates as long as `input` keeps getting passed the same object reference every
48
48
* time (similar to the behavior of a `useEffect(() => {...}, [input])`), therefore care should be taken
49
49
* to avoid constantly recreating the iterable on every render, by e.g; declaring it outside the component
50
- * body, control __when__ it should be recreated with React's
50
+ * body, controlling __when__ it should be recreated with React's
51
51
* [`useMemo`](https://react.dev/reference/react/useMemo) or alternatively use the library's
52
52
* {@link iterateFormatted `iterateFormatted`} util for a formatted version of an iterable which
53
53
* preserves its identity.
@@ -123,7 +123,7 @@ const useAsyncIter: {
123
123
const rerender = useSimpleRerender ( ) ;
124
124
125
125
const stateRef = useRefWithInitialValue < IterationResult < any , any > > ( ( ) => ( {
126
- value : callOrReturn ( initialVal ) /*as any*/ ,
126
+ value : callOrReturn ( initialVal ) ,
127
127
pendingFirst : true ,
128
128
done : false ,
129
129
error : undefined ,
@@ -136,63 +136,63 @@ const useAsyncIter: {
136
136
useEffect ( ( ) => { } , [ undefined ] ) ;
137
137
138
138
stateRef . current = {
139
- value : latestInputRef . current /*as unknown*/ ,
139
+ value : latestInputRef . current ,
140
140
pendingFirst : false ,
141
141
done : false ,
142
142
error : undefined ,
143
143
} ;
144
144
145
145
return stateRef . current ;
146
- } else {
147
- const iterSourceRefToUse =
148
- latestInputRef . current [ reactAsyncIterSpecialInfoSymbol ] ?. origSource ?? latestInputRef . current ;
146
+ }
149
147
150
- useMemo ( ( ) : void => {
151
- const latestInputRefCurrent = latestInputRef . current ! ;
148
+ const iterSourceRefToUse =
149
+ latestInputRef . current [ reactAsyncIterSpecialInfoSymbol ] ?. origSource ?? latestInputRef . current ;
152
150
153
- let value ;
154
- let pendingFirst ;
151
+ useMemo ( ( ) : void => {
152
+ const latestInputRefCurrent = latestInputRef . current ! ;
155
153
156
- if ( latestInputRefCurrent . value ) {
157
- value = latestInputRefCurrent . value . current ;
158
- pendingFirst = false ;
159
- } else {
160
- const prevSourceLastestVal = stateRef . current . value ;
161
- value = prevSourceLastestVal ;
162
- pendingFirst = true ;
163
- }
154
+ let value ;
155
+ let pendingFirst ;
164
156
165
- stateRef . current = {
166
- value,
167
- pendingFirst,
168
- done : false ,
169
- error : undefined ,
170
- } ;
171
- } , [ iterSourceRefToUse ] ) ;
157
+ if ( latestInputRefCurrent . value ) {
158
+ value = latestInputRefCurrent . value . current ;
159
+ pendingFirst = false ;
160
+ } else {
161
+ const prevSourceLastestVal = stateRef . current . value ;
162
+ value = prevSourceLastestVal ;
163
+ pendingFirst = true ;
164
+ }
165
+
166
+ stateRef . current = {
167
+ value,
168
+ pendingFirst,
169
+ done : false ,
170
+ error : undefined ,
171
+ } ;
172
+ } , [ iterSourceRefToUse ] ) ;
172
173
173
- useEffect ( ( ) => {
174
- let iterationIdx = 0 ;
174
+ useEffect ( ( ) => {
175
+ let iterationIdx = 0 ;
175
176
176
- return iterateAsyncIterWithCallbacks ( iterSourceRefToUse , stateRef . current . value , next => {
177
- const possibleGivenFormatFn =
178
- latestInputRef . current ?. [ reactAsyncIterSpecialInfoSymbol ] ?. formatFn ;
177
+ return iterateAsyncIterWithCallbacks ( iterSourceRefToUse , stateRef . current . value , next => {
178
+ const possibleGivenFormatFn =
179
+ latestInputRef . current ?. [ reactAsyncIterSpecialInfoSymbol ] ?. formatFn ;
179
180
180
- const formattedValue = possibleGivenFormatFn
181
- ? possibleGivenFormatFn ( next . value , iterationIdx ++ )
182
- : next . value ; /*as unknown*/
181
+ const formattedValue = possibleGivenFormatFn
182
+ ? possibleGivenFormatFn ( next . value , iterationIdx ++ )
183
+ : next . value ;
183
184
184
- stateRef . current = {
185
- ...next ,
186
- pendingFirst : false ,
187
- value : formattedValue ,
188
- } ;
185
+ stateRef . current = {
186
+ ...next ,
187
+ pendingFirst : false ,
188
+ value : formattedValue ,
189
+ } ;
189
190
190
- rerender ( ) ;
191
- } ) ;
192
- } , [ iterSourceRefToUse ] ) ;
191
+ rerender ( ) ;
192
+ } ) ;
193
+ } , [ iterSourceRefToUse ] ) ;
193
194
194
- return stateRef . current ;
195
- }
195
+ return stateRef . current ;
196
196
} ;
197
197
198
198
/**
0 commit comments