JSPM

  • Created
  • Published
  • Downloads 210
  • Score
    100M100P100Q87629F
  • License MIT

work with files inside archives like with regular files

Package Exports

  • redzip

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 (redzip) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Redzip License NPM version Dependency Status Build Status Coverage Status

Work with zip archives as it is regular files and directories.

Install

npm i redzip

API

read(path[, options])

  • path - string
  • options - object can contain:
    • sort - sort by: name, size, date
    • order - "asc" or "desc" for ascending and descending order (default: "asc")
    • type - when "raw" returns not formatted result
    • root - root directory to cut from result

Example

const sort = 'size';
const order = 'desc';
const type = 'raw';

const dirPath = '/home/coderaiser/hello.zip/hello/';
const path = '/home/coderaiser/hello.zip/hello.txt';

const redzip = require('redzip');

const dirStream = await redzip.read(dirPath, {type, sort, order});
console.log(dirStream.type);
// outputs
'directory';

dirStream.pipe(process.stdout);
// outputs
({
    path: "/",
    files: [{
        name: 'redzip.js',
        size: 4735,
        date: 1_377_248_899_000,
        owner: 0,
        mode: 0,
    }, {
        name: 'readify.js',
        size: 3735,
        date: 1_377_248_899_000,
        owner: 0,
        mode: 0,
    }],
});

dirStream.files;
// returns
[{
    name: 'redzip.js',
    size: 4735,
    date: 1_377_248_899_000,
    owner: 0,
    mode: 0,
}, {
    name: 'readify.js',
    size: 3735,
    date: 1_377_248_899_000,
    owner: 0,
    mode: 0,
}];

dirStream.files.path;
// returns
'/';

const fileStream = await redzip.read(path);
console.log(fileStream.type);
// outputs
'file';

fileStream.pipe(process.stdout);
// outputs
'hello';

readSize(path[, options])

  • path - string
  • options - object can contain:
    • type - when "raw" returns not formatted result

write(path[, data], options)

  • path - string
  • data - stream
  • options - object can contain:
    • unzip - unzip file content before writing

Example

import {write} from 'redzip';
import pullout from 'pullout';

const dirPath = '/home/coderaiser/hello.zip/hello/';
await write(dirPath);
// returns
'save: ok("hello")';

const path = '/home/coderaiser/hello.zip/hello.txt';
const writeStream = await write(path, Readable.from('hello'));
await pullout(writeStream);
// returns
'save: ok("hello")';

await pullout(await read(path));
// returns
'hello';

import {createGzip} from 'zlib';
const zipStream = Readable.from('hello').pipe(createGzip());
await write(path, zipStream);
const readStream = await read(path);
await pullout(readStream);
// returns
'hello';
  • readify - read directory content with file attributes: size, date, owner, mode
  • readbox - read file or directory from dropbox

License

MIT