From 3a272478dacb005e79e6cb9ec4f1f417c999ba69 Mon Sep 17 00:00:00 2001 From: Igor Oleinikov Date: Tue, 18 Mar 2014 12:22:51 +0400 Subject: [PATCH] Added new `RxJS-BackPressure` module defintion. Fixed .gitignore to exclude rx.js from ignoring. --- .gitignore | 3 +++ rx.js/rx.backpressure.d.ts | 43 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 rx.js/rx.backpressure.d.ts diff --git a/.gitignore b/.gitignore index 8fc575c216..b09429865e 100644 --- a/.gitignore +++ b/.gitignore @@ -34,4 +34,7 @@ Properties *.iml *.js.map +#rx.js +!rx.js + node_modules diff --git a/rx.js/rx.backpressure.d.ts b/rx.js/rx.backpressure.d.ts new file mode 100644 index 0000000000..d09aa91e7e --- /dev/null +++ b/rx.js/rx.backpressure.d.ts @@ -0,0 +1,43 @@ +// Type definitions for RxJS-BackPressure v2.2.15 +// Project: http://rx.codeplex.com/ +// Definitions by: Igor Oleinikov +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +/// + +declare module Rx { + export interface Observable { + /** + * Pauses the underlying observable sequence based upon the observable sequence which yields true/false. + * @example + * var pauser = new Rx.Subject(); + * var source = Rx.Observable.interval(100).pausable(pauser); + * @param pauser The observable sequence used to pause the underlying sequence. + * @returns The observable sequence which is paused based upon the pauser. + */ + pausable(pauser: Observable): Observable; + + /** + * Pauses the underlying observable sequence based upon the observable sequence which yields true/false, + * and yields the values that were buffered while paused. + * @example + * var pauser = new Rx.Subject(); + * var source = Rx.Observable.interval(100).pausableBuffered(pauser); + * @param pauser The observable sequence used to pause the underlying sequence. + * @returns The observable sequence which is paused based upon the pauser. + */ + pausableBuffered(pauser: Observable): Observable; + + /** + * Attaches a controller to the observable sequence with the ability to queue. + * @example + * var source = Rx.Observable.interval(100).controlled(); + * source.request(3); // Reads 3 values + */ + controlled(enableQueue?: boolean): ControlledObservable; + } + + export interface ControlledObservable extends Observable { + request(numberOfItems?: number): IDisposable; + } +}