🚀 Launch Week Day 2:Introducing Custom Tabs for Org Alerts.Learn More →
Socket
Book a DemoInstallSign in
Socket

subgraph

Package Overview
Dependencies
Maintainers
3
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

subgraph

Content addressable graph where every node has at most a single link to another node

latest
Source
npmnpm
Version
2.1.0
Version published
Maintainers
3
Created
Source

subgraph

Content addressable graph where every node has at most a single link to another node

npm install subgraph

build status

Usage

var subgraph = require('subgraph')
var sg = subgraph(levelupInstance)

var ws = sg.createAppendStream()

ws.write('hello')
ws.write('world')

ws.end(function () {
  var rs = sg.createReadStream(ws.key)

  rs.on('data', function (node) {
    console.log(node) // first {value: 'world'} then {value: 'hello'}
  })
})

API

var sg = subgraph(levelupInstance, [options])

Create a new subgraph instance. Options include:

{
  prefix: 'optional-sublevel-prefix'
}

Create an append stream. The values you write to it will be linked together. When the stream emits finish it will have a .key property that contains the latest link and a .length property that contains the number of nodes written

Optionally you can provide a link in the constructor for the first node to append to.

var rs = sg.createReadStream(key)

Create a read stream from a key. Will read out values in reverse order of writes to the append stream.

var ws = sg.createWriteStream(key)

Create a write stream from a key. Will verify that the values written matches the key when hashed.

Shorthand for only adding a single value

sg.get(key, cb)

Shorthand for getting a single value

sg.root(key, cb)

Returns the root of a stream. If a write stream was ended prematurely / destroyed the root returned will have a link property.

sg.root(someKey, function (err, node) {
  console.log('root is', node)
  console.log('the stream is partially written?', !!root.link)
})

License

MIT

FAQs

Package last updated on 04 Nov 2015

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