Skip to content

Commit 08babd7

Browse files
committed
small tweaks to functions
1 parent 258a5de commit 08babd7

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

src/react-hooks.ts

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
import { useEffect, useState } from "react";
22
import { Push, Repeater, RepeaterBuffer, Stop } from "@repeaterjs/repeater";
33

4-
type PrimedRepeaterTuple<T> = [Repeater<T>, Push<T>, Stop];
54
// Repeaters are lazy, hooks are eager.
65
// We need to return push and stop synchronously from the useRepeater hook so
76
// we prime the repeater by calling next immediately.
87
function createPrimedRepeater<T>(
98
buffer?: RepeaterBuffer<T>,
10-
): PrimedRepeaterTuple<T> {
9+
): [Repeater<T>, Push<T>, Stop] {
1110
let push: Push<T>;
1211
let stop: Stop;
1312
const repeater = new Repeater((push1, stop1) => {
@@ -23,30 +22,29 @@ function createPrimedRepeater<T>(
2322

2423
export function useRepeater<T>(
2524
buffer?: RepeaterBuffer<T>,
26-
): PrimedRepeaterTuple<T> {
27-
const [tuple] = useState(() => createPrimedRepeater(buffer));
28-
return tuple;
25+
): [Repeater<T>, Push<T>, Stop] {
26+
const [tuple] = useState(() => createPrimedRepeater(buffer));
27+
return tuple;
2928
}
3029

3130
export function useAsyncIter<T, TDeps extends any[]>(
3231
callback: (deps: AsyncIterableIterator<TDeps>) => AsyncIterableIterator<T>,
3332
deps: TDeps = ([] as unknown) as TDeps,
3433
): AsyncIterableIterator<T> {
35-
const [repeater, push, stop] = useRepeater<TDeps>();
34+
const [repeater, push] = useRepeater<TDeps>();
3635
const [iter] = useState(() => callback(repeater));
3736
useEffect(() => {
3837
push(deps);
3938
}, [push, ...deps]); // eslint-disable-line react-hooks/exhaustive-deps
4039

4140
useEffect(
4241
() => () => {
43-
stop();
4442
if (iter.return != null) {
4543
// TODO: handle return errors
4644
iter.return().catch();
4745
}
4846
},
49-
[iter, stop],
47+
[iter],
5048
);
5149

5250
return iter;

0 commit comments

Comments
 (0)