@reactivex/ix-es5-esm
Version:
The Interactive Extensions for JavaScript
51 lines (50 loc) • 1.71 kB
TypeScript
import { Subscription } from './subscription.js';
declare global {
interface SymbolConstructor {
readonly observable: symbol;
}
}
/** @ignore */
export declare const observable: string | typeof Symbol.observable;
export interface NextObserver<T> {
next: (value: T) => any;
error?: (err: any) => any;
complete?: () => any;
}
export interface ErrorObserver<T> {
next?: (value: T) => any;
error: (err: any) => any;
complete?: () => any;
}
export interface CompletionObserver<T> {
next?: (value: T) => any;
error?: (err: any) => any;
complete: () => any;
}
export type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T>;
export interface NextAsyncObserver<T> {
next: (value: T) => any | Promise<any>;
error?: (err: any) => any | Promise<any>;
complete?: () => any | Promise<any>;
}
export interface ErrorAsyncObserver<T> {
next?: (value: T) => any | Promise<any>;
error: (err: any) => any | Promise<any>;
complete?: () => any | Promise<any>;
}
export interface CompletionAsyncObserver<T> {
next?: (value: T) => any | Promise<any>;
error?: (err: any) => any | Promise<any>;
complete: () => any | Promise<any>;
}
export type PartialAsyncObserver<T> = NextAsyncObserver<T> | ErrorAsyncObserver<T> | CompletionAsyncObserver<T>;
export interface Observer<T> {
closed?: boolean;
next: (value: T) => void;
error: (err: any) => void;
complete: () => void;
}
export interface Observable<T> {
subscribe(observer?: PartialObserver<T>): Subscription;
subscribe(next?: null | ((value: T) => void), error?: null | ((error: any) => void), complete?: null | (() => void)): Subscription;
}