UNPKG

1.81 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.gunzipToString = exports.unzipToString = exports.gzipString = exports.zipString = exports.gunzipBuffer = exports.unzipBuffer = exports.gzipBuffer = exports.zipBuffer = void 0;
4const util_1 = require("util");
5const zlib = require("zlib");
6const deflate = (0, util_1.promisify)(zlib.deflate.bind(zlib));
7const inflate = (0, util_1.promisify)(zlib.inflate.bind(zlib));
8const gzip = (0, util_1.promisify)(zlib.gzip.bind(zlib));
9const gunzip = (0, util_1.promisify)(zlib.gunzip.bind(zlib));
10// string > zip
11/**
12 * zipBuffer uses `deflate`.
13 * It's 9 bytes shorter than gzip.
14 */
15async function zipBuffer(buf, options = {}) {
16 return await deflate(buf, options);
17}
18exports.zipBuffer = zipBuffer;
19/**
20 * gzipBuffer uses `gzip`
21 * It's 9 bytes longer than deflate.
22 */
23async function gzipBuffer(buf, options = {}) {
24 return await gzip(buf, options);
25}
26exports.gzipBuffer = gzipBuffer;
27// zip > buffer
28async function unzipBuffer(buf, options = {}) {
29 return await inflate(buf, options);
30}
31exports.unzipBuffer = unzipBuffer;
32async function gunzipBuffer(buf, options = {}) {
33 return await gunzip(buf, options);
34}
35exports.gunzipBuffer = gunzipBuffer;
36// convenience
37async function zipString(s, options) {
38 return await zipBuffer(Buffer.from(s), options);
39}
40exports.zipString = zipString;
41async function gzipString(s, options) {
42 return await gzipBuffer(Buffer.from(s), options);
43}
44exports.gzipString = gzipString;
45// convenience
46async function unzipToString(buf, options) {
47 return (await unzipBuffer(buf, options)).toString();
48}
49exports.unzipToString = unzipToString;
50async function gunzipToString(buf, options) {
51 return (await gunzipBuffer(buf, options)).toString();
52}
53exports.gunzipToString = gunzipToString;