@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
59 lines (58 loc) • 1.99 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.gunzipToString = exports.gzipString = exports.gunzipBuffer = exports.gzipBuffer = exports.inflateToString = exports.deflateString = exports.inflateBuffer = exports.deflateBuffer = void 0;
const util_1 = require("util");
const zlib = require("zlib");
const deflate = (0, util_1.promisify)(zlib.deflate.bind(zlib));
const inflate = (0, util_1.promisify)(zlib.inflate.bind(zlib));
const gzip = (0, util_1.promisify)(zlib.gzip.bind(zlib));
const gunzip = (0, util_1.promisify)(zlib.gunzip.bind(zlib));
// string > compressed buffer
/**
* deflateBuffer uses `deflate`.
* It's 9 bytes shorter than `gzip`.
*/
async function deflateBuffer(buf, options = {}) {
return await deflate(buf, options);
}
exports.deflateBuffer = deflateBuffer;
async function inflateBuffer(buf, options = {}) {
return await inflate(buf, options);
}
exports.inflateBuffer = inflateBuffer;
/**
* deflateString uses `deflate`.
* It's 9 bytes shorter than `gzip`.
*/
async function deflateString(s, options) {
return await deflateBuffer(Buffer.from(s), options);
}
exports.deflateString = deflateString;
async function inflateToString(buf, options) {
return (await inflateBuffer(buf, options)).toString();
}
exports.inflateToString = inflateToString;
/**
* gzipBuffer uses `gzip`
* It's 9 bytes longer than `deflate`.
*/
async function gzipBuffer(buf, options = {}) {
return await gzip(buf, options);
}
exports.gzipBuffer = gzipBuffer;
async function gunzipBuffer(buf, options = {}) {
return await gunzip(buf, options);
}
exports.gunzipBuffer = gunzipBuffer;
/**
* gzipString uses `gzip`.
* It's 9 bytes longer than `deflate`.
*/
async function gzipString(s, options) {
return await gzipBuffer(Buffer.from(s), options);
}
exports.gzipString = gzipString;
async function gunzipToString(buf, options) {
return (await gunzipBuffer(buf, options)).toString();
}
exports.gunzipToString = gunzipToString;