fast-extract
Version:
Extract contents from various archive types (tar, tar.bz2, tar.gz, tar.xz, tgz, zip)
1 lines • 1.62 kB
Source Map (JSON)
{"version":3,"sources":["/Users/kevin/Dev/OpenSource/iterators/fast-extract/src/decompressorsByType.mjs"],"sourcesContent":["import zlib from 'zlib';\nimport bz2 from 'unbzip2-stream';\n\n// lzma-native module compatiblity starts at Node 6\nconst major = +process.versions.node.split('.')[0];\nconst lzmaNative = major >= 10 ? require('./optionalRequire.mjs')('lzma-native') : null;\n\nexport default function decompressorsByType(type) {\n const parts = type.split('.').reverse();\n const streams = [];\n for (let index = 0; index < parts.length; index++) {\n const part = parts[index];\n if (part === 'bz2') streams.push(bz2());\n else if (part === 'xz' && lzmaNative) streams.push(lzmaNative.createDecompressor());\n else if (part === 'tgz' || part === 'gz') streams.push(zlib.createUnzip());\n }\n return streams;\n}\n"],"names":["decompressorsByType","major","process","versions","node","split","lzmaNative","require","type","parts","reverse","streams","index","length","part","push","bz2","createDecompressor","zlib","createUnzip"],"mappings":";;;;+BAOA;;;eAAwBA;;;2DAPP;oEACD;;;;;;AAEhB,mDAAmD;AACnD,IAAMC,QAAQ,CAACC,QAAQC,QAAQ,CAACC,IAAI,CAACC,KAAK,CAAC,IAAI,CAAC,EAAE;AAClD,IAAMC,aAAaL,SAAS,KAAKM,QAAQ,yBAAyB,iBAAiB;AAEpE,SAASP,oBAAoBQ,IAAI;IAC9C,IAAMC,QAAQD,KAAKH,KAAK,CAAC,KAAKK,OAAO;IACrC,IAAMC,UAAU,EAAE;IAClB,IAAK,IAAIC,QAAQ,GAAGA,QAAQH,MAAMI,MAAM,EAAED,QAAS;QACjD,IAAME,OAAOL,KAAK,CAACG,MAAM;QACzB,IAAIE,SAAS,OAAOH,QAAQI,IAAI,CAACC,IAAAA,sBAAG;aAC/B,IAAIF,SAAS,QAAQR,YAAYK,QAAQI,IAAI,CAACT,WAAWW,kBAAkB;aAC3E,IAAIH,SAAS,SAASA,SAAS,MAAMH,QAAQI,IAAI,CAACG,aAAI,CAACC,WAAW;IACzE;IACA,OAAOR;AACT"}