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; } }