-
Notifications
You must be signed in to change notification settings - Fork 8
/
module.d.ts
58 lines (48 loc) · 1.97 KB
/
module.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
export interface Subscription {
closed: boolean;
unsubscribe(): void;
}
interface SubscriptionObserver<T> {
closed: boolean;
next(value: T): void;
error(errorValue: any): void;
complete(): void;
}
export interface Observer<T> {
start?(subscription: Subscription): any;
next?(value: T): void;
error?(errorValue: any): void;
complete?(): void;
}
export type Subscriber<T> = (
observer: SubscriptionObserver<T>,
) => void | (() => void) | Subscription;
interface ObservableLike<T> {
subscribe?: Subscriber<T> | undefined;
[Symbol.observable](): Observable<T> | ObservableLike<T>;
}
export declare class Observable<T> {
constructor(subscriber: Subscriber<T>);
// For backwards compatibility when super(subscriber) is transpiled to
// Observable.call(this, subscriber), which typically happens when the
// Observable class is compiled to ES5 function contructor syntax.
static call<R>(instance: Observable<R>, subscriber: Subscriber<R>): undefined;
static apply<R>(instance: Observable<R>, args: IArguments | [Subscriber<R>]): undefined;
subscribe(observer: Observer<T>): Subscription;
subscribe(
onNext: (value: T) => void,
onError?: (error: any) => void,
onComplete?: () => void,
): Subscription;
[Symbol.observable](): Observable<T>;
forEach(callback: (value: T) => void): Promise<void>;
map<R>(callback: (value: T) => R): Observable<R>;
filter<S extends T>(callback: (value: T) => value is S): Observable<S>;
filter(callback: (value: T) => boolean): Observable<T>;
reduce(callback: (previousValue: T, currentValue: T) => T, initialValue?: T): Observable<T>;
reduce<R>(callback: (previousValue: R, currentValue: T) => R, initialValue?: R): Observable<R>;
flatMap<R>(callback: (value: T) => ObservableLike<R>): Observable<R>;
concat<R>(...observable: Array<Observable<R>>): Observable<R>;
static from<R>(observable: Observable<R> | ObservableLike<R> | ArrayLike<R>): Observable<R>;
static of<R>(...items: R[]): Observable<R>;
}