UNPKG

@reactivex/ix-es5-esm

Version:

The Interactive Extensions for JavaScript

51 lines (50 loc) 1.71 kB
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; }