UNPKG

reliable-zeromq

Version:

A collection of reliable zeromq messaging constructs

29 lines 2.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CancellableDelay = exports.Delay = void 0; function Delay(aMS = 100) { return new Promise((aResolve) => { setTimeout(aResolve, aMS); }); } exports.Delay = Delay; class CancellableDelay { constructor() { this.mNonce = 0; this.mTimeoutMap = new Map(); } Clear() { this.mTimeoutMap.forEach((aTimeout) => { clearTimeout(aTimeout); }); } Create(aMS = 100) { return new Promise((aResolve) => { const lNonce = ++this.mNonce; const lTimeoutMap = this.mTimeoutMap; this.mTimeoutMap.set(lNonce, setTimeout(function () { aResolve(); lTimeoutMap.delete(lNonce); }, aMS)); }); } } exports.CancellableDelay = CancellableDelay; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVsYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9TcmMvVXRpbHMvRGVsYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IsS0FBSyxDQUFDLE1BQWMsR0FBRztJQUVuQyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsUUFBb0IsRUFBUSxFQUFFO1FBRS9DLFVBQVUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBTkQsc0JBTUM7QUFFRCxNQUFhLGdCQUFnQjtJQUt6QjtRQUhRLFdBQU0sR0FBVyxDQUFDLENBQUM7UUFDbkIsZ0JBQVcsR0FBZ0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUc1RCxDQUFDO0lBRUssS0FBSztRQUVSLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBd0IsRUFBRSxFQUFFO1lBRWxELFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBYyxHQUFHO1FBRTNCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxRQUFvQixFQUFRLEVBQUU7WUFFOUMsTUFBTSxNQUFNLEdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBRXJDLE1BQU0sV0FBVyxHQUFnQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsY0FBbUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDaEgsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUExQkQsNENBMEJDIn0=