@naturalcycles/nodejs-lib
Version:
Standard library for Node.js
45 lines • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const util_1 = require("util");
const zlib = require("zlib");
const deflate = util_1.promisify(zlib.deflate.bind(zlib));
const inflate = util_1.promisify(zlib.inflate.bind(zlib));
const gzip = util_1.promisify(zlib.gzip.bind(zlib));
const gunzip = util_1.promisify(zlib.gunzip.bind(zlib));
// string > zip
async function zipBuffer(buf, options = {}) {
return deflate(buf, options);
}
exports.zipBuffer = zipBuffer;
async function gzipBuffer(buf, options = {}) {
return gzip(buf, options);
}
exports.gzipBuffer = gzipBuffer;
// zip > buffer
async function unzipBuffer(buf, options = {}) {
return inflate(buf, options);
}
exports.unzipBuffer = unzipBuffer;
async function gunzipBuffer(buf, options = {}) {
return gunzip(buf, options);
}
exports.gunzipBuffer = gunzipBuffer;
// convenience
async function zipString(s, options) {
return zipBuffer(Buffer.from(s), options);
}
exports.zipString = zipString;
async function gzipString(s, options) {
return gzipBuffer(Buffer.from(s), options);
}
exports.gzipString = gzipString;
// convenience
async function unzipToString(buf, options) {
return (await unzipBuffer(buf, options)).toString();
}
exports.unzipToString = unzipToString;
async function gunzipToString(buf, options) {
return (await gunzipBuffer(buf, options)).toString();
}
exports.gunzipToString = gunzipToString;
//# sourceMappingURL=zip.util.js.map