{"version":3,"file":"extract-data.cjs","names":["isFetchResponse"],"sources":["../../src/utils/extract-data.ts"],"sourcesContent":["import { isFetchResponse } from './is-response.js';\n\n/**\n * Tries to extract a fetch response\n */\nexport async function extractData(response: unknown) {\n\tif (typeof response !== 'object' || !response) return;\n\n\tif (isFetchResponse(response)) {\n\t\tconst type = response.headers.get('Content-Type')?.toLowerCase();\n\n\t\tif (type?.startsWith('application/json') || type?.startsWith('application/health+json')) {\n\t\t\tconst result = await response.json();\n\n\t\t\tif (!response.ok || 'errors' in result) throw result;\n\n\t\t\tif ('data' in result) return result.data;\n\n\t\t\treturn result;\n\t\t}\n\n\t\tif (type?.startsWith('text/html') || type?.startsWith('text/plain')) {\n\t\t\tconst result = await response.text();\n\t\t\tif (!response.ok) throw result;\n\t\t\treturn result;\n\t\t}\n\n\t\tif (response.status === 204) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// fallback for anything else\n\t\treturn response;\n\t}\n\n\t// exception for alternatives like ofetch that don't return the Response object\n\n\tif ('errors' in response) throw response;\n\n\tif ('data' in response) return response.data;\n\n\treturn response;\n}\n"],"mappings":"qCAKA,eAAsB,EAAY,EAAmB,CAChD,YAAO,GAAa,UAAY,CAAC,GAErC,IAAIA,EAAAA,gBAAgB,EAAS,CAAE,CAC9B,IAAM,EAAO,EAAS,QAAQ,IAAI,eAAe,EAAE,aAAa,CAEhE,GAAI,GAAM,WAAW,mBAAmB,EAAI,GAAM,WAAW,0BAA0B,CAAE,CACxF,IAAM,EAAS,MAAM,EAAS,MAAM,CAEpC,GAAI,CAAC,EAAS,IAAM,WAAY,EAAQ,MAAM,EAI9C,MAFI,SAAU,EAAe,EAAO,KAE7B,EAGR,GAAI,GAAM,WAAW,YAAY,EAAI,GAAM,WAAW,aAAa,CAAE,CACpE,IAAM,EAAS,MAAM,EAAS,MAAM,CACpC,GAAI,CAAC,EAAS,GAAI,MAAM,EACxB,OAAO,EAQR,OALI,EAAS,SAAW,IAChB,KAID,EAKR,GAAI,WAAY,EAAU,MAAM,EAIhC,MAFI,SAAU,EAAiB,EAAS,KAEjC"}