frontend/.pnpm-store/v3/files/87/d1677c62937433486653936e2b92ffefe20933b9c5b48df2a6b83604b3157ba32ffc78f7d25d3e8f7c905610f8f6b85f8ea947e6d2e73863e5b3997e235f30

27 lines
684 B
Plaintext

let nextHandle = 1;
const RESOLVED = (() => Promise.resolve())();
const activeHandles = {};
function findAndClearHandle(handle) {
if (handle in activeHandles) {
delete activeHandles[handle];
return true;
}
return false;
}
export const Immediate = {
setImmediate(cb) {
const handle = nextHandle++;
activeHandles[handle] = true;
RESOLVED.then(() => findAndClearHandle(handle) && cb());
return handle;
},
clearImmediate(handle) {
findAndClearHandle(handle);
},
};
export const TestTools = {
pending() {
return Object.keys(activeHandles).length;
}
};
//# sourceMappingURL=Immediate.js.map