@jbrowse/core
Version:
JBrowse 2 core libraries used by plugins
30 lines (29 loc) • 973 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStopToken = createStopToken;
exports.stopStopToken = stopStopToken;
exports.checkStopToken = checkStopToken;
function isWebWorker() {
return (typeof WorkerGlobalScope !== 'undefined' &&
self instanceof WorkerGlobalScope);
}
function createStopToken() {
var _a;
return ((_a = URL.createObjectURL) === null || _a === void 0 ? void 0 : _a.call(URL, new Blob())) || `${Math.random()}`;
}
function stopStopToken(stopToken) {
var _a;
(_a = URL.revokeObjectURL) === null || _a === void 0 ? void 0 : _a.call(URL, stopToken);
}
function checkStopToken(stopToken) {
if (typeof jest === 'undefined' && stopToken !== undefined && isWebWorker()) {
const xhr = new XMLHttpRequest();
xhr.open('GET', stopToken, false);
try {
xhr.send(null);
}
catch (e) {
throw new Error('aborted');
}
}
}
;