tc39-weakrefs-shim
Version:
Shim for TC39 Weakrefs proposal
22 lines • 904 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const taskQueue_js_1 = __importDefault(require("./taskQueue.js"));
exports.available = typeof MessageChannel == "function";
function shim() {
if (!exports.available)
throw new Error("MessageChannel not available");
function register(immediateId) {
channel.port2.postMessage(immediateId);
return true;
}
const { set, clear, process } = taskQueue_js_1.default(register, true);
const channel = new MessageChannel();
channel.port1.addEventListener("message", (event) => process(event.data));
channel.port1.start();
return { setImmediate: set, clearImmediate: clear };
}
exports.shim = shim;
//# sourceMappingURL=setImmediate.shim.js.map