fast-extract
Version:
Extract contents from various archive types (tar, tar.bz2, tar.gz, tar.xz, tgz, zip)
1 lines • 2.74 kB
Source Map (JSON)
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/fast-extract/src/streams/transforms/WriteFile.mjs"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { Transform } from 'stream';\nimport mkdirp from 'mkdirp-classic';\nimport tempSuffix from 'temp-suffix';\n\nexport default class WriteFileTransform extends Transform {\n constructor(dest, options) {\n options = options ? { ...options, objectMode: true } : { objectMode: true };\n super(options);\n this.tempPath = tempSuffix(dest);\n options._tempPaths.push(this.tempPath);\n }\n\n _transform(chunk, encoding, callback) {\n if (this.stream)\n return this.stream.write(chunk, encoding, () => {\n callback();\n });\n mkdirp(path.dirname(this.tempPath), (err) => {\n if (err) return callback(err);\n this.stream = fs.createWriteStream(this.tempPath, { flags: 'w' });\n this.stream.write(chunk, encoding, () => {\n callback();\n });\n });\n }\n\n _flush(callback) {\n if (!this.stream) return callback();\n this.stream.end(() => {\n this.stream = null;\n this.push(this.tempPath);\n this.push(null);\n callback();\n });\n }\n\n destroy(err) {\n if (this.stream) {\n this.stream.end(err);\n this.stream = null;\n }\n }\n}\n"],"names":["fs","path","Transform","mkdirp","tempSuffix","WriteFileTransform","_transform","chunk","encoding","callback","stream","write","dirname","tempPath","err","createWriteStream","flags","_flush","end","push","destroy","constructor","dest","options","objectMode","_tempPaths"],"mappings":"AAAA,OAAOA,QAAQ,KAAK;AACpB,OAAOC,UAAU,OAAO;AACxB,SAASC,SAAS,QAAQ,SAAS;AACnC,OAAOC,YAAY,iBAAiB;AACpC,OAAOC,gBAAgB,cAAc;AAEtB,IAAA,AAAMC,qBAAN,MAAMA,2BAA2BH;IAQ9CI,WAAWC,KAAK,EAAEC,QAAQ,EAAEC,QAAQ,EAAE;QACpC,IAAI,IAAI,CAACC,MAAM,EACb,OAAO,IAAI,CAACA,MAAM,CAACC,KAAK,CAACJ,OAAOC,UAAU;YACxCC;QACF;QACFN,OAAOF,KAAKW,OAAO,CAAC,IAAI,CAACC,QAAQ,GAAG,CAACC;YACnC,IAAIA,KAAK,OAAOL,SAASK;YACzB,IAAI,CAACJ,MAAM,GAAGV,GAAGe,iBAAiB,CAAC,IAAI,CAACF,QAAQ,EAAE;gBAAEG,OAAO;YAAI;YAC/D,IAAI,CAACN,MAAM,CAACC,KAAK,CAACJ,OAAOC,UAAU;gBACjCC;YACF;QACF;IACF;IAEAQ,OAAOR,QAAQ,EAAE;QACf,IAAI,CAAC,IAAI,CAACC,MAAM,EAAE,OAAOD;QACzB,IAAI,CAACC,MAAM,CAACQ,GAAG,CAAC;YACd,IAAI,CAACR,MAAM,GAAG;YACd,IAAI,CAACS,IAAI,CAAC,IAAI,CAACN,QAAQ;YACvB,IAAI,CAACM,IAAI,CAAC;YACVV;QACF;IACF;IAEAW,QAAQN,GAAG,EAAE;QACX,IAAI,IAAI,CAACJ,MAAM,EAAE;YACf,IAAI,CAACA,MAAM,CAACQ,GAAG,CAACJ;YAChB,IAAI,CAACJ,MAAM,GAAG;QAChB;IACF;IApCAW,YAAYC,IAAI,EAAEC,OAAO,CAAE;QACzBA,UAAUA,UAAU;YAAE,GAAGA,OAAO;YAAEC,YAAY;QAAK,IAAI;YAAEA,YAAY;QAAK;QAC1E,KAAK,CAACD;QACN,IAAI,CAACV,QAAQ,GAAGT,WAAWkB;QAC3BC,QAAQE,UAAU,CAACN,IAAI,CAAC,IAAI,CAACN,QAAQ;IACvC;AAgCF;AAtCA,SAAqBR,gCAsCpB"}