{"version":3,"file":"index.mjs","names":[],"sources":["../../../../node_modules/pend/index.js"],"sourcesContent":["module.exports = Pend;\n\nfunction Pend() {\n  this.pending = 0;\n  this.max = Infinity;\n  this.listeners = [];\n  this.waiting = [];\n  this.error = null;\n}\n\nPend.prototype.go = function(fn) {\n  if (this.pending < this.max) {\n    pendGo(this, fn);\n  } else {\n    this.waiting.push(fn);\n  }\n};\n\nPend.prototype.wait = function(cb) {\n  if (this.pending === 0) {\n    cb(this.error);\n  } else {\n    this.listeners.push(cb);\n  }\n};\n\nPend.prototype.hold = function() {\n  return pendHold(this);\n};\n\nfunction pendHold(self) {\n  self.pending += 1;\n  var called = false;\n  return onCb;\n  function onCb(err) {\n    if (called) throw new Error(\"callback called twice\");\n    called = true;\n    self.error = self.error || err;\n    self.pending -= 1;\n    if (self.waiting.length > 0 && self.pending < self.max) {\n      pendGo(self, self.waiting.shift());\n    } else if (self.pending === 0) {\n      var listeners = self.listeners;\n      self.listeners = [];\n      listeners.forEach(cbListener);\n    }\n  }\n  function cbListener(listener) {\n    listener(self.error);\n  }\n}\n\nfunction pendGo(self, fn) {\n  fn(pendHold(self));\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAAA,QAAO,UAAU;CAEjB,SAAS,OAAO;AACd,OAAK,UAAU;AACf,OAAK,MAAM;AACX,OAAK,YAAY,EAAE;AACnB,OAAK,UAAU,EAAE;AACjB,OAAK,QAAQ;;AAGf,MAAK,UAAU,KAAK,SAAS,IAAI;AAC/B,MAAI,KAAK,UAAU,KAAK,IACtB,QAAO,MAAM,GAAG;MAEhB,MAAK,QAAQ,KAAK,GAAG;;AAIzB,MAAK,UAAU,OAAO,SAAS,IAAI;AACjC,MAAI,KAAK,YAAY,EACnB,IAAG,KAAK,MAAM;MAEd,MAAK,UAAU,KAAK,GAAG;;AAI3B,MAAK,UAAU,OAAO,WAAW;AAC/B,SAAO,SAAS,KAAK;;CAGvB,SAAS,SAAS,MAAM;AACtB,OAAK,WAAW;EAChB,IAAI,SAAS;AACb,SAAO;EACP,SAAS,KAAK,KAAK;AACjB,OAAI,OAAQ,OAAM,IAAI,MAAM,wBAAwB;AACpD,YAAS;AACT,QAAK,QAAQ,KAAK,SAAS;AAC3B,QAAK,WAAW;AAChB,OAAI,KAAK,QAAQ,SAAS,KAAK,KAAK,UAAU,KAAK,IACjD,QAAO,MAAM,KAAK,QAAQ,OAAO,CAAC;YACzB,KAAK,YAAY,GAAG;IAC7B,IAAI,YAAY,KAAK;AACrB,SAAK,YAAY,EAAE;AACnB,cAAU,QAAQ,WAAW;;;EAGjC,SAAS,WAAW,UAAU;AAC5B,YAAS,KAAK,MAAM;;;CAIxB,SAAS,OAAO,MAAM,IAAI;AACxB,KAAG,SAAS,KAAK,CAAC"}