21 lines
1.2 KiB
TypeScript

import { ZenObservable } from './types';
export { ZenObservable };
export declare type Observer<T> = ZenObservable.Observer<T>;
export declare type Subscriber<T> = ZenObservable.Subscriber<T>;
export declare type ObservableLike<T> = ZenObservable.ObservableLike<T>;
export declare const Observable: {
new <T>(subscriber: Subscriber<T>): Observable<T>;
from<R>(observable: Observable<R> | ZenObservable.ObservableLike<R> | ArrayLike<R>): Observable<R>;
of<R>(...args: Array<R>): Observable<R>;
};
export interface Observable<T> {
subscribe(observerOrNext: ((value: T) => void) | ZenObservable.Observer<T>, error?: (error: any) => void, complete?: () => void): ZenObservable.Subscription;
forEach(fn: (value: T) => void): Promise<void>;
map<R>(fn: (value: T) => R): Observable<R>;
filter(fn: (value: T) => boolean): Observable<T>;
reduce<R = T>(fn: (previousValue: R | T, currentValue: T) => R | T, initialValue?: R | T): Observable<R | T>;
flatMap<R>(fn: (value: T) => ZenObservable.ObservableLike<R>): Observable<R>;
from<R>(observable: Observable<R> | ZenObservable.ObservableLike<R> | ArrayLike<R>): Observable<R>;
of<R>(...args: Array<R>): Observable<R>;
}
//# sourceMappingURL=zenObservable.d.ts.map