rsocket / rsocket-js

JavaScript implementation of RSocket

Home Page:https://github.com/rsocket/rsocket-js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add WebWorker support for LiteBuffer

ygrill-astek opened this issue · comments

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,
   });