UNPKG

packdir-cli

Version:
27 lines 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.type = void 0; const tslib_1 = require("tslib"); const abort_controller_1 = tslib_1.__importDefault(require("abort-controller")); const fs = tslib_1.__importStar(require("fs/promises")); const node_fetch_1 = tslib_1.__importDefault(require("node-fetch")); const url_1 = require("url"); exports.type = 'nodebuffer'; const fetchable = async (url, timeout) => { const controller = new abort_controller_1.default(); const out = setTimeout(() => controller.abort(), timeout); try { if (url.startsWith('file://')) { return fs.readFile(new url_1.URL(url), { signal: controller.signal }); } const res = await (0, node_fetch_1.default)(url, { signal: controller.signal }); if (!res.ok) throw new Error(`Got error ${res.status} (${res.statusText}) while fetching ${url}`); return res.buffer(); } finally { clearTimeout(out); } }; exports.default = fetchable; //# sourceMappingURL=fetchable.js.map