{"version":3,"sources":["jsdelivr-header.js","/npm/track-sequence-ids@1.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,KAAO,QAAQ,QACnB,OAAO,QAAU,SAAU,GACzB,IAAI,EAAY,CAAC,EAGb,EAAU,EAKd,OAEA,SAAS,EAAO,GAGd,OAFA,EAAU,GAAY,EAEf,MAAK,kBACH,EAAU,GAEb,EAAW,IAAS,EAAU,GAMlC,IAJA,IACI,EADA,EAAO,OAAO,KAAK,GAGnB,GAAS,EACJ,EAAI,EAAG,EAAI,EAAK,SAAU,EAEjC,GADA,EAAI,EAAK,GACL,EAAU,GAAK,EAAU,CAC3B,GAAS,EACT,KACF,CAIE,IACG,EAAK,SACR,EAAW,GAEb,EAAM,IAAM,EACZ,EAAK,GAET,GACF,CACF","file":"/npm/track-sequence-ids@1.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/track-sequence-ids@1.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var once = require('once')\nmodule.exports = function (save) {\n  var activeSeq = {}\n  // started sequences are tracked here.\n\n  var maxDone = 0\n  // this value keep track of the highest completed sequence\n  // used when there are no activeSeq to make sure we save the\n  // highest value from completed jobs\n\n  return start\n\n  function start (sequence) {\n    activeSeq[sequence] = sequence\n\n    return once(function done () {\n      delete activeSeq[sequence]\n\n      if (sequence > maxDone) maxDone = sequence\n\n      var keys = Object.keys(activeSeq)\n      var k\n\n      var update = true\n      for (var i = 0; i < keys.length; ++i) {\n        k = keys[i]\n        if (activeSeq[k] < sequence) {\n          update = false\n          break\n        }\n      }\n\n      // the lowest active sequence was completed!\n      if (update) {\n        if (!keys.length) {\n          sequence = maxDone\n        }\n        start.seq = sequence\n        save(sequence)\n      }\n    })\n  }\n}\n\n"]}