Immediate.js 891 B

123456789101112131415161718192021222324252627282930313233
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.TestTools = exports.Immediate = void 0;
  4. var nextHandle = 1;
  5. var resolved;
  6. var activeHandles = {};
  7. function findAndClearHandle(handle) {
  8. if (handle in activeHandles) {
  9. delete activeHandles[handle];
  10. return true;
  11. }
  12. return false;
  13. }
  14. exports.Immediate = {
  15. setImmediate: function (cb) {
  16. var handle = nextHandle++;
  17. activeHandles[handle] = true;
  18. if (!resolved) {
  19. resolved = Promise.resolve();
  20. }
  21. resolved.then(function () { return findAndClearHandle(handle) && cb(); });
  22. return handle;
  23. },
  24. clearImmediate: function (handle) {
  25. findAndClearHandle(handle);
  26. },
  27. };
  28. exports.TestTools = {
  29. pending: function () {
  30. return Object.keys(activeHandles).length;
  31. }
  32. };
  33. //# sourceMappingURL=Immediate.js.map