UNPKG

@funded-labs/plug-controller

Version:

Internet Computer Plug wallet's controller

39 lines (38 loc) 1.34 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.wrappedFetch = void 0; /* eslint-disable camelcase */ const cross_fetch_1 = __importDefault(require("cross-fetch")); const constants_1 = require("./constants"); /* eslint-disable no-param-reassign */ const wrappedFetchInternal = (fetch, resolve, reject, resource, ...initArgs) => { fetch(resource, ...initArgs) .then(response => { if (!response.success && !response.ok) { const fallbackResource = new URL(resource); fallbackResource.host = constants_1.IC_URL_HOST; fetch(fallbackResource, ...initArgs) .then(resolve) .catch(reject); } else { resolve(response); } }) .catch(reject); }; const wrappedFetch = (fetch = cross_fetch_1.default) => (...args) => { let reject; let resolve; const promise = new Promise((_resolve, _reject) => { resolve = _resolve; reject = _reject; }); wrappedFetchInternal(fetch, resolve, reject, ...args); return promise; }; exports.wrappedFetch = wrappedFetch; exports.default = { wrappedFetch: exports.wrappedFetch };