var reusify_1;
var hasRequiredReusify;
function requireReusify() {
  if (hasRequiredReusify) return reusify_1;
  hasRequiredReusify = 1;
  function reusify(Constructor) {
    var head = new Constructor();
    var tail = head;
    function get() {
      var current = head;
      if (current.next) {
        head = current.next;
      } else {
        head = new Constructor();
        tail = head;
      }
      current.next = null;
      return current;
    }
    function release(obj) {
      tail.next = obj;
      tail = obj;
    }
    return {
      get: get,
      release: release
    };
  }
  reusify_1 = reusify;
  return reusify_1;
}

export { requireReusify as __require };
