mux-fetch
Version:
35 lines (34 loc) • 1.31 kB
TypeScript
import { ErrorInterceptor } from "./errorInterceptor";
import { RequestInterceptor } from "./requestInterceptor";
import { TResponse, ResponseHandleArgs, ResponseInterceptor } from "./responseInterceptor";
export interface BaseConfig {
prefix?: string;
fetchOption?: object;
responseHandle?: (params: ResponseHandleArgs) => Promise<TResponse>;
}
export interface FetchConfig extends BaseConfig {
interceptor?: {
requestInterceptor?: Array<Interceptor["requestInterceptor"]>;
responseInterceptor?: Array<Interceptor["responseInterceptor"]>;
errorInterceptor?: Array<Interceptor["errorInterceptor"]>;
};
}
export interface GlobalConfig extends BaseConfig {
interceptor?: {
requestInterceptor?: Interceptor["requestInterceptor"];
responseInterceptor?: Interceptor["responseInterceptor"];
errorInterceptor?: Interceptor["errorInterceptor"];
};
}
export interface Interceptor {
requestInterceptor: RequestInterceptor;
responseInterceptor: ResponseInterceptor;
errorInterceptor: ErrorInterceptor;
}
export interface FastOptions {
method: string;
headersType?: string;
}
export * from "./responseInterceptor";
export * from "./requestInterceptor";
export * from "./errorInterceptor";