zip-iterator
Version:
Extract contents from zip archive type using an iterator API using streams or paths. Use stream interface and pipe transforms to add decompression algorithms
33 lines • 1.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return streamToFile;
}
});
var _fs = /*#__PURE__*/ _interop_require_default(require("fs"));
var _path = /*#__PURE__*/ _interop_require_default(require("path"));
var _calloncefn = /*#__PURE__*/ _interop_require_default(require("call-once-fn"));
var _mkdirpclassic = /*#__PURE__*/ _interop_require_default(require("mkdirp-classic"));
var _onone = /*#__PURE__*/ _interop_require_default(require("on-one"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function streamToFile(source, filePath, callback) {
_mkdirpclassic.default.sync(_path.default.dirname(filePath)); // sync to not pause the stream
var end = (0, _calloncefn.default)(callback);
source.on('error', end);
var res = source.pipe(_fs.default.createWriteStream(filePath));
(0, _onone.default)(res, [
'error',
'end',
'close',
'finish'
], end);
}
/* CJS INTEROP */ if (exports.__esModule && exports.default) { try { Object.defineProperty(exports.default, '__esModule', { value: true }); for (var key in exports) { exports.default[key] = exports[key]; } } catch (_) {}; module.exports = exports.default; }