| 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 |