blob: 161270706d19ab557b2556761406a9bf30ce0772 [file] [log] [blame]
let nextHandle = 1;
const tasksByHandle: { [handle: string]: () => void } = {};
function runIfPresent(handle: number) {
const cb = tasksByHandle[handle];
if (cb) {
cb();
}
}
export const Immediate = {
setImmediate(cb: () => void): number {
const handle = nextHandle++;
tasksByHandle[handle] = cb;
Promise.resolve().then(() => runIfPresent(handle));
return handle;
},
clearImmediate(handle: number): void {
delete tasksByHandle[handle];
},
};