util-helpers
Version:
33 lines (30 loc) • 1.12 kB
JavaScript
import { __assign } from 'tslib';
import { isBlob } from 'ut2';
import ajax from './ajax.js';
var SuccessResponseStatus = [200, 304];
function getFileBlob(file, ajaxOptions) {
return new Promise(function (resolve, reject) {
if (isBlob(file)) {
resolve(file);
}
else {
ajax(file, __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);
});
}
});
}
export { getFileBlob as default };