VulpesOS/assets/webapps/system.gaiamobile.org/shared/js/gzip/gzip.js
OverSu b38dea0597 Publish Vulpes Preview 15 sources for desktop, Android and Tundra
Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
2026-09-30 23:13:03 +02:00

39 lines
857 B
JavaScript

/* exported Gzip */
'use strict';
var Gzip = {
WORKER_URL: '/shared/js/gzip/gzip_worker.js',
compress: function(payload) {
return new Promise((resolve, reject) => {
var worker = new Worker(this.WORKER_URL);
// Protect against the worker failing for whatever reason.
var workerTimeout = setTimeout(function() {
worker.terminate();
reject('Failed to compress: gzip worker did not respond.');
}, 10000);
worker.onmessage = function(msg) {
clearTimeout(workerTimeout);
worker.terminate();
var data = msg.data;
if (data.returnResult) {
resolve(data.gzipData);
}
else {
reject('Failed to compress: ' + data.error);
}
};
worker.postMessage({
cmd: 'gzip',
payload: payload
});
});
}
};