Server IP : 162.213.251.212 / Your IP : 18.222.156.198 [ Web Server : LiteSpeed System : Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : allssztx ( 535) PHP Version : 8.1.31 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/allssztx/nodevenv/needapair.com/20/lib/node_modules/mongodb/lib/ |
Upload File : |
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Timeout = exports.TimeoutError = void 0; const timers_1 = require("timers"); const error_1 = require("./error"); const utils_1 = require("./utils"); /** @internal */ class TimeoutError extends Error { get name() { return 'TimeoutError'; } constructor(message, options) { super(message, options); } static is(error) { return (error != null && typeof error === 'object' && 'name' in error && error.name === 'TimeoutError'); } } exports.TimeoutError = TimeoutError; /** * @internal * This class is an abstraction over timeouts * The Timeout class can only be in the pending or rejected states. It is guaranteed not to resolve * if interacted with exclusively through its public API * */ class Timeout extends Promise { get [Symbol.toStringTag]() { return 'MongoDBTimeout'; } /** Create a new timeout that expires in `duration` ms */ constructor(executor = () => null, duration, unref = false) { let reject; if (duration < 0) { throw new error_1.MongoInvalidArgumentError('Cannot create a Timeout with a negative duration'); } super((_, promiseReject) => { reject = promiseReject; executor(utils_1.noop, promiseReject); }); this.ended = null; this.timedOut = false; this.duration = duration; this.start = Math.trunc(performance.now()); if (this.duration > 0) { this.id = (0, timers_1.setTimeout)(() => { this.ended = Math.trunc(performance.now()); this.timedOut = true; reject(new TimeoutError(`Expired after ${duration}ms`)); }, this.duration); if (typeof this.id.unref === 'function' && unref) { // Ensure we do not keep the Node.js event loop running this.id.unref(); } } } /** * Clears the underlying timeout. This method is idempotent */ clear() { (0, timers_1.clearTimeout)(this.id); this.id = undefined; } static expires(durationMS, unref) { return new Timeout(undefined, durationMS, unref); } static is(timeout) { return (typeof timeout === 'object' && timeout != null && Symbol.toStringTag in timeout && timeout[Symbol.toStringTag] === 'MongoDBTimeout' && 'then' in timeout && typeof timeout.then === 'function'); } } exports.Timeout = Timeout; //# sourceMappingURL=timeout.js.map