{"version":3,"file":"fetch.mjs","sources":["../../../../src/clients/handlers/fetch.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { withMemoization } from '../utils/memoization';\nconst shouldSendBody = (method) => !['HEAD', 'GET', 'DELETE'].includes(method.toUpperCase());\n// TODO[AllanZhengYP]: we need to provide isCanceledError utility\nexport const fetchTransferHandler = async ({ url, method, headers, body }, { abortSignal, cache, withCrossDomainCredentials }) => {\n    let resp;\n    try {\n        resp = await fetch(url, {\n            method,\n            headers,\n            body: shouldSendBody(method) ? body : undefined,\n            signal: abortSignal,\n            cache,\n            credentials: withCrossDomainCredentials ? 'include' : 'same-origin',\n        });\n    }\n    catch (e) {\n        // TODO: needs to revise error handling in v6\n        // For now this is a thin wrapper over original fetch error similar to cognito-identity-js package.\n        // Ref: https://github.com/aws-amplify/amplify-js/blob/4fbc8c0a2be7526aab723579b4c95b552195a80b/packages/amazon-cognito-identity-js/src/Client.js#L103-L108\n        if (e instanceof TypeError) {\n            throw new Error('Network error');\n        }\n        throw e;\n    }\n    const responseHeaders = {};\n    resp.headers?.forEach((value, key) => {\n        responseHeaders[key.toLowerCase()] = value;\n    });\n    const httpResponse = {\n        statusCode: resp.status,\n        headers: responseHeaders,\n        body: null,\n    };\n    // resp.body is a ReadableStream according to Fetch API spec, but React Native\n    // does not implement it.\n    const bodyWithMixin = Object.assign(resp.body ?? {}, {\n        text: withMemoization(() => resp.text()),\n        blob: withMemoization(() => resp.blob()),\n        json: withMemoization(() => resp.json()),\n    });\n    return {\n        ...httpResponse,\n        body: bodyWithMixin,\n    };\n};\n"],"names":[],"mappings":";;AAAA;AACA;AAEA,MAAM,cAAc,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;AAC7F;AACY,MAAC,oBAAoB,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,KAAK;AAClI,IAAI,IAAI,IAAI,CAAC;AACb,IAAI,IAAI;AACR,QAAQ,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;AAChC,YAAY,MAAM;AAClB,YAAY,OAAO;AACnB,YAAY,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS;AAC3D,YAAY,MAAM,EAAE,WAAW;AAC/B,YAAY,KAAK;AACjB,YAAY,WAAW,EAAE,0BAA0B,GAAG,SAAS,GAAG,aAAa;AAC/E,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,OAAO,CAAC,EAAE;AACd;AACA;AACA;AACA,QAAQ,IAAI,CAAC,YAAY,SAAS,EAAE;AACpC,YAAY,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AAC7C,SAAS;AACT,QAAQ,MAAM,CAAC,CAAC;AAChB,KAAK;AACL,IAAI,MAAM,eAAe,GAAG,EAAE,CAAC;AAC/B,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK;AAC1C,QAAQ,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;AACnD,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,YAAY,GAAG;AACzB,QAAQ,UAAU,EAAE,IAAI,CAAC,MAAM;AAC/B,QAAQ,OAAO,EAAE,eAAe;AAChC,QAAQ,IAAI,EAAE,IAAI;AAClB,KAAK,CAAC;AACN;AACA;AACA,IAAI,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE;AACzD,QAAQ,IAAI,EAAE,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAChD,QAAQ,IAAI,EAAE,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAChD,QAAQ,IAAI,EAAE,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;AAChD,KAAK,CAAC,CAAC;AACP,IAAI,OAAO;AACX,QAAQ,GAAG,YAAY;AACvB,QAAQ,IAAI,EAAE,aAAa;AAC3B,KAAK,CAAC;AACN;;;;"}