Skip to content

Fast, native Node.js bindings for Google's Snappy compression library.

License

Notifications You must be signed in to change notification settings

thisames/snappy-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

snappy-js

npm version License

Fast, native Node.js bindings for Google's Snappy compression library.

Features

  • Native C++ implementation for high performance
  • Pre-compiled binaries for Linux, macOS, and Windows
  • TypeScript support with full type definitions
  • Simple API for compression and decompression

Installation

npm install @thisames/snappy-js

Requirements: Node.js >= 14.0.0

Usage

Basic Example

const snappy = require('@thisames/snappy-js');

// Compress
const data = Buffer.from('Hello, World!');
const compressed = snappy.compress(data);

// Decompress
const decompressed = snappy.uncompress(compressed);
console.log(decompressed.toString()); // 'Hello, World!'

TypeScript

import { compress, uncompress } from '@thisames/snappy-js';

const data = Buffer.from('Hello, TypeScript!');
const compressed = compress(data);
const decompressed = uncompress(compressed);

API Reference

compress(input: Buffer): Buffer

Compress a Buffer using Snappy compression.

uncompress(compressed: Buffer): Buffer

Decompress Snappy-compressed data.

compressSync(str: string, encoding?: BufferEncoding): Buffer

Compress a string using Snappy.

uncompressSync(compressed: Buffer, encoding?: BufferEncoding): string

Decompress to a string.

uncompressedLength(compressed: Buffer): number

Get the uncompressed length without decompressing.

isValidCompressed(data: Buffer): boolean

Check if a buffer contains valid Snappy-compressed data.

Aliases

  • decompress = uncompress
  • decompressSync = uncompressSync

License

BSD-3-Clause

  • This library: BSD-3-Clause
  • Snappy library: BSD-3-Clause (included in deps/snappy/)

Related Projects

  • Snappy - Original Google Snappy library
  • SnappyJS - Pure JavaScript implementation
  • node-snappy - Alternative native bindings

About

Fast, native Node.js bindings for Google's Snappy compression library.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published