Sha256: 273c5e4e960046d0aca7a48d4c2b1b0c5c680619a1cf8c36335ffb4621f102d0
Contents?: true
Size: 646 Bytes
Versions: 26
Compression:
Stored size: 646 Bytes
Contents
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Queue = void 0; /** * This is a custom stateless queue to track concurrent async fs calls. * It increments a counter whenever a call is queued and decrements it * as soon as it completes. When the counter hits 0, it calls onQueueEmpty. */ class Queue { onQueueEmpty; count = 0; constructor(onQueueEmpty) { this.onQueueEmpty = onQueueEmpty; } enqueue() { this.count++; } dequeue(error, output) { if (--this.count === 0 || error) this.onQueueEmpty(error, output); } } exports.Queue = Queue;
Version data entries
26 entries across 26 versions & 1 rubygems