[6a3a178] | 1 | import { Observable } from './Observable';
|
---|
| 2 | import { Subscription } from './Subscription';
|
---|
| 3 | /**
|
---|
| 4 | * Note: This will add Symbol.observable globally for all TypeScript users,
|
---|
| 5 | * however, we are no longer polyfilling Symbol.observable
|
---|
| 6 | */
|
---|
| 7 | declare global {
|
---|
| 8 | interface SymbolConstructor {
|
---|
| 9 | readonly observable: symbol;
|
---|
| 10 | }
|
---|
| 11 | }
|
---|
| 12 | /** OPERATOR INTERFACES */
|
---|
| 13 | export interface UnaryFunction<T, R> {
|
---|
| 14 | (source: T): R;
|
---|
| 15 | }
|
---|
| 16 | export interface OperatorFunction<T, R> extends UnaryFunction<Observable<T>, Observable<R>> {
|
---|
| 17 | }
|
---|
| 18 | export declare type FactoryOrValue<T> = T | (() => T);
|
---|
| 19 | export interface MonoTypeOperatorFunction<T> extends OperatorFunction<T, T> {
|
---|
| 20 | }
|
---|
| 21 | export interface Timestamp<T> {
|
---|
| 22 | value: T;
|
---|
| 23 | timestamp: number;
|
---|
| 24 | }
|
---|
| 25 | export interface TimeInterval<T> {
|
---|
| 26 | value: T;
|
---|
| 27 | interval: number;
|
---|
| 28 | }
|
---|
| 29 | /** SUBSCRIPTION INTERFACES */
|
---|
| 30 | export interface Unsubscribable {
|
---|
| 31 | unsubscribe(): void;
|
---|
| 32 | }
|
---|
| 33 | export declare type TeardownLogic = Unsubscribable | Function | void;
|
---|
| 34 | export interface SubscriptionLike extends Unsubscribable {
|
---|
| 35 | unsubscribe(): void;
|
---|
| 36 | readonly closed: boolean;
|
---|
| 37 | }
|
---|
| 38 | export declare type SubscribableOrPromise<T> = Subscribable<T> | Subscribable<never> | PromiseLike<T> | InteropObservable<T>;
|
---|
| 39 | /** OBSERVABLE INTERFACES */
|
---|
| 40 | export interface Subscribable<T> {
|
---|
| 41 | subscribe(observer?: PartialObserver<T>): Unsubscribable;
|
---|
| 42 | /** @deprecated Use an observer instead of a complete callback */
|
---|
| 43 | subscribe(next: null | undefined, error: null | undefined, complete: () => void): Unsubscribable;
|
---|
| 44 | /** @deprecated Use an observer instead of an error callback */
|
---|
| 45 | subscribe(next: null | undefined, error: (error: any) => void, complete?: () => void): Unsubscribable;
|
---|
| 46 | /** @deprecated Use an observer instead of a complete callback */
|
---|
| 47 | subscribe(next: (value: T) => void, error: null | undefined, complete: () => void): Unsubscribable;
|
---|
| 48 | subscribe(next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Unsubscribable;
|
---|
| 49 | }
|
---|
| 50 | export declare type ObservableInput<T> = SubscribableOrPromise<T> | ArrayLike<T> | Iterable<T>;
|
---|
| 51 | /** @deprecated use {@link InteropObservable } */
|
---|
| 52 | export declare type ObservableLike<T> = InteropObservable<T>;
|
---|
| 53 | export declare type InteropObservable<T> = {
|
---|
| 54 | [Symbol.observable]: () => Subscribable<T>;
|
---|
| 55 | };
|
---|
| 56 | /** OBSERVER INTERFACES */
|
---|
| 57 | export interface NextObserver<T> {
|
---|
| 58 | closed?: boolean;
|
---|
| 59 | next: (value: T) => void;
|
---|
| 60 | error?: (err: any) => void;
|
---|
| 61 | complete?: () => void;
|
---|
| 62 | }
|
---|
| 63 | export interface ErrorObserver<T> {
|
---|
| 64 | closed?: boolean;
|
---|
| 65 | next?: (value: T) => void;
|
---|
| 66 | error: (err: any) => void;
|
---|
| 67 | complete?: () => void;
|
---|
| 68 | }
|
---|
| 69 | export interface CompletionObserver<T> {
|
---|
| 70 | closed?: boolean;
|
---|
| 71 | next?: (value: T) => void;
|
---|
| 72 | error?: (err: any) => void;
|
---|
| 73 | complete: () => void;
|
---|
| 74 | }
|
---|
| 75 | export declare type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T>;
|
---|
| 76 | export interface Observer<T> {
|
---|
| 77 | closed?: boolean;
|
---|
| 78 | next: (value: T) => void;
|
---|
| 79 | error: (err: any) => void;
|
---|
| 80 | complete: () => void;
|
---|
| 81 | }
|
---|
| 82 | /** SCHEDULER INTERFACES */
|
---|
| 83 | export interface SchedulerLike {
|
---|
| 84 | now(): number;
|
---|
| 85 | schedule<T>(work: (this: SchedulerAction<T>, state?: T) => void, delay?: number, state?: T): Subscription;
|
---|
| 86 | }
|
---|
| 87 | export interface SchedulerAction<T> extends Subscription {
|
---|
| 88 | schedule(state?: T, delay?: number): Subscription;
|
---|
| 89 | }
|
---|
| 90 | export declare type ObservedValueOf<O> = O extends ObservableInput<infer T> ? T : never;
|
---|
| 91 | export declare type ObservedValuesFromArray<X> = X extends Array<ObservableInput<infer T>> ? T : never;
|
---|