@lifaon/rx-js-light
Version:
Blazing fast Observables
14 lines (13 loc) • 491 B
JavaScript
import {runTask} from "./run-task.mjs";
export function postMessageImplementation(global) {
const messagePrefix = `setImmediate$${Math.random()}$`;
const length = messagePrefix.length;
global.addEventListener('message', event => {
if (event.source === global && typeof event.data === 'string' && event.data.indexOf(messagePrefix) === 0) {
runTask(+event.data.slice(length));
}
}, false);
return handle => {
global.postMessage(messagePrefix + handle, '*');
};
}