UNPKG

sicarii

Version:

The zero dependency http2 nodejs multithreading framework

66 lines (60 loc) 1.5 kB
const zlib = require('zlib'), config = require(process.env.config_file); function gzip(data, method, settings, cb){ if(!settings){ settings = config.compression.gzip.settings; cb = false; } if(!cb && typeof settings === 'object'){ if(method){ return zlib.gzipSync(data, settings); } else { return zlib.gunzipSync(data, settings); } } else { if(method){ return zlib.gzip(data, settings, cb); } else { return zlib.gunzip(data, settings, cb); } } } function deflate(data, method, settings, cb){ if(!settings){ settings = config.compression.deflate.settings; cb = false; } if(!cb && typeof settings === 'object'){ if(method){ return zlib.deflateSync(data, settings); } else { return zlib.inflateSync(data, settings); } } else { if(method){ return zlib.deflate(data, settings, cb); } else { return zlib.inflate(data, settings, cb); } } } function brotli(data, method, settings, cb){ if(!settings){ settings = config.compression.brotli.settings; cb = false; } if(!cb && typeof settings === 'object'){ if(method){ return zlib.brotliCompressSync(data, settings); } else { return zlib.brotliDecompressSync(data, settings); } } else { if(method){ return zlib.brotliCompress(data, settings, cb); } else { return zlib.brotliDecompress(data, settings, cb); } } } module.exports = { gzip, deflate, brotli }