UNPKG

fast-extract

Version:

Extract contents from various archive types (tar, tar.bz2, tar.gz, tar.xz, tgz, zip)

1 lines 2.48 kB
{"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"}