PHP 8.2.30
Preview: compress.js Size: 1.22 KB
/proc/thread-self/root/home/byroehnu/.trash/node_modules11/brotli/compress.js

var brotli = require('./build/encode');

/**
 * Compresses the given buffer
 * The second parameter is optional and specifies whether the buffer is
 * text or binary data (the default is binary).
 * Returns null on error
 */
module.exports = function(buffer, opts) {
  // default to binary data
  var quality = 11;
  var mode = 0;
  var lgwin = 22;
  
  if (typeof opts === 'boolean') {
    mode = opts ? 0 : 1;
  } else if (typeof opts === 'object') {
    quality = opts.quality || 11;
    mode = opts.mode || 0;
    lgwin = opts.lgwin || 22;
  }
  
  // allocate input buffer and copy data to it
  var buf = brotli._malloc(buffer.length);
  brotli.HEAPU8.set(buffer, buf);
  
  // allocate output buffer (same size + some padding to be sure it fits), and encode
  var outBuf = brotli._malloc(buffer.length + 1024);
  var encodedSize = brotli._encode(quality, lgwin, mode, buffer.length, buf, buffer.length, outBuf);
  
  var outBuffer = null;
  if (encodedSize !== -1) {
    // allocate and copy data to an output buffer
    outBuffer = new Uint8Array(encodedSize);
    outBuffer.set(brotli.HEAPU8.subarray(outBuf, outBuf + encodedSize));
  }
  
  // free malloc'd buffers
  brotli._free(buf);
  brotli._free(outBuf);
    
  return outBuffer;
};

Directory Contents

Dirs: 3 × Files: 5

Name Size Perms Modified Actions
build DIR
- drwxr-xr-x 2026-02-14 19:19:30
Edit Download
dec DIR
- drwxr-xr-x 2026-02-14 19:19:38
Edit Download
enc DIR
- drwxr-xr-x 2026-02-14 19:19:36
Edit Download
1.22 KB lrw-r--r-- 2026-02-14 19:19:12
Edit Download
65 B lrw-r--r-- 2026-02-14 19:19:14
Edit Download
111 B lrw-r--r-- 2026-02-14 19:19:28
Edit Download
786 B lrw-r--r-- 2026-02-14 19:19:38
Edit Download
1.87 KB lrw-r--r-- 2026-02-14 19:19:38
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).