UNPKG

937 BTypeScriptView Raw
1import { EventStream } from "./observable";
2import Observable from "./observable";
3/**
4 Calls generator function which is expected to return an observable. The returned EventStream contains
5 values and errors from the spawned observable. When the spawned observable ends, the generator is called
6 again to spawn a new observable.
7
8 This is repeated until the generator returns a falsy value
9 (such as `undefined` or `false`).
10
11 The generator function is called with one argument — iteration number starting from `0`.
12
13 Here's an example:
14
15```js
16Bacon.repeat(function(i) {
17if (i < 3) {
18 return Bacon.once(i);
19} else {
20 return false;
21}
22}).log()
23```
24
25 The example will produce values 0, 1 and 2.
26
27 @param {(number) => (Observable<V> | null)} generator
28 @returns {EventStream<V>}
29 @typeparam V Type of stream elements
30
31 */
32export default function repeat<V>(generator: (iteration: number) => (Observable<V> | undefined)): EventStream<V>;