copymitter

8.1.0 • Public • Published

Copymitter License NPM version Build Status Coverage Status

Copy files with emitter (even from and to zip archives). It will emit event on every percent of copied chunk of data. Good for making progress bars.

Install

npm i copymitter

How to use?

const copymitter = require('copymitter');
const cwd = process.cwd();
const from = `${cwd}/pipe-io`;
const to = `${cwd}/example`;
const abortOnError = false;

const cp = copymitter(from, to, ['LICENSE', 'README.md', 'package.json']);

cp.on('file', (from, to) => {
    console.log(`${from} -> ${to}`);
});

cp.on('directory', (from, to) => {
    console.log(`${from} -> ${to}`);
});

cp.on('progress', (percent) => {
    console.log(percent);
    
    if (percent >= 50) {
        cp.pause();
        cp.continue();
    }
});

cp.on('pause', () => {
    console.log('paused');
    cp.continue();
});

cp.on('error', (error) => {
    console.error(error.message);
    
    if (abortOnError)
        cp.abort();
    else
        cp.continue();
});

cp.on('abort', () => {
    console.log('Copying aborted');
});

cp.on('end', ({errors}) => {
    console.log('Copying ended up');
});

cp.pause();

Related

  • Remy - Remove files with emitter.
  • Jaguar - Pack and extract .tar.gz archives with emitter.
  • OneZip - Pack and extract zip archives with emitter.
  • Tar-to-zip - Convert tar and tar.gz archives to zip.

License

MIT

/copymitter/

    Package Sidebar

    Install

    npm i copymitter

    Weekly Downloads

    302

    Version

    8.1.0

    License

    MIT

    Unpacked Size

    19.9 kB

    Total Files

    5

    Last publish

    Collaborators

    • coderaiser