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