hapic
Version:
A http api client based on axios.
7 lines (6 loc) • 480 B
TypeScript
import type { ResponseType } from '../constants';
export type ResponseData<RT extends `${ResponseType}` = `${ResponseType.JSON}`, T = any> = RT extends `${ResponseType.ARRAY_BUFFER}` ? ArrayBuffer : RT extends `${ResponseType.TEXT}` ? string : RT extends `${ResponseType.STREAM}` ? ReadableStream : RT extends `${ResponseType.BLOB}` ? Blob : T;
export interface Response<T = any> extends globalThis.Response {
data?: T;
}
export type ResponseTransformer = (data: any) => any;