import { HttpHeader } from '../../../http/http-header'; import { MediaType } from '../../../http/http-media-type'; import { UnaryAny } from '../../../utils/custom-types'; export type ResponseMapper = (response: Response) => Promise; export const contentTypeResponseMapper: ResponseMapper = async ( resp: Response, ): Promise => { if ( resp.headers .get(HttpHeader.CONTENT_TYPE) ?.startsWith(MediaType.APPLICATION_JSON) ) { return await resp.json(); } if (resp.headers.get(HttpHeader.CONTENT_TYPE)?.includes('text')) { return await resp.text(); } return resp; }; export const responseDataUnwrap: UnaryAny = ({ data }) => data;