Socket
Book a DemoInstallSign in
Socket

level-pathwise

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

level-pathwise

Turn a leveldb into one object of arbitrary size. Efficiently+atomically update+read parts

latest
Source
npmnpm
Version
4.0.1
Version published
Maintainers
1
Created
Source

level-pathwise

Turn a leveldb into one huge object of arbitrary size! Efficiently and atomically update and read parts of it!

build status

Example

var Pathwise = require('level-pathwise');
var level = require('level');

var store = new Pathwise(level('db'));

// insert an object on the root level

store.put([], {
  foo: {
    bar: ['beep', 'boop'],
    baz: 'bleep'  
  }
}, function(err){});

// read it out

store.get([], function(err, obj){
  // => {
  //      foo: {
  //        bar: ['beep', 'boop'],
  //        baz: 'bleep'  
  //      }
  //    }
});

// read only a subsection of the object,
// like data.foo.bar

store.get(['foo', 'bar'], function(err, obj){
  // => ['beep', 'boop']
});

// extend an object,
// like data.foo.key = 'value'

store.put([], {
  foo: {
    key: 'value'
  }
})

// read the direct children of a path

store.children(['foo'], function(err, children){
  // => ['bar', 'baz']
});

// remove some data,
// like delete data.foo.baz

store.del(['foo', 'baz'], function(err){});

// perform several updates in one atomic step,
// like data.i.said.what = 'what'; delete data.foo;

store.batch([
  { type: 'put', path: [], data: { i: said: { what: 'what' } } },
  { type: 'del', path: ['foo'] }
], function(){});

Installation

$ npm install level-pathwise

API

Pathwise(db)

Instantiate a new pathwise store, using db.

#put(path, object[, opts], fn)

Store object at path.

Options:

  • batch: LevelUP batch object to use

#get(path, fn)

Get the object at path with all its children.

#del(path[, opts], fn)

Delete the object at path with all its children.

Options:

  • batch: LevelUP batch object to use

#children(path, fn)

Get the direct children of path.

#batch(ops, fn)

Execute multiple get and del operations in one atomic batch. ops is an array with objects of type

  • { type: 'put', path: path, data: data }
  • { type: 'del', path: path }

License

MIT

FAQs

Package last updated on 01 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts