util-helpers
Version:
35 lines (31 loc) • 1.13 kB
JavaScript
;
var tslib = require('tslib');
var ut2 = require('ut2');
var ajax = require('./ajax.js');
var SuccessResponseStatus = [200, 304];
function getFileBlob(file, ajaxOptions) {
return new Promise(function (resolve, reject) {
if (ut2.isBlob(file)) {
resolve(file);
}
else {
ajax(file, tslib.__assign({ responseType: 'blob' }, ajaxOptions))
.then(function (ev) {
var responseStatus = ev.target.status;
if (SuccessResponseStatus.indexOf(responseStatus) !== -1) {
resolve(ev.target.response);
}
else {
var err = new Error("The file does not support get requests, responseStatus ".concat(responseStatus, ", '").concat(file, "'."));
console.error(err);
reject(err);
}
})
.catch(function (err) {
console.error(new Error("Failed to request file. ".concat(err)));
reject(err);
});
}
});
}
module.exports = getFileBlob;