leveldb-zlib
v1.2.0
Published
Node.js bindings for LevelDB with zlib
Downloads
1,434
Readme
node-leveldb-zlib
LevelDB bindings for Node.js with zlib compression, with a modern promise-based API that actually builds! 🌊
Install
npm install leveldb-zlib
Prebuilds are provided for 64-bit Windows 10, Linux and macOS Catalina. If a prebuild does not work, please create an issue and set enviornment variable FORCE_BUILD to force a manual build.
Usage
Some example usage to create a new Key-Value database and save once you're done. The API is very similar to leveldown.
const { LevelDB } = require('leveldb-zlib')
const db = new LevelDB(pathToDb, { createIfMissing: true })
await db.open() // Make sure to wait for DB to open!
await db.put("Key", "Value")
const val = await db.getAsString("Key")
console.assert("Value" == val)
await db.close() // Make sure to save and close when you're done!
Cloning
If cloning from git, you must clone this repo recursively.
git clone --recursive https://github.com/extremeheat/node-leveldb-zlib
Dependencies
For the most part, pre-builds are provided so you don't need to worry about having the correct build tools installed. But if a pre-build doesn't work, you may need to install the following deps:
Linux:
sudo apt-get install libz-dev
Windows: zlib is packaged inside the repo. You do not need any extra dependencies.
Mac OS: You need to install xcode utilities first (this is not the whole Xcode!):
xcode-select --install
vcpkg
You can also use vcpkg to manage your C++ dependencies. If you don't already have vcpkg installed, install it with the steps at https://github.com/microsoft/vcpkg/#getting-started.
In vcpkg, install zlib: run vcpkg install zlib
Then set environment variable DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake
.
API
See API.md