@speedy-js/mono
Version:
Monorepo development & continuous integration tooling.
40 lines • 971 B
JavaScript
;
/**
* Module dependencies.
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.wfetch = void 0;
const node_fetch_1 = __importDefault(require("node-fetch"));
/**
* Expose a wrapped fetch which handles network error.
*/
function wfetch(url, options = {}) {
return (0, node_fetch_1.default)(url, options).then(handleResponse, handleNetworkError);
}
exports.wfetch = wfetch;
/**
* Response handler
*
* @param {Response} response
* @returns {Promise<any>>|never}
*/
function handleResponse(response) {
if (response.ok) {
return response.json();
}
return response.json().then((error) => {
throw error;
});
}
/**
* Network error handler
*
* @param {Error} error
*/
function handleNetworkError(error) {
throw error;
}
//# sourceMappingURL=fetch.js.map