/
interfaces.ts
31 lines (20 loc) · 1.18 KB
/
interfaces.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import { IFiniteStateObservable, IFiniteStateObservableConstructor } from '../../../interfaces';
import {
IPromiseObservableFromPromiseOptions, IPromiseObservableKeyValueMap, IPromiseObservableOptions,
TPromiseObservableFactory, TPromiseObservableFinalState, TPromiseObservableMode
} from './types';
/** INTERFACES **/
export interface IPromiseObservableStatic extends Omit<IFiniteStateObservableConstructor, 'new'> {
fromPromise<T>(promise: Promise<T>, options?: IPromiseObservableFromPromiseOptions): IPromiseObservable<T>;
}
export interface IPromiseObservableConstructor extends IPromiseObservableStatic {
new<T>(promiseFactory: TPromiseObservableFactory<T>, options?: IPromiseObservableOptions): IPromiseObservable<T>;
}
export interface IPromiseObservableTypedConstructor<T> extends IPromiseObservableStatic {
new(promiseFactory: TPromiseObservableFactory<T>, options?: IPromiseObservableOptions): IPromiseObservable<T>;
}
/**
* A PromiseObservable allows to build classes that transform Promises to Observables.
*/
export interface IPromiseObservable<T> extends IFiniteStateObservable<T, TPromiseObservableFinalState, TPromiseObservableMode, IPromiseObservableKeyValueMap<T>> {
}