unpacker-with-progress

2.0.3 • Public • Published

unpacker-with-progress

Actions Status

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

Readme

Keywords

none

Package Sidebar

Install

npm i unpacker-with-progress

Weekly Downloads

1

Version

2.0.3

License

MIT

Unpacked Size

29.9 kB

Total Files

12

Last publish

Collaborators

  • 12core-bot
  • werle
  • bret