version-tree

1.0.0 • Public • Published

version-tree

A data structure for maintaining a tree of versions. This can be useful when implementing fully persistent data structures using the DTSS method. Works in both node.js and browserify. All operations use amortized O(1) space and time.

Example

var createVersionTree = require("version-tree")
 
//Create a new tree
var root = createVersionTree()
 
//Create two subversions
var a = root.fork()
var b = root.fork()
 
//Compare root to children
console.log(root.subversion(a), root.subversion(b), a.subversion(root), b.subversion(a))
// Prints out:
//  true    true    false   false
 
 
//Make a child version of a
var c = a.fork()
console.log(root.subversion(c), a.subvsersion(c), b.subversion(c))
//Prints out:
//    true    true    false

Install

npm install version-tree

API

var createVersionTree = require("version-tree")

var tree = createVersionTree()

Creates a new version tree with one root version

tree.fork()

Creates a new subversion of tree.

Returns A new version which inherits from tree

tree.subversion(other)

Tests if other is a subversion of tree.

Returns true if other is an ancestor of tree, false otherwise

Credits

(c) 2013 Mikola Lysenko. MIT License

Package Sidebar

Install

npm i version-tree

Weekly Downloads

2

Version

1.0.0

License

MIT

Last publish

Collaborators

  • mikolalysenko