UNPKG

gzipper

Version:

CLI for compressing files.

33 lines 2.34 kB
import zlib from 'node:zlib'; import { Compression } from './Compression.js'; import { CompressionExtensions, CompressionNames } from '../enums.js'; /** * Deflate compression */ export class DeflateCompression extends Compression { compressionName = CompressionNames.DEFLATE; ext = CompressionExtensions.DEFLATE; /** * Returns deflate compression instance in closure. */ getCompression() { return zlib.createDeflate(this.compressionOptions); } /** * Build deflate compression options object. */ selectCompression() { const options = {}; if (this.options.deflateLevel !== undefined) { options.level = this.options.deflateLevel; } if (this.options.deflateMemoryLevel !== undefined) { options.memLevel = this.options.deflateMemoryLevel; } if (this.options.deflateStrategy !== undefined) { options.strategy = this.options.deflateStrategy; } this.compressionOptions = options; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wcmVzc2lvbnMvRGVmbGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFFN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0RTs7R0FFRztBQUNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxXQUFzQztJQUNuRSxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDO0lBQzNDLEdBQUcsR0FBRyxxQkFBcUIsQ0FBQyxPQUFPLENBQUM7SUFFN0M7O09BRUc7SUFDSCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7T0FFRztJQUNPLGlCQUFpQjtRQUN6QixNQUFNLE9BQU8sR0FBOEIsRUFBRSxDQUFDO1FBRTlDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUMsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM1QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2xELE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztRQUNyRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxPQUFPLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBQ2xELENBQUM7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO0lBQ3BDLENBQUM7Q0FDRiJ9