/
interfaces.ts
26 lines (17 loc) · 1.04 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 { IPromiseObservable } from '../promise-observable/interfaces';
import { INotificationsObservable } from '../../../../../core/notifications-observable/interfaces';
import { IFetchObservableOptions, IFetchObservableRequestInit, TFetchObservableCastKeyValueMap } from './types';
/** INTERFACES **/
export interface IFetchObservableConstructor {
new(requestInfo: RequestInfo, requestInit?: IFetchObservableRequestInit, options?: IFetchObservableOptions): IFetchObservable;
}
/**
* A FetchObservable is an Observable which will fetch a Request when observed.
*/
export interface IFetchObservable extends IPromiseObservable<Response> {
toJSON<T>(): INotificationsObservable<TFetchObservableCastKeyValueMap<T>>;
toText(): INotificationsObservable<TFetchObservableCastKeyValueMap<string>>;
toArrayBuffer(): INotificationsObservable<TFetchObservableCastKeyValueMap<ArrayBuffer>>;
toBlob(): INotificationsObservable<TFetchObservableCastKeyValueMap<Blob>>;
toFormData(): INotificationsObservable<TFetchObservableCastKeyValueMap<FormData>>;
}