code: function LruSet(capacity) {
    if (!isFinite(capacity) || Math.floor(capacity) !== capacity || capacity < 0) {
      throw new Error('LruSet: invalid capacity');
    }
    this._capacity = capacity;
  
    // Elements are stored in a circular array ordered by decreasing age.
    // Start is the index of the oldest element and size is the number of valid
    // elements; the region containing valid elements may wrap around.
    this._elements = new Array(this._capacity);
    this._start = 0;
    this._size = 0;
  }
docs: An LruSet holds up to a maximum number of elements, ordered by their time of insertion. When the addition of an element would cause the capacity to be exceeded, the oldest element in the set is evicted. As a special case, an LruSet with zero capacity always rejects the insertion of an element.  Elements must implement hash() and equals(). Note that the implementation doesn't currently use hash(), but a future version might.