append-only

Append only scuttlebutt structure

append-only

Append only scuttlebutt structure

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)

npm install append-only

  • Raynos