JSPM

7z-extract

0.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 16
  • Score
    100M100P100Q55185F
  • License ISC

7z wrapper with progress (promises/es6)

Package Exports

  • 7z-extract

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (7z-extract) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

7z-extract

Build Status

Wrapper for 7zip which attempts to provide an extraction status (something the 7z command doesn't really do).

Prerequisites

The 7z command is required and needs to be in PATH or the root of your application i.e. where package.json is sitting.

# OSX
$ brew update && brew doctor && brew install p7zip
# Ubuntu
$ sudo apt-get install p7zip-full

Install

npm install 7z-extract --save

API

const archive = new Zip(options);
  • input String - The input file path
  • output String - The output path (optional, if not supplied uses /tmp)
  • createFolder Boolean - Creates a random folder name to extract to the files to. (default false)
archive.list(); //- returns a promise, the result of which is an object including array of files in the archive
archive.extract(progress); //- extracts the archive and returns a promise, progress function optionally returns current status as object (index, totalNumberOfFiles, percentage)

Usage

To see info on a CBZ file.

'use strict';

const path = require('path'),
    Zip = require('../index'),
    inputFile = path.join(__dirname, 'archive.zip'),
    outputPath = path.join(__dirname), // optional, if not supplied uses /tmp
    progress = info => {
        console.log(info);
    };

const archive = new Zip({ input: inputFile, output: outputPath, createFolder: true });

  // archive.list()
  //  .then(res => { if (res){ console.log('Success!', res); } })
  //  .catch(err => { console.error(err); });

archive.extract(progress)
    .then(res => { console.log('Success!', res); })
    .catch(err => { console.error(err); });