Skip to content

Raynos/append-only

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

append-only

Append only scuttlebutt structure

Example

Represent an append only data structure through scuttlebutt.

You push new pieces of data onto the list. You can also remove a item from the list (which is actually an append only message).

append-only generates a unique __id on your item for you.

var AppendOnly = require("append-only")
    , list1 = AppendOnly()
    , list2 = AppendOnly()

list1.on("item", function (item) {
    if (item.more) {
        list1.remove(item.__id)
    }
})

list1.push({ some: "data" })
list1.push({ more: "data" })

list2.on("item", function (item) {
    console.log("items", item)
})

list2.on("remove", function (item) {
    console.log("item removed", item)
})

setTimeout(function () {
    var array = list2.createArray()
    console.log("array", array)
}, 500)

var stream1 = list1.createStream()
    , stream2 = list2.createStream()

stream1.pipe(stream2).pipe(stream1)

Installation

npm install append-only

Contributors

  • Raynos

MIT Licenced

About

Append only scuttlebutt structure

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published