{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/fast-extract/src/streams/write/entries.mjs"],"sourcesContent":["import fs from 'fs';\nimport writer from 'flush-write-stream';\nimport Queue from 'queue-cb';\nimport rimraf2 from 'rimraf2';\n\nimport tempSuffix from 'temp-suffix';\n\nexport default function createWriteEntriesStream(dest, options = {}) {\n  options = { now: new Date(), ...options };\n\n  const tempDest = tempSuffix(dest);\n  const links = [];\n  return writer(\n    { objectMode: true },\n    function write(entry, _encoding, callback) {\n      if (entry.type === 'link') {\n        links.unshift(entry);\n        return callback();\n      }\n      if (entry.type === 'symlink') {\n        links.push(entry);\n        return callback();\n      }\n      entry.create(tempDest, options, callback);\n    },\n    function flush(callback) {\n      const queue = new Queue(1);\n      queue.defer(rimraf2.bind(null, dest, { disableGlob: true }));\n      queue.defer(fs.rename.bind(fs, tempDest, dest));\n      let entry;\n      for (let index = 0; index < links.length; index++) {\n        entry = links[index];\n        queue.defer(entry.create.bind(entry, dest, options));\n      }\n      queue.await(callback);\n    }\n  );\n}\n"],"names":["createWriteEntriesStream","dest","options","now","Date","tempDest","tempSuffix","links","writer","objectMode","write","entry","_encoding","callback","type","unshift","push","create","flush","queue","Queue","defer","rimraf2","bind","disableGlob","fs","rename","index","length","await"],"mappings":";;;;+BAOA;;;eAAwBA;;;yDAPT;uEACI;8DACD;8DACE;iEAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAER,SAASA,yBAAyBC,IAAI;QAAEC,UAAAA,iEAAU,CAAC;IAChEA,UAAU;QAAEC,KAAK,IAAIC;OAAWF;IAEhC,IAAMG,WAAWC,IAAAA,mBAAU,EAACL;IAC5B,IAAMM,QAAQ,EAAE;IAChB,OAAOC,IAAAA,yBAAM,EACX;QAAEC,YAAY;IAAK,GACnB,SAASC,MAAMC,KAAK,EAAEC,SAAS,EAAEC,QAAQ;QACvC,IAAIF,MAAMG,IAAI,KAAK,QAAQ;YACzBP,MAAMQ,OAAO,CAACJ;YACd,OAAOE;QACT;QACA,IAAIF,MAAMG,IAAI,KAAK,WAAW;YAC5BP,MAAMS,IAAI,CAACL;YACX,OAAOE;QACT;QACAF,MAAMM,MAAM,CAACZ,UAAUH,SAASW;IAClC,GACA,SAASK,MAAML,QAAQ;QACrB,IAAMM,QAAQ,IAAIC,gBAAK,CAAC;QACxBD,MAAME,KAAK,CAACC,gBAAO,CAACC,IAAI,CAAC,MAAMtB,MAAM;YAAEuB,aAAa;QAAK;QACzDL,MAAME,KAAK,CAACI,WAAE,CAACC,MAAM,CAACH,IAAI,CAACE,WAAE,EAAEpB,UAAUJ;QACzC,IAAIU;QACJ,IAAK,IAAIgB,QAAQ,GAAGA,QAAQpB,MAAMqB,MAAM,EAAED,QAAS;YACjDhB,QAAQJ,KAAK,CAACoB,MAAM;YACpBR,MAAME,KAAK,CAACV,MAAMM,MAAM,CAACM,IAAI,CAACZ,OAAOV,MAAMC;QAC7C;QACAiB,MAAMU,KAAK,CAAChB;IACd;AAEJ"}