Skip to content

Node bindings for Mojang's fork of LevelDB

License

Notifications You must be signed in to change notification settings

clvrk/node-leveldb-mcpe

 
 

Repository files navigation

node-leveldb-mcpe

Node bindings for Mojang's fork of LevelDB

Installation

Ensure you have Node (>= 8, preferably) and CMake installed, then:

$ git clone https://github.com/mhsjlw/node-leveldb-mcpe.git
$ npm install

Usage

Using callbacks:

const levelup = require('levelup')
const db = levelup(new (require('../'))('example.db'))

db.put(Buffer.from('foo'), Buffer.from('bar'), err => {
  if (err) throw err
  db.get(Buffer.from('foo'), (err, value) => {
    if (err) throw err
    console.log(value)
  })
})

Or, using async/await syntax:

const levelup = require('levelup')
const db = levelup(new (require('../'))('example.db'))

async function entrypoint () {
  await db.put(Buffer.from('foo'), Buffer.from('bar'))
  await db.put(Buffer.from('quux'), Buffer.from('bazz'))
  await db.put(Buffer.from('lorem'), Buffer.from('ipsum'))

  db.createReadStream()
    .on('data', (data) => {
      console.log(data.key, '=', data.value)
    }).on('error', (err) => {
      console.log(err)
    }).on('close', () => {
      console.log('Iteration complete')
    }).on('end', () => {
      console.log('Stream ended')
    })
}

entrypoint().catch(console.log)

About

Node bindings for Mojang's fork of LevelDB

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 57.6%
  • JavaScript 26.5%
  • CMake 15.9%