gzipper
Version:
CLI for compressing files.
33 lines • 2.43 kB
JavaScript
import { Compression } from './Compression.js';
import { CompressionExtensions, CompressionNames } from '../enums.js';
import { ZopfliStream } from './ZopfliStream.js';
/**
* Zopfli compression
*/
export class ZopfliCompression extends Compression {
compressionName = CompressionNames.ZOPFLI;
ext = CompressionExtensions.GZIP;
/**
* Returns zopfli compression instance in closure.
*/
getCompression() {
return new ZopfliStream(this.compressionOptions);
}
/**
* Build zopfli compression options object.
*/
selectCompression() {
const options = {};
if (this.options.zopfliNumIterations !== undefined) {
options.numiterations = this.options.zopfliNumIterations;
}
if (this.options.zopfliBlockSplitting !== undefined) {
options.blocksplitting = this.options.zopfliBlockSplitting;
}
if (this.options.zopfliBlockSplittingMax !== undefined) {
options.blocksplittingmax = this.options.zopfliBlockSplittingMax;
}
this.compressionOptions = options;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWm9wZmxpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXByZXNzaW9ucy9ab3BmbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsV0FBMEI7SUFDdEQsZUFBZSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztJQUMxQyxHQUFHLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDO0lBRTFDOztPQUVHO0lBQ0gsY0FBYztRQUNaLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOztPQUVHO0lBQ08saUJBQWlCO1FBQ3pCLE1BQU0sT0FBTyxHQUFrQixFQUFFLENBQUM7UUFFbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25ELE9BQU8sQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztRQUMzRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztRQUM3RCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDO1FBQ25FLENBQUM7UUFFRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsT0FBTyxDQUFDO0lBQ3BDLENBQUM7Q0FDRiJ9