UNPKG

2.15 kBPlain TextView Raw
1import { Observable, SchedulerLike, bindNodeCallback } from 'rxjs';
2
3export class BoundNodeCallbackObservable<T> extends Observable<T> {
4 /* tslint:disable:max-line-length */
5 static create<R>(callbackFunc: (callback: (err: any, result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): () => Observable<R>;
6 static create<T, R>(callbackFunc: (v1: T, callback: (err: any, result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T) => Observable<R>;
7 static create<T, T2, R>(callbackFunc: (v1: T, v2: T2, callback: (err: any, result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2) => Observable<R>;
8 static create<T, T2, T3, R>(callbackFunc: (v1: T, v2: T2, v3: T3, callback: (err: any, result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3) => Observable<R>;
9 static create<T, T2, T3, T4, R>(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, callback: (err: any, result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4) => Observable<R>;
10 static create<T, T2, T3, T4, T5, R>(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, callback: (err: any, result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4, v5: T5) => Observable<R>;
11 static create<T, T2, T3, T4, T5, T6, R>(callbackFunc: (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6, callback: (err: any, result: R) => any) => any, selector?: void, scheduler?: SchedulerLike): (v1: T, v2: T2, v3: T3, v4: T4, v5: T5, v6: T6) => Observable<R>;
12 static create<T>(callbackFunc: Function, selector?: void, scheduler?: SchedulerLike): (...args: any[]) => Observable<T>;
13 static create<T>(callbackFunc: Function, selector?: (...args: any[]) => T, scheduler?: SchedulerLike): (...args: any[]) => Observable<T>;
14 /* tslint:enable:max-line-length */
15 static create<T>(func: Function,
16 selector: Function | void = undefined,
17 scheduler?: SchedulerLike): (...args: any[]) => Observable<T> {
18 return bindNodeCallback(func, <any>selector, scheduler);
19 }
20}