source: trip-planner-front/node_modules/rxjs/src/internal/types.ts@ 6a3a178

Last change on this file since 6a3a178 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

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