UNPKG

bottleneck

Version:

Distributed task scheduler and rate limiter

61 lines (53 loc) 1.16 kB
"use strict"; // Generated by CoffeeScript 2.2.4 (function () { var DLList; DLList = class DLList { constructor() { this._first = null; this._last = null; this.length = 0; } push(value) { var node; this.length++; node = { value, next: null }; if (this._last != null) { this._last.next = node; this._last = node; } else { this._first = this._last = node; } return void 0; } shift() { var ref1, value; if (this._first == null) { return void 0; } else { this.length--; } value = this._first.value; this._first = (ref1 = this._first.next) != null ? ref1 : this._last = null; return value; } first() { if (this._first != null) { return this._first.value; } } getArray() { var node, ref, results; node = this._first; results = []; while (node != null) { results.push((ref = node, node = node.next, ref.value)); } return results; } }; module.exports = DLList; }).call(undefined);