| "use strict"; |
| Object.defineProperty(exports, "__esModule", { value: true }); |
| var nextHandle = 1; |
| var RESOLVED = (function () { return Promise.resolve(); })(); |
| var activeHandles = {}; |
| function findAndClearHandle(handle) { |
| if (handle in activeHandles) { |
| delete activeHandles[handle]; |
| return true; |
| } |
| return false; |
| } |
| exports.Immediate = { |
| setImmediate: function (cb) { |
| var handle = nextHandle++; |
| activeHandles[handle] = true; |
| RESOLVED.then(function () { return findAndClearHandle(handle) && cb(); }); |
| return handle; |
| }, |
| clearImmediate: function (handle) { |
| findAndClearHandle(handle); |
| }, |
| }; |
| exports.TestTools = { |
| pending: function () { |
| return Object.keys(activeHandles).length; |
| } |
| }; |
| //# sourceMappingURL=Immediate.js.map |