packdir-cli
Version:
Packdir CLI
27 lines • 1.07 kB
JavaScript
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
;