fast-extract
Version:
Extract contents from various archive types (tar, tar.bz2, tar.gz, tar.xz, tgz, zip)
1 lines • 2.69 kB
Source Map (JSON)
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/fast-extract/src/streams/transforms/Zip.mjs"],"sourcesContent":["import { Transform } from 'stream';\n\nimport ZipIterator from 'zip-iterator';\n\nexport default class ZipTransform extends Transform {\n constructor(options) {\n options = options ? { ...options, objectMode: true } : { objectMode: true };\n super(options);\n }\n\n _transform(chunk, _encoding, callback) {\n const fullPath = typeof chunk === 'string' ? chunk : chunk.toString();\n this._iterator = new ZipIterator(fullPath);\n this._iterator.forEach(\n (entry) => {\n this.push(entry);\n },\n { concurrency: 1 },\n (err) => {\n if (!this._iterator) return;\n err || this.push(null);\n this._iterator.destroy();\n this._iterator = null;\n this._callback ? this._callback(err) : this.end(err);\n this._callback = null;\n callback(err);\n }\n );\n }\n\n _flush(callback) {\n if (!this._iterator) return callback();\n this._callback = callback;\n this._iterator.end();\n }\n\n destroy(err) {\n if (this._iterator) {\n const iterator = this._iterator;\n this._iterator = null;\n iterator.destroy(err);\n this.end(err);\n }\n }\n}\n"],"names":["ZipTransform","options","objectMode","_transform","chunk","_encoding","callback","fullPath","toString","_iterator","ZipIterator","forEach","entry","push","concurrency","err","destroy","_callback","end","_flush","iterator","Transform"],"mappings":";;;;;;;eAIqBA;;;sBAJK;kEAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAET,IAAA,AAAMA,6BAAN;;cAAMA;aAAAA,aACPC,OAAO;gCADAD;QAEjBC,UAAUA,UAAU,wCAAKA;YAASC,YAAY;aAAS;YAAEA,YAAY;QAAK;QAC1E,OAAA,kBAHiBF;YAGXC;;;iBAHWD;IAMnBG,OAAAA,UAkBC,GAlBDA,SAAAA,WAAWC,KAAK,EAAEC,SAAS,EAAEC,QAAQ;;QACnC,IAAMC,WAAW,OAAOH,UAAU,WAAWA,QAAQA,MAAMI,QAAQ;QACnE,IAAI,CAACC,SAAS,GAAG,IAAIC,oBAAW,CAACH;QACjC,IAAI,CAACE,SAAS,CAACE,OAAO,CACpB,SAACC;YACC,MAAKC,IAAI,CAACD;QACZ,GACA;YAAEE,aAAa;QAAE,GACjB,SAACC;YACC,IAAI,CAAC,MAAKN,SAAS,EAAE;YACrBM,OAAO,MAAKF,IAAI,CAAC;YACjB,MAAKJ,SAAS,CAACO,OAAO;YACtB,MAAKP,SAAS,GAAG;YACjB,MAAKQ,SAAS,GAAG,MAAKA,SAAS,CAACF,OAAO,MAAKG,GAAG,CAACH;YAChD,MAAKE,SAAS,GAAG;YACjBX,SAASS;QACX;IAEJ;IAEAI,OAAAA,MAIC,GAJDA,SAAAA,OAAOb,QAAQ;QACb,IAAI,CAAC,IAAI,CAACG,SAAS,EAAE,OAAOH;QAC5B,IAAI,CAACW,SAAS,GAAGX;QACjB,IAAI,CAACG,SAAS,CAACS,GAAG;IACpB;IAEAF,OAAAA,OAOC,GAPDA,SAAAA,QAAQD,GAAG;QACT,IAAI,IAAI,CAACN,SAAS,EAAE;YAClB,IAAMW,WAAW,IAAI,CAACX,SAAS;YAC/B,IAAI,CAACA,SAAS,GAAG;YACjBW,SAASJ,OAAO,CAACD;YACjB,IAAI,CAACG,GAAG,CAACH;QACX;IACF;WAvCmBf;EAAqBqB,iBAAS"}