UNPKG

gzipper

Version:

CLI for compressing files.

33 lines 2.3 kB
import zlib from 'node:zlib'; import { Compression } from './Compression.js'; import { CompressionExtensions, CompressionNames } from '../enums.js'; /** * Gzip compression */ export class GzipCompression extends Compression { compressionName = CompressionNames.GZIP; ext = CompressionExtensions.GZIP; /** * Returns gzip compression instance in closure. */ getCompression() { return zlib.createGzip(this.compressionOptions); } /** * Build deflate compression options object. */ selectCompression() { const options = {}; if (this.options.gzipLevel !== undefined) { options.level = this.options.gzipLevel; } if (this.options.gzipMemoryLevel !== undefined) { options.memLevel = this.options.gzipMemoryLevel; } if (this.options.gzipStrategy !== undefined) { options.strategy = this.options.gzipStrategy; } this.compressionOptions = options; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3ppcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wcmVzc2lvbnMvR3ppcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0RTs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQXNDO0lBQ2hFLGVBQWUsR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUM7SUFDeEMsR0FBRyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQztJQUUxQzs7T0FFRztJQUNILGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCO1FBQ3pCLE1BQU0sT0FBTyxHQUE4QixFQUFFLENBQUM7UUFFOUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN6QyxPQUFPLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUMvQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztJQUNwQyxDQUFDO0NBQ0YifQ==