UNPKG

@gitcobra/anzip

Version:

super easy way to create an uncompressed zip file.

106 lines (74 loc) 2.44 kB
# AnZip It creates an **uncompressed** zip file. - extremely easy to use - all methods are synchronous - ES3 compatible This code contains **no** compression processes, so it is simple and **fast**. ## Purpose When your JavaScript code produces large amounts of files and wants to let users save them, AnZip provides easy way to combine the files into **a zip file** so that they need only a single download dialog or confirmation or something. ## Installation ``` npm install @gitcobra/anzip ``` ### ESM: ``` import AnZip from '@gitcobra/anzip' ``` ### Node: ``` const AnZip = require('@gitcobra/anzip'); ``` ### UMD: ``` <script src="https://cdn.jsdelivr.net/npm/@gitcobra/anzip/dist/anzip.umd.min.js"></script> ``` ### WSH (Windows Scripting Host): https://cdn.jsdelivr.net/npm/@gitcobra/anzip/dist/anzip.iife.js ``` Download or copy and paste the code. See the test folder on GitHub for details. ``` ## Usage ``` // sample data var bin = new Uint8Array([0, 1, 2, 3, 127, 255]); var txt = 'text data'; // 1: create new AnZip object var azip = new AnZip; // 2: add the data to an arbitrary path azip.add('dir1/dir1_1/file1.bin', bin); azip.add('dir2/text.txt', txt); // 3: output the zip as Uint8Array var array = azip.zip(); ``` ## Methods ### add(`path` [, `data`]) - `path`: `string` - Path to directory or file in the zip. Forward slash('/') and backslash('\\') are both allowed for directory separators. - `data` (optional): `TypedArray` | `Array` | `string` | `ArrayBuffer` | `Buffer` - Data you want to store - Return Value: `void` - Construct directories in the zip then add data if specified. Throw an Error when you try to add any data to path already exists. ### has(`path`) - `path`: `string` - Return Value: `boolean` - Check whether the `path` already exists. ### zip() - Return Value: `Uint8Array` - May be Array in the old environments such as WSH - Output the zip binary as an Uint8Array. ### clear() - Return Value: `void` - Clear all data. ## Extra methods These are for modern JavaScript engines. Always return null or empty string in old environments. ### buffer() - Return Value: `ArrayBuffer` | `Buffer` - Output the zip as an `ArrayBuffer` or a `Buffer`. ### blob() - Return Value: `Blob` - Output as a `Blob`. ### url() - Return Value: `string` - Output as an object url.