unpacker-with-progress
v2.0.3
Published
Unpack .tar.gz or .zip archives, provide progress info, and an idempotent + resumable API.
Downloads
5
Readme
unpacker-with-progress
Unpack .tar
, .tar.gz
and .zip
archives, provide progress info, and an idempotent + resumable API.
Usage
const unpacker = require('unpacker-with-progress')
const zip = './some-zip.zip'
const tar = './some-zip.tar.gz'
const dest = './some-dest'
function unpack () {
return Promise.all([
unpacker(zip, dest, { onprogress (progress) { console.log(progress.percent) } }),
unpacker(tar, dest, { onprogress (progress) { console.log(progress.percent) } })
])
}
unpack().then(stats => console.log('done'))
Installation
$ npm install unpacker-with-progress -g
API
promise(stats) = unpacker(src, dest, [opts])
Unpack a zip
or tar.gz
at the given src
path, to the dest
path. Returns a promise that resolves to a stats
object.
Opts include:
{
resume: true, // Skip files if they are already extracted in dest
onprogress (stats) { /* noop */ } // progress function. Use this to track progress while extraacting.
}
The stats
object contains the following properties:
{
entriesProcessed, // running total of entries processed
percent, // percentage of extraction complete 0.0 - 1.0
skipped, // number of entries skipped
unpacked, // number of files extracted
totalEntries, // Total number of entries
total, // total number of bytes after extraction
loaded // running total of bytes written
}
See also
This module implements the desired interface over the following modules:
Liscense
MIT