Narcoleptic Programmers' Medicine

    inflate-raw

    1.0.0 • Public • Published

    inflate-raw

    decompress a raw DEFLATE buffer or stream in node and the browser

    It uses a subset of pako in the browser which is smaller than using the zlib-browserify module.

    Install - Usage - License: Apache-2.0

    npm travis standard

    Install

    npm install inflate-raw
    

    Usage

    var inflateRaw = require('inflate-raw')
    inflateRaw(compressedBuffer, function (err, uncompressedBuffer) {
    })
     
    var inflateRawStream = require('inflate-raw/stream')
    someCompressedStream
      .pipe(inflateRawStream())
      .pipe(elsewhere)
     
    var inflateRawWorker = require('inflate-raw/worker')
    inflateRawWorker(compressedBuffer, function (err, uncompressedBuffer) {
    })

    In the browser, the main inflate-raw entry point is blocking, so if you inflate a very large buffer the browser may hang. You can use inflate-raw/worker instead which has the same API, but offloads the inflating to a Web Worker. Note that you cannot use compressedBuffer while inflation is in progress, because it is moved into the worker rather than copied. If you need to use the compressedBuffer, manually copy it first. After inflation, the compressedBuffer is moved back to the main thread, so you can use it again.

    The inflate-raw/stream API is also synchronous but if the data comes streaming in in small chunks it will not noticeably lag the browser. It exposes a node-style stream transform interface.

    License

    Apache-2.0

    Install

    npm i inflate-raw

    DownloadsWeekly Downloads

    2

    Version

    1.0.0

    License

    Apache-2.0

    Unpacked Size

    37.4 kB

    Total Files

    14

    Last publish

    Collaborators

    • goto-bus-stop