UNPKG

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