UNPKG

2.5 kBTypeScriptView Raw
1import { Observable } from './Observable';
2import { Subscription } from './Subscription';
3/** OPERATOR INTERFACES */
4export interface UnaryFunction<T, R> {
5 (source: T): R;
6}
7export interface OperatorFunction<T, R> extends UnaryFunction<Observable<T>, Observable<R>> {
8}
9export declare type FactoryOrValue<T> = T | (() => T);
10export interface MonoTypeOperatorFunction<T> extends OperatorFunction<T, T> {
11}
12export interface Timestamp<T> {
13 value: T;
14 timestamp: number;
15}
16export interface TimeInterval<T> {
17 value: T;
18 interval: number;
19}
20/** SUBSCRIPTION INTERFACES */
21export interface Unsubscribable {
22 unsubscribe(): void;
23}
24export declare type TeardownLogic = Unsubscribable | Function | void;
25export interface SubscriptionLike extends Unsubscribable {
26 unsubscribe(): void;
27 readonly closed: boolean;
28}
29export declare type SubscribableOrPromise<T> = Subscribable<T> | Subscribable<never> | PromiseLike<T> | InteropObservable<T>;
30/** OBSERVABLE INTERFACES */
31export interface Subscribable<T> {
32 subscribe(observerOrNext?: PartialObserver<T> | ((value: T) => void), error?: (error: any) => void, complete?: () => void): Unsubscribable;
33}
34export declare type ObservableInput<T> = SubscribableOrPromise<T> | ArrayLike<T> | Iterable<T>;
35/** @deprecated use {@link InteropObservable } */
36export declare type ObservableLike<T> = InteropObservable<T>;
37export declare type InteropObservable<T> = {
38 [Symbol.observable]: () => Subscribable<T>;
39};
40/** OBSERVER INTERFACES */
41export interface NextObserver<T> {
42 closed?: boolean;
43 next: (value: T) => void;
44 error?: (err: any) => void;
45 complete?: () => void;
46}
47export interface ErrorObserver<T> {
48 closed?: boolean;
49 next?: (value: T) => void;
50 error: (err: any) => void;
51 complete?: () => void;
52}
53export interface CompletionObserver<T> {
54 closed?: boolean;
55 next?: (value: T) => void;
56 error?: (err: any) => void;
57 complete: () => void;
58}
59export declare type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T>;
60export interface Observer<T> {
61 closed?: boolean;
62 next: (value: T) => void;
63 error: (err: any) => void;
64 complete: () => void;
65}
66/** SCHEDULER INTERFACES */
67export interface SchedulerLike {
68 now(): number;
69 schedule<T>(work: (this: SchedulerAction<T>, state?: T) => void, delay?: number, state?: T): Subscription;
70}
71export interface SchedulerAction<T> extends Subscription {
72 schedule(state?: T, delay?: number): Subscription;
73}
74
\No newline at end of file