UNPKG

1.81 kBTypeScriptView Raw
1/// <reference types="rx-lite" />
2
3declare namespace Rx {
4 interface Observable<T> {
5 /**
6 * Pauses the underlying observable sequence based upon the observable sequence which yields true/false.
7 * @example
8 * var pauser = new Rx.Subject();
9 * var source = Rx.Observable.interval(100).pausable(pauser);
10 * @param pauser The observable sequence used to pause the underlying sequence.
11 * @returns The observable sequence which is paused based upon the pauser.
12 */
13 pausable(pauser?: Observable<boolean>): PausableObservable<T>;
14
15 /**
16 * Pauses the underlying observable sequence based upon the observable sequence which yields true/false,
17 * and yields the values that were buffered while paused.
18 * @example
19 * var pauser = new Rx.Subject();
20 * var source = Rx.Observable.interval(100).pausableBuffered(pauser);
21 * @param pauser The observable sequence used to pause the underlying sequence.
22 * @returns The observable sequence which is paused based upon the pauser.
23 */
24 pausableBuffered(pauser?: Observable<boolean>): PausableObservable<T>;
25
26 /**
27 * Attaches a controller to the observable sequence with the ability to queue.
28 * @example
29 * var source = Rx.Observable.interval(100).controlled();
30 * source.request(3); // Reads 3 values
31 */
32 controlled(enableQueue?: boolean): ControlledObservable<T>;
33 }
34
35 interface ControlledObservable<T> extends Observable<T> {
36 request(numberOfItems?: number): IDisposable;
37 }
38
39 interface PausableObservable<T> extends Observable<T> {
40 pause(): void;
41 resume(): void;
42 }
43}
44
45declare module "rx-lite-backpressure" {
46 export = Rx;
47}