From de65cd05cb952591da261eeb504ab09516a67616 Mon Sep 17 00:00:00 2001 From: Igor Oleinikov Date: Mon, 14 Apr 2014 10:47:37 +0400 Subject: [PATCH 1/6] Updated rx.d.ts and rx-lite.d.ts to version 2.2.20 --- rx.js/rx-lite.d.ts | 76 ++++++++++++++++++++++++++++++++++++++++++++-- rx.js/rx.d.ts | 8 ++++- 2 files changed, 81 insertions(+), 3 deletions(-) diff --git a/rx.js/rx-lite.d.ts b/rx.js/rx-lite.d.ts index c0a27c3c4..15767ac61 100644 --- a/rx.js/rx-lite.d.ts +++ b/rx.js/rx-lite.d.ts @@ -201,13 +201,27 @@ declare module Rx { catch(handler: (exception: any) => Observable): Observable; catchException(handler: (exception: any) => Observable): Observable; // alias for catch + catch(handler: (exception: any) => IPromise): Observable; + catchException(handler: (exception: any) => IPromise): Observable; // alias for catch catch(second: Observable): Observable; catchException(second: Observable): Observable; // alias for catch combineLatest(second: Observable, resultSelector: (v1: T, v2: T2) => TResult): Observable; + combineLatest(second: IPromise, resultSelector: (v1: T, v2: T2) => TResult): Observable; combineLatest(second: Observable, third: Observable, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(second: Observable, third: IPromise, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(second: IPromise, third: Observable, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(second: IPromise, third: IPromise, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; combineLatest(second: Observable, third: Observable, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(second: Observable, third: Observable, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(second: Observable, third: IPromise, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(second: Observable, third: IPromise, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(second: IPromise, third: Observable, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(second: IPromise, third: Observable, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(second: IPromise, third: IPromise, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(second: IPromise, third: IPromise, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; combineLatest(second: Observable, third: Observable, fourth: Observable, fifth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => TResult): Observable; combineLatest(souces: Observable[], resultSelector: (firstValue: T, ...otherValues: TOther[]) => TResult): Observable; + combineLatest(souces: IPromise[], resultSelector: (firstValue: T, ...otherValues: TOther[]) => TResult): Observable; concat(...sources: Observable[]): Observable; concat(...sources: IPromise[]): Observable; concat(sources: Observable[]): Observable; @@ -224,10 +238,22 @@ declare module Rx { switchLatest(): T; // alias for switch takeUntil(other: Observable): Observable; zip(second: Observable, resultSelector: (v1: T, v2: T2) => TResult): Observable; + zip(second: IPromise, resultSelector: (v1: T, v2: T2) => TResult): Observable; zip(second: Observable, third: Observable, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + zip(second: Observable, third: IPromise, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + zip(second: IPromise, third: Observable, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + zip(second: IPromise, third: IPromise, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; zip(second: Observable, third: Observable, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + zip(second: Observable, third: Observable, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + zip(second: Observable, third: IPromise, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + zip(second: Observable, third: IPromise, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + zip(second: IPromise, third: Observable, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + zip(second: IPromise, third: Observable, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + zip(second: IPromise, third: IPromise, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + zip(second: IPromise, third: IPromise, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; zip(second: Observable, third: Observable, fourth: Observable, fifth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => TResult): Observable; - zip(second: Observable[], resultSelector: (left: T, right: Observable) => TResult): Observable; + zip(second: Observable[], resultSelector: (left: T, ...right: TOther[]) => TResult): Observable; + zip(second: IPromise[], resultSelector: (left: T, ...right: TOther[]) => TResult): Observable; asObservable(): Observable; dematerialize(): Observable; @@ -368,6 +394,39 @@ declare module Rx { catch(...sources: IPromise[]): Observable; catchException(...sources: Observable[]): Observable; // alias for catch catchException(...sources: IPromise[]): Observable; // alias for catch + + combineLatest(first: Observable, second: Observable, resultSelector: (v1: T, v2: T2) => TResult): Observable; + combineLatest(first: IPromise, second: Observable, resultSelector: (v1: T, v2: T2) => TResult): Observable; + combineLatest(first: Observable, second: IPromise, resultSelector: (v1: T, v2: T2) => TResult): Observable; + combineLatest(first: IPromise, second: IPromise, resultSelector: (v1: T, v2: T2) => TResult): Observable; + combineLatest(first: Observable, second: Observable, third: Observable, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(first: Observable, second: Observable, third: IPromise, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(first: Observable, second: IPromise, third: Observable, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(first: Observable, second: IPromise, third: IPromise, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(first: IPromise, second: Observable, third: Observable, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(first: IPromise, second: Observable, third: IPromise, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(first: IPromise, second: IPromise, third: Observable, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(first: IPromise, second: IPromise, third: IPromise, resultSelector: (v1: T, v2: T2, v3: T3) => TResult): Observable; + combineLatest(first: Observable, second: Observable, third: Observable, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: Observable, second: Observable, third: Observable, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: Observable, second: Observable, third: IPromise, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: Observable, second: Observable, third: IPromise, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: Observable, second: IPromise, third: Observable, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: Observable, second: IPromise, third: Observable, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: Observable, second: IPromise, third: IPromise, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: Observable, second: IPromise, third: IPromise, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: IPromise, second: Observable, third: Observable, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: IPromise, second: Observable, third: Observable, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: IPromise, second: Observable, third: IPromise, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: IPromise, second: Observable, third: IPromise, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: IPromise, second: IPromise, third: Observable, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: IPromise, second: IPromise, third: Observable, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: IPromise, second: IPromise, third: IPromise, fourth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: IPromise, second: IPromise, third: IPromise, fourth: IPromise, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4) => TResult): Observable; + combineLatest(first: Observable, second: Observable, third: Observable, fourth: Observable, fifth: Observable, resultSelector: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => TResult): Observable; + combineLatest(souces: Observable[], resultSelector: (...otherValues: TOther[]) => TResult): Observable; + combineLatest(souces: IPromise[], resultSelector: (...otherValues: TOther[]) => TResult): Observable; + concat(...sources: Observable[]): Observable; concat(...sources: IPromise[]): Observable; concat(sources: Observable[]): Observable; @@ -380,10 +439,23 @@ declare module Rx { merge(scheduler: IScheduler, ...sources: IPromise[]): Observable; merge(scheduler: IScheduler, sources: Observable[]): Observable; merge(scheduler: IScheduler, sources: IPromise[]): Observable; - zip(first: Observable, sources: Observable[], resultSelector: (item1: T1, right: Observable) => TResult): Observable; + + zip(first: Observable, sources: Observable[], resultSelector: (item1: T1, ...right: T2[]) => TResult): Observable; + zip(first: Observable, sources: IPromise[], resultSelector: (item1: T1, ...right: T2[]) => TResult): Observable; zip(source1: Observable, source2: Observable, resultSelector: (item1: T1, item2: T2) => TResult): Observable; + zip(source1: Observable, source2: IPromise, resultSelector: (item1: T1, item2: T2) => TResult): Observable; zip(source1: Observable, source2: Observable, source3: Observable, resultSelector: (item1: T1, item2: T2, item3: T3) => TResult): Observable; + zip(source1: Observable, source2: Observable, source3: IPromise, resultSelector: (item1: T1, item2: T2, item3: T3) => TResult): Observable; + zip(source1: Observable, source2: IPromise, source3: Observable, resultSelector: (item1: T1, item2: T2, item3: T3) => TResult): Observable; + zip(source1: Observable, source2: IPromise, source3: IPromise, resultSelector: (item1: T1, item2: T2, item3: T3) => TResult): Observable; zip(source1: Observable, source2: Observable, source3: Observable, source4: Observable, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable; + zip(source1: Observable, source2: Observable, source3: Observable, source4: IPromise, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable; + zip(source1: Observable, source2: Observable, source3: IPromise, source4: Observable, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable; + zip(source1: Observable, source2: Observable, source3: IPromise, source4: IPromise, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable; + zip(source1: Observable, source2: IPromise, source3: Observable, source4: Observable, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable; + zip(source1: Observable, source2: IPromise, source3: Observable, source4: IPromise, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable; + zip(source1: Observable, source2: IPromise, source3: IPromise, source4: Observable, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable; + zip(source1: Observable, source2: IPromise, source3: IPromise, source4: IPromise, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4) => TResult): Observable; zip(source1: Observable, source2: Observable, source3: Observable, source4: Observable, source5: Observable, resultSelector: (item1: T1, item2: T2, item3: T3, item4: T4, item5: T5) => TResult): Observable; zipArray(...sources: Observable[]): Observable; zipArray(sources: Observable[]): Observable; diff --git a/rx.js/rx.d.ts b/rx.js/rx.d.ts index 597264fa8..1a5d775a5 100644 --- a/rx.js/rx.d.ts +++ b/rx.js/rx.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS v2.2.18 +// Type definitions for RxJS v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: gsino // Definitions by: Igor Oleinikov @@ -66,7 +66,9 @@ declare module Rx { subscribeOn(scheduler: IScheduler): Observable; amb(rightSource: Observable): Observable; + amb(rightSource: IPromise): Observable; onErrorResumeNext(second: Observable): Observable; + onErrorResumeNext(second: IPromise): Observable; bufferWithCount(count: number, skip?: number): Observable; windowWithCount(count: number, skip?: number): Observable>; defaultIfEmpty(defaultValue?: T): Observable; @@ -81,9 +83,13 @@ declare module Rx { interface ObservableStatic { using(resourceFactory: () => TResource, observableFactory: (resource: TResource) => Observable): Observable; amb(...sources: Observable[]): Observable; + amb(...sources: IPromise[]): Observable; amb(sources: Observable[]): Observable; + amb(sources: IPromise[]): Observable; onErrorResumeNext(...sources: Observable[]): Observable; + onErrorResumeNext(...sources: IPromise[]): Observable; onErrorResumeNext(sources: Observable[]): Observable; + onErrorResumeNext(sources: IPromise[]): Observable; } interface GroupedObservable extends Observable { From 27d981af6346c4059d3a57917e92ecc8bef694f8 Mon Sep 17 00:00:00 2001 From: Igor Oleinikov Date: Mon, 14 Apr 2014 10:51:24 +0400 Subject: [PATCH 2/6] Updated rx.aggregates.d.ts t oversion 2.2.20 --- rx.js/rx.aggregates.d.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rx.js/rx.aggregates.d.ts b/rx.js/rx.aggregates.d.ts index 4ba03b4c6..ea5cca99b 100644 --- a/rx.js/rx.aggregates.d.ts +++ b/rx.js/rx.aggregates.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-Aggregates package +// Type definitions for RxJS-Aggregates v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: Carl de Billy // Definitions by: Igor Oleinikov @@ -33,7 +33,9 @@ declare module Rx { average(keySelector?: (value: T, index: number, source: Observable) => number, thisArg?: any): Observable; sequenceEqual(second: Observable, comparer: (value1: T, value2: TOther) => number): Observable; + sequenceEqual(second: IPromise, comparer: (value1: T, value2: TOther) => number): Observable; sequenceEqual(second: Observable): Observable; + sequenceEqual(second: IPromise): Observable; sequenceEqual(second: TOther[], comparer: (value1: T, value2: TOther) => number): Observable; sequenceEqual(second: T[]): Observable; From 52d7857dad794b7892d7ae7a607a4abc7f781d6d Mon Sep 17 00:00:00 2001 From: Igor Oleinikov Date: Mon, 14 Apr 2014 10:54:32 +0400 Subject: [PATCH 3/6] Updated rx.async.d.ts to version 2.2.20 --- rx.js/rx.async.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rx.js/rx.async.d.ts b/rx.js/rx.async.d.ts index 522b87c0d..9a03bb33b 100644 --- a/rx.js/rx.async.d.ts +++ b/rx.js/rx.async.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-Async v2.2.18 +// Type definitions for RxJS-Async v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: zoetrope // Definitions by: Igor Oleinikov From 71b823a0e348978df67f9f88137141f53d0c43d6 Mon Sep 17 00:00:00 2001 From: Igor Oleinikov Date: Mon, 14 Apr 2014 11:12:45 +0400 Subject: [PATCH 4/6] Updated RxJS-BackPressure to v2.2.20 --- rx.js/rx.backpressure-lite.d.ts | 8 +++++++- rx.js/rx.backpressure.d.ts | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/rx.js/rx.backpressure-lite.d.ts b/rx.js/rx.backpressure-lite.d.ts index 3cc78f6ca..420a568f3 100644 --- a/rx.js/rx.backpressure-lite.d.ts +++ b/rx.js/rx.backpressure-lite.d.ts @@ -14,6 +14,7 @@ declare module Rx { * @returns The observable sequence which is paused based upon the pauser. */ pausable(pauser: Observable): Observable; + pausable(pauser?: ISubject): PausableObservable; /** * Pauses the underlying observable sequence based upon the observable sequence which yields true/false, @@ -24,7 +25,7 @@ declare module Rx { * @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; + pausableBuffered(pauser?: ISubject): PausableObservable; /** * Attaches a controller to the observable sequence with the ability to queue. @@ -38,4 +39,9 @@ declare module Rx { export interface ControlledObservable extends Observable { request(numberOfItems?: number): IDisposable; } + + export interface PausableObservable extends Observable { + pause(): void; + resume(): void; + } } diff --git a/rx.js/rx.backpressure.d.ts b/rx.js/rx.backpressure.d.ts index 4108ba410..5ec8c3f91 100644 --- a/rx.js/rx.backpressure.d.ts +++ b/rx.js/rx.backpressure.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-BackPressure v2.2.18 +// Type definitions for RxJS-BackPressure v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: Igor Oleinikov // Definitions: https://github.com/borisyankov/DefinitelyTyped From aca5a09c70f05c4409b55a8ff132dc83b4052fa7 Mon Sep 17 00:00:00 2001 From: Igor Oleinikov Date: Mon, 14 Apr 2014 11:27:10 +0400 Subject: [PATCH 5/6] Updated RxJS-Experimental to v2.2.20 --- rx.js/rx.experimental.d.ts | 61 ++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 16 deletions(-) diff --git a/rx.js/rx.experimental.d.ts b/rx.js/rx.experimental.d.ts index db23df3fd..1b9259944 100644 --- a/rx.js/rx.experimental.d.ts +++ b/rx.js/rx.experimental.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS/Experimental +// Type definitions for RxJS-Experimental v2.2.20 // Project: https://github.com/Reactive-Extensions/RxJS/ // Definitions by: Igor Oleinikov // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -45,11 +45,12 @@ declare module Rx { /** * Runs two observable sequences in parallel and combines their last elemenets. * - * @param second Second observable sequence. + * @param second Second observable sequence or promise. * @param resultSelector Result selector function to invoke with the last elements of both sequences. * @returns An observable sequence with the result of calling the selector function with the last elements of both input sequences. */ forkJoin(second: Observable, resultSelector: (left: T, right: TSecond) => TResult): Observable; + forkJoin(second: IPromise, resultSelector: (left: T, right: TSecond) => TResult): Observable; /** * Comonadic bind operator. @@ -67,11 +68,14 @@ declare module Rx { * @example * res = Rx.Observable.if(condition, obs1, obs2); * @param condition The condition which determines if the thenSource or elseSource will be run. - * @param thenSource The observable sequence that will be run if the condition function returns true. - * @param elseSource The observable sequence that will be run if the condition function returns false. + * @param thenSource The observable sequence or promise that will be run if the condition function returns true. + * @param elseSource The observable sequence or promise that will be run if the condition function returns false. * @returns An observable sequence which is either the thenSource or elseSource. */ if(condition: () => boolean, thenSource: Observable, elseSource: Observable): Observable; + if(condition: () => boolean, thenSource: Observable, elseSource: IPromise): Observable; + if(condition: () => boolean, thenSource: IPromise, elseSource: Observable): Observable; + if(condition: () => boolean, thenSource: IPromise, elseSource: IPromise): Observable; /** * Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers (condition: () => boolean, thenSource: Observable, scheduler?: IScheduler): Observable; + if(condition: () => boolean, thenSource: IPromise, scheduler?: IScheduler): Observable; /** * Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers (condition: () => boolean, thenSource: Observable, elseSource: Observable): Observable; + ifThen(condition: () => boolean, thenSource: Observable, elseSource: IPromise): Observable; + ifThen(condition: () => boolean, thenSource: IPromise, elseSource: Observable): Observable; + ifThen(condition: () => boolean, thenSource: IPromise, elseSource: IPromise): Observable; /** * Determines whether an observable collection contains values. There is an alias for this method called 'ifThen' for browsers (condition: () => boolean, thenSource: Observable, scheduler?: IScheduler): Observable; + ifThen(condition: () => boolean, thenSource: IPromise, scheduler?: IScheduler): Observable; /** * Concatenates the observable sequences obtained by running the specified result selector for each element in source. @@ -131,19 +140,21 @@ declare module Rx { * Repeats source as long as condition holds emulating a while loop. * There is an alias for this method called 'whileDo' for browsers (condition: () => boolean, source: Observable): Observable; + while(condition: () => boolean, source: IPromise): Observable; /** * Repeats source as long as condition holds emulating a while loop. * There is an alias for this method called 'whileDo' for browsers (condition: () => boolean, source: Observable): Observable; + whileDo(condition: () => boolean, source: IPromise): Observable; /** * Uses selector to determine which source in sources to use. @@ -153,11 +164,14 @@ declare module Rx { * res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 }, obs0); * @param selector The function which extracts the value for to test in a case statement. * @param sources A object which has keys which correspond to the case statement labels. - * @param elseSource The observable sequence that will be run if the sources are not matched. + * @param elseSource The observable sequence or promise that will be run if the sources are not matched. * * @returns An observable sequence which is determined by a case statement. */ case(selector: () => string, sources: { [key: string]: Observable; }, elseSource: Observable): Observable; + case(selector: () => string, sources: { [key: string]: IPromise; }, elseSource: Observable): Observable; + case(selector: () => string, sources: { [key: string]: Observable; }, elseSource: IPromise): Observable; + case(selector: () => string, sources: { [key: string]: IPromise; }, elseSource: IPromise): Observable; /** * Uses selector to determine which source in sources to use. @@ -174,6 +188,7 @@ declare module Rx { * @returns An observable sequence which is determined by a case statement. */ case(selector: () => string, sources: { [key: string]: Observable; }, scheduler?: IScheduler): Observable; + case(selector: () => string, sources: { [key: string]: IPromise; }, scheduler?: IScheduler): Observable; /** * Uses selector to determine which source in sources to use. @@ -183,11 +198,14 @@ declare module Rx { * res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 }, obs0); * @param selector The function which extracts the value for to test in a case statement. * @param sources A object which has keys which correspond to the case statement labels. - * @param elseSource The observable sequence that will be run if the sources are not matched. + * @param elseSource The observable sequence or promise that will be run if the sources are not matched. * * @returns An observable sequence which is determined by a case statement. */ case(selector: () => number, sources: { [key: number]: Observable; }, elseSource: Observable): Observable; + case(selector: () => number, sources: { [key: number]: IPromise; }, elseSource: Observable): Observable; + case(selector: () => number, sources: { [key: number]: Observable; }, elseSource: IPromise): Observable; + case(selector: () => number, sources: { [key: number]: IPromise; }, elseSource: IPromise): Observable; /** * Uses selector to determine which source in sources to use. @@ -204,6 +222,7 @@ declare module Rx { * @returns An observable sequence which is determined by a case statement. */ case(selector: () => number, sources: { [key: number]: Observable; }, scheduler?: IScheduler): Observable; + case(selector: () => number, sources: { [key: number]: IPromise; }, scheduler?: IScheduler): Observable; /** * Uses selector to determine which source in sources to use. @@ -213,11 +232,14 @@ declare module Rx { * res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 }, obs0); * @param selector The function which extracts the value for to test in a case statement. * @param sources A object which has keys which correspond to the case statement labels. - * @param elseSource The observable sequence that will be run if the sources are not matched. + * @param elseSource The observable sequence or promise that will be run if the sources are not matched. * * @returns An observable sequence which is determined by a case statement. */ switchCase(selector: () => string, sources: { [key: string]: Observable; }, elseSource: Observable): Observable; + switchCase(selector: () => string, sources: { [key: string]: IPromise; }, elseSource: Observable): Observable; + switchCase(selector: () => string, sources: { [key: string]: Observable; }, elseSource: IPromise): Observable; + switchCase(selector: () => string, sources: { [key: string]: IPromise; }, elseSource: IPromise): Observable; /** * Uses selector to determine which source in sources to use. @@ -234,6 +256,7 @@ declare module Rx { * @returns An observable sequence which is determined by a case statement. */ switchCase(selector: () => string, sources: { [key: string]: Observable; }, scheduler?: IScheduler): Observable; + switchCase(selector: () => string, sources: { [key: string]: IPromise; }, scheduler?: IScheduler): Observable; /** * Uses selector to determine which source in sources to use. @@ -243,11 +266,14 @@ declare module Rx { * res = Rx.Observable.case(selector, { '1': obs1, '2': obs2 }, obs0); * @param selector The function which extracts the value for to test in a case statement. * @param sources A object which has keys which correspond to the case statement labels. - * @param elseSource The observable sequence that will be run if the sources are not matched. + * @param elseSource The observable sequence or promise that will be run if the sources are not matched. * * @returns An observable sequence which is determined by a case statement. */ switchCase(selector: () => number, sources: { [key: number]: Observable; }, elseSource: Observable): Observable; + switchCase(selector: () => number, sources: { [key: number]: IPromise; }, elseSource: Observable): Observable; + switchCase(selector: () => number, sources: { [key: number]: Observable; }, elseSource: IPromise): Observable; + switchCase(selector: () => number, sources: { [key: number]: IPromise; }, elseSource: IPromise): Observable; /** * Uses selector to determine which source in sources to use. @@ -264,25 +290,28 @@ declare module Rx { * @returns An observable sequence which is determined by a case statement. */ switchCase(selector: () => number, sources: { [key: number]: Observable; }, scheduler?: IScheduler): Observable; + switchCase(selector: () => number, sources: { [key: number]: IPromise; }, scheduler?: IScheduler): Observable; /** * Runs all observable sequences in parallel and collect their last elements. * * @example * res = Rx.Observable.forkJoin([obs1, obs2]); - * @param sources Array of source sequences. + * @param sources Array of source sequences or promises. * @returns An observable sequence with an array collecting the last elements of all the input sequences. */ forkJoin(sources: Observable[]): Observable; + forkJoin(sources: IPromise[]): Observable; /** * Runs all observable sequences in parallel and collect their last elements. * * @example * res = Rx.Observable.forkJoin(obs1, obs2, ...); - * @param args Source sequences. + * @param args Source sequences or promises. * @returns An observable sequence with an array collecting the last elements of all the input sequences. */ forkJoin(...args: Observable[]): Observable; + forkJoin(...args: IPromise[]): Observable; } } From 44912732ea6b32e9d807068735ab03b57d6faac6 Mon Sep 17 00:00:00 2001 From: Igor Oleinikov Date: Mon, 14 Apr 2014 11:31:43 +0400 Subject: [PATCH 6/6] Version bump to 2.2.20 for all other files --- rx.js/rx.binding.d.ts | 2 +- rx.js/rx.coincidence.d.ts | 2 +- rx.js/rx.joinpatterns.d.ts | 2 +- rx.js/rx.lite.d.ts | 2 +- rx.js/rx.testing.d.ts | 2 +- rx.js/rx.time.d.ts | 2 +- rx.js/rx.virtualtime.d.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/rx.js/rx.binding.d.ts b/rx.js/rx.binding.d.ts index 4d165a637..cf3744c4e 100644 --- a/rx.js/rx.binding.d.ts +++ b/rx.js/rx.binding.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-Binding v2.2.18 +// Type definitions for RxJS-Binding v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: Carl de Billy // Definitions by: Igor Oleinikov diff --git a/rx.js/rx.coincidence.d.ts b/rx.js/rx.coincidence.d.ts index 02883ff54..bf9841b41 100644 --- a/rx.js/rx.coincidence.d.ts +++ b/rx.js/rx.coincidence.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-Coincidence package +// Type definitions for RxJS-Coincidence v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: Carl de Billy // Definitions by: Igor Oleinikov diff --git a/rx.js/rx.joinpatterns.d.ts b/rx.js/rx.joinpatterns.d.ts index a1ec9f952..bc1ee2e32 100644 --- a/rx.js/rx.joinpatterns.d.ts +++ b/rx.js/rx.joinpatterns.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-Join package +// Type definitions for RxJS-Join v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: Igor Oleinikov // Definitions: https://github.com/borisyankov/DefinitelyTyped diff --git a/rx.js/rx.lite.d.ts b/rx.js/rx.lite.d.ts index e2640e9eb..e01b7e34b 100644 --- a/rx.js/rx.lite.d.ts +++ b/rx.js/rx.lite.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-Lite v2.2.18 +// Type definitions for RxJS-Lite v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: gsino // Definitions by: Igor Oleinikov diff --git a/rx.js/rx.testing.d.ts b/rx.js/rx.testing.d.ts index f03b2de08..082fdba59 100644 --- a/rx.js/rx.testing.d.ts +++ b/rx.js/rx.testing.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-Testing +// Type definitions for RxJS-Testing v2.2.20 // Project: https://github.com/Reactive-Extensions/RxJS/ // Definitions by: Igor Oleinikov // Definitions: https://github.com/borisyankov/DefinitelyTyped diff --git a/rx.js/rx.time.d.ts b/rx.js/rx.time.d.ts index 10290bfe8..18cccd4d3 100644 --- a/rx.js/rx.time.d.ts +++ b/rx.js/rx.time.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-Time v2.2.18 +// Type definitions for RxJS-Time v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: Carl de Billy // Definitions by: Igor Oleinikov diff --git a/rx.js/rx.virtualtime.d.ts b/rx.js/rx.virtualtime.d.ts index c57cbd664..bba46a761 100644 --- a/rx.js/rx.virtualtime.d.ts +++ b/rx.js/rx.virtualtime.d.ts @@ -1,4 +1,4 @@ -// Type definitions for RxJS-VirtualTime package 2.2.18 +// Type definitions for RxJS-VirtualTime v2.2.20 // Project: http://rx.codeplex.com/ // Definitions by: gsino // Definitions by: Igor Oleinikov