29 lines
683 B
TypeScript
29 lines
683 B
TypeScript
/*
|
|
* https://github.com/morethanwords/tweb
|
|
* Copyright (C) 2019-2021 Eduard Kuzmenko
|
|
* https://github.com/morethanwords/tweb/blob/master/LICENSE
|
|
*/
|
|
|
|
export default function setWorkerProxy() {
|
|
// * hook worker constructor to set search parameters (test, debug, etc)
|
|
const workerHandler = {
|
|
construct(target: any, args: any) {
|
|
let url = args[0] + '';
|
|
if(url.indexOf('blob:') !== 0) {
|
|
url += location.search;
|
|
}
|
|
|
|
return new target(url);
|
|
}
|
|
};
|
|
|
|
[
|
|
Worker,
|
|
typeof(SharedWorker) !== 'undefined' && SharedWorker
|
|
].filter(Boolean).forEach((w) => {
|
|
window[w.name as any] = new Proxy(w, workerHandler);
|
|
});
|
|
}
|
|
|
|
setWorkerProxy();
|