2022-01-21 08:28:41 +00:00
|
|
|
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
|
var nextHandle = 1;
|
2022-05-29 09:24:36 +00:00
|
|
|
var RESOLVED = (function () { return Promise.resolve(); })();
|
2022-01-21 08:28:41 +00:00
|
|
|
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;
|
2022-05-29 09:24:36 +00:00
|
|
|
RESOLVED.then(function () { return findAndClearHandle(handle) && cb(); });
|
2022-01-21 08:28:41 +00:00
|
|
|
return handle;
|
|
|
|
},
|
|
|
|
clearImmediate: function (handle) {
|
|
|
|
findAndClearHandle(handle);
|
|
|
|
},
|
|
|
|
};
|
|
|
|
exports.TestTools = {
|
|
|
|
pending: function () {
|
|
|
|
return Object.keys(activeHandles).length;
|
|
|
|
}
|
|
|
|
};
|
|
|
|
//# sourceMappingURL=Immediate.js.map
|