rsocket-js
rsocket-js copied to clipboard
Add WebWorker support for LiteBuffer
LiteBuffer isn't supported in WebWorker context as the code use window object which is undefined in WebWorker
Solution which seems to work for me Use following code in LiteBuffer.js
if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
Object.defineProperty(WorkerGlobalScope, 'Buffer', {
configurable: true,
enumerable: false,
value: Buffer,
writable: true,
});
} else {
Object.defineProperty(window, 'Buffer', {
configurable: true,
enumerable: false,
value: Buffer,
writable: true,
});
}
instead of only
Object.defineProperty(window, 'Buffer', {
configurable: true,
enumerable: false,
value: Buffer,
writable: true,
});