@lifaon/rx-js-light
Version:
Blazing fast Observables
20 lines (19 loc) • 714 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.postMessageImplementation = void 0;
var run_task_1 = require("./run-task.cjs");
function postMessageImplementation(global) {
var messagePrefix = ("setImmediate$").concat(Math.random(), "$");
var length = messagePrefix.length;
global.addEventListener('message', function (event) {
if (event.source === global && typeof event.data === 'string' && event.data.indexOf(messagePrefix) === 0) {
(0, run_task_1.runTask)(+event.data.slice(length));
}
}, false);
return function (handle) {
global.postMessage(messagePrefix + handle, '*');
};
}
exports.postMessageImplementation = postMessageImplementation;