### Install lz4-napi Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md Install the lz4-napi package using npm or yarn. ```sh npm i lz4-napi # OR yarn add lz4-napi ``` -------------------------------- ### Benchmark Results - Compress Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md Performance comparison for compression algorithms, showing operations per second and relative slowness. ```sh Running "Compress" suite... Progress: 100% lz4: 7 355 ops/s, ±1.73% | 0.39% slower lz4 dict: 6 375 ops/s, ±0.29% | 13.66% slower snappy: 7 384 ops/s, ±0.53% | fastest gzip: 444 ops/s, ±0.50% | 93.99% slower deflate: 442 ops/s, ±0.62% | 94.01% slower brotli: 6 ops/s, ±0.73% | slowest, 99.92% slower Finished 6 cases! Fastest: snappy Slowest: brotli ``` -------------------------------- ### Compress Data with Promises Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md Use the asynchronous compress function to compress a file buffer. Requires top-level await support. ```js const { readFile } = require('fs/promises'); const { compress } = require('lz4-napi'); // if you support top-level await const buffer = await readFile("./bigFile.dat"); const compressedBuffer = await compress(buffer) // Store compressed buffer somewhere ``` -------------------------------- ### Promise-based APIs Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md Asynchronous methods for compression and decompression using Promises. ```APIDOC ## compress ### Description Asynchronously compresses data using the LZ4 algorithm. Supports an optional dictionary for improved compression. ### Method `compress(data: Buffer | string | ArrayBuffer | Uint8Array, dict?: string | Buffer) => Promise` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (Buffer | string | ArrayBuffer | Uint8Array) - Required - The data to compress. - **dict** (string | Buffer) - Optional - A dictionary to use for compression. ### Request Example ```javascript const { compress } = require('lz4-napi'); const buffer = await readFile("./bigFile.dat"); const compressedBuffer = await compress(buffer); ``` ### Response #### Success Response (200) - **Buffer** - The compressed data. #### Response Example ```json // A Buffer containing compressed data ``` ## uncompress ### Description Asynchronously decompresses LZ4 compressed data. Supports an optional dictionary. ### Method `uncompress(data: Buffer | string | ArrayBuffer | Uint8Array, dict?: string | Buffer) => Promise` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (Buffer | string | ArrayBuffer | Uint8Array) - Required - The compressed data to decompress. - **dict** (string | Buffer) - Optional - A dictionary to use for decompression. ### Request Example ```javascript const { uncompress } = require('lz4-napi'); const compressedBuffer = await getFromSomeStorage(); const uncompressedBuffer = await uncompress(compressedBuffer); ``` ### Response #### Success Response (200) - **Buffer** - The decompressed data. #### Response Example ```json // A Buffer containing decompressed data ``` ## compressFrame ### Description Asynchronously compresses data into a single LZ4 frame. ### Method `compressFrame(data: Buffer | string | ArrayBuffer | Uint8Array) => Promise` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (Buffer | string | ArrayBuffer | Uint8Array) - Required - The data to compress. ### Request Example ```javascript // Example usage for compressFrame ``` ### Response #### Success Response (200) - **Buffer** - The compressed data in LZ4 frame format. #### Response Example ```json // A Buffer containing compressed frame data ``` ## decompressFrame ### Description Asynchronously decompresses data from a single LZ4 frame. ### Method `decompressFrame(data: Buffer | string | ArrayBuffer | Uint8Array) => Promise` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (Buffer | string | ArrayBuffer | Uint8Array) - Required - The LZ4 frame data to decompress. ### Request Example ```javascript // Example usage for decompressFrame ``` ### Response #### Success Response (200) - **Buffer** - The decompressed data. #### Response Example ```json // A Buffer containing decompressed data ``` ``` -------------------------------- ### Uncompress Data with Promises Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md Use the asynchronous uncompress function to decompress a buffer retrieved from storage. Requires top-level await support. ```js const { uncompress } = require('lz4-napi'); // if you support top-level await const compressedBuffer = await getFromSomeStorage(); const uncompressedBuffer = await uncompress(compressedBuffer) // Do something with compressedBuffer! ``` -------------------------------- ### Benchmark Results - Decompress Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md Performance comparison for decompression algorithms, showing operations per second and relative slowness. ```sh Running "Decompress" suite... Progress: 100% lz4: 19 095 ops/s, ±1.51% | fastest lz4 dict: 17 644 ops/s, ±1.51% | 7.6% slower snappy: 14 424 ops/s, ±0.50% | 24.46% slower gzip: 2 442 ops/s, ±0.60% | 87.21% slower deflate: 2 467 ops/s, ±0.61% | 87.08% slower brotli: 1 659 ops/s, ±0.43% | slowest, 91.31% slower Finished 6 cases! Fastest: lz4 Slowest: brotli ``` -------------------------------- ### Synchronous APIs Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md Synchronous methods for compression and decompression. ```APIDOC ## compressSync ### Description Synchronously compresses data using the LZ4 algorithm. Supports an optional dictionary for improved compression. ### Method `compressSync(data: Buffer | string | ArrayBuffer | Uint8Array, dict?: string | Buffer) => Buffer` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (Buffer | string | ArrayBuffer | Uint8Array) - Required - The data to compress. - **dict** (string | Buffer) - Optional - A dictionary to use for compression. ### Request Example ```javascript const { compressSync } = require('lz4-napi'); const buffer = Buffer.from('some data'); const compressedBuffer = compressSync(buffer); ``` ### Response #### Success Response (200) - **Buffer** - The compressed data. #### Response Example ```json // A Buffer containing compressed data ``` ## uncompressSync ### Description Synchronously decompresses LZ4 compressed data. Supports an optional dictionary. ### Method `uncompressSync(data: Buffer | string | ArrayBuffer | Uint8Array, dict?: string | Buffer) => Buffer` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (Buffer | string | ArrayBuffer | Uint8Array) - Required - The compressed data to decompress. - **dict** (string | Buffer) - Optional - A dictionary to use for decompression. ### Request Example ```javascript const { uncompressSync } = require('lz4-napi'); const compressedBuffer = Buffer.from('compressed data'); const uncompressedBuffer = uncompressSync(compressedBuffer); ``` ### Response #### Success Response (200) - **Buffer** - The decompressed data. #### Response Example ```json // A Buffer containing decompressed data ``` ## compressFrameSync ### Description Synchronously compresses data into a single LZ4 frame. ### Method `compressFrameSync(data: Buffer | string | ArrayBuffer | Uint8Array) => Buffer` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (Buffer | string | ArrayBuffer | Uint8Array) - Required - The data to compress. ### Request Example ```javascript // Example usage for compressFrameSync ``` ### Response #### Success Response (200) - **Buffer** - The compressed data in LZ4 frame format. #### Response Example ```json // A Buffer containing compressed frame data ``` ## decompressFrameSync ### Description Synchronously decompresses data from a single LZ4 frame. ### Method `decompressFrameSync(data: Buffer | string | ArrayBuffer | Uint8Array) => Buffer` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **data** (Buffer | string | ArrayBuffer | Uint8Array) - Required - The LZ4 frame data to decompress. ### Request Example ```javascript // Example usage for decompressFrameSync ``` ### Response #### Success Response (200) - **Buffer** - The decompressed data. #### Response Example ```json // A Buffer containing decompressed data ``` ``` -------------------------------- ### Promise API Signature for compress Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md TypeScript signature for the asynchronous compress function, accepting various data types and an optional dictionary. ```ts (data: Buffer | string | ArrayBuffer | Uint8Array, dict?: string | Buffer) => Promise ``` -------------------------------- ### Sync API Signature for compressSync Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md TypeScript signature for the synchronous compressSync function, accepting various data types and an optional dictionary. ```ts (data: Buffer | string | ArrayBuffer | Uint8Array, dict?: string | Buffer) => Buffer ``` -------------------------------- ### Sync API Signature for compressFrameSync Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md TypeScript signature for the synchronous compressFrameSync function, accepting various data types. ```ts (data: Buffer | string | ArrayBuffer | Uint8Array) => Buffer ``` -------------------------------- ### Promise API Signature for compressFrame Source: https://github.com/antoniomuso/lz4-napi/blob/main/README.md TypeScript signature for the asynchronous compressFrame function, accepting various data types. ```ts (data: Buffer | string | ArrayBuffer | Uint8Array) => Promise ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.