diff --git a/lib/bridge.js b/lib/bridge.js index 8de8e7b..ce30b53 100644 --- a/lib/bridge.js +++ b/lib/bridge.js @@ -27,20 +27,20 @@ const Flatted = require('flatted'), __uvm_emit = function (postMessage, args) { postMessage({__id_uvm: "${id}", __emit_uvm: args}); }.bind(null, __self.postMessage.bind(__self)); - __uvm_addEventListener = __self.addEventListener.bind(__self); + __uvm_on = __self.on.bind(__self); ${bridgeClientCode()} (function (emit, id) { - __uvm_addEventListener("message", function (e) { - const { __emit_uvm, __id_uvm } = e?.data || e || {}; + __uvm_on("message", function (e) { + const { __emit_uvm, __id_uvm } = e || {}; if (typeof __emit_uvm === 'string' && __id_uvm === id) { emit(__emit_uvm); } }); }(__uvm_dispatch, "${id}")); __uvm_dispatch = null; delete __uvm_dispatch; - __uvm_addEventListener = null; delete __uvm_addEventListener; + __uvm_on = null; delete __uvm_on; (function (self, bridge, setTimeout) { ${Worker.__exceptionHandler} diff --git a/lib/worker.browser.js b/lib/worker.browser.js index a959c4f..1275620 100644 --- a/lib/worker.browser.js +++ b/lib/worker.browser.js @@ -32,7 +32,14 @@ class WebWorker { callback && callback(); } - static __self = 'self'; + static __self = `(function () { + self.on = function (name, listener) { + return self.addEventListener(name, function (e) { + listener(e.data); + }); + }; + return self; + }())`; static __exceptionHandler = ` ((close) => {