{"version":3,"sources":["../../../src/drivers/http/fetch.ts"],"sourcesContent":["import { defineHttpDriver } from \"../../type/drivers/HttpDriver\"\n\nconst toString = Object.prototype.toString\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction type(obj: any): string {\n  return toString.call(obj).slice(8, -1)\n}\n\nconst parseJSON = (str: string) => {\n  try {\n    return JSON.parse(str)\n  } catch {\n    return str\n  }\n}\n\nexport default defineHttpDriver({\n  request(config) {\n    return fetch(config.url ?? \"/\", {\n      ...config,\n      body:\n        typeof config.data === \"object\" && type(config.data) !== \"FormData\"\n          ? new URLSearchParams(config.data)\n          : config.data,\n    }).then(async (res) => {\n      // eslint-disable-next-line functional/no-let, @typescript-eslint/no-explicit-any\n      let data: any\n      switch (config.responseType) {\n        case \"arraybuffer\":\n          data = await res.arrayBuffer()\n          break\n        case \"blob\":\n          data = await res.blob()\n          break\n        case \"json\":\n          data = await res.json()\n          break\n        case \"text\":\n          data = await res.text()\n          break\n        default:\n          data = parseJSON(await res.text())\n      }\n      return {\n        data,\n        headers: Object.fromEntries(Array.from(res.headers.entries())),\n        status: res.status,\n        statusText: res.statusText,\n      }\n    })\n  },\n})\n"],"mappings":";;;;;;;;;;AAEA,IAAM,WAAW,OAAO,UAAU;AAElC,SAAS,KAAK,KAAkB;AAC9B,SAAO,SAAS,KAAK,GAAG,EAAE,MAAM,GAAG,EAAE;AACvC;AAEA,IAAM,YAAY,CAAC,QAAgB;AACjC,MAAI;AACF,WAAO,KAAK,MAAM,GAAG;AAAA,EACvB,SAAQ,GAAN;AACA,WAAO;AAAA,EACT;AACF;AAEA,IAAO,gBAAQ,iBAAiB;AAAA,EAC9B,QAAQ,QAAQ;AAjBlB;AAkBI,WAAO,OAAM,YAAO,QAAP,YAAc,KAAK,iCAC3B,SAD2B;AAAA,MAE9B,MACE,OAAO,OAAO,SAAS,YAAY,KAAK,OAAO,IAAI,MAAM,aACrD,IAAI,gBAAgB,OAAO,IAAI,IAC/B,OAAO;AAAA,IACf,EAAC,EAAE,KAAK,CAAO,QAAQ;AAErB,UAAI;AACJ,cAAQ,OAAO,cAAc;AAAA,QAC3B,KAAK;AACH,iBAAO,MAAM,IAAI,YAAY;AAC7B;AAAA,QACF,KAAK;AACH,iBAAO,MAAM,IAAI,KAAK;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,MAAM,IAAI,KAAK;AACtB;AAAA,QACF,KAAK;AACH,iBAAO,MAAM,IAAI,KAAK;AACtB;AAAA,QACF;AACE,iBAAO,UAAU,MAAM,IAAI,KAAK,CAAC;AAAA,MACrC;AACA,aAAO;AAAA,QACL;AAAA,QACA,SAAS,OAAO,YAAY,MAAM,KAAK,IAAI,QAAQ,QAAQ,CAAC,CAAC;AAAA,QAC7D,QAAQ,IAAI;AAAA,QACZ,YAAY,IAAI;AAAA,MAClB;AAAA,IACF,EAAC;AAAA,EACH;AACF,CAAC;","names":[]}