turtlesoup

1.0.6 • Public • Published

turtlesoup

Minimal Event Sourcing helper for RethinkDB & node.js

Build Status

install

npm install turtlesoup --save

usage

/*
// first create a db and table
var r = require('rethinkdb');
r.connect(function (err, conn) {
    r.create('demo').tableCreate('bucket').run(conn, function (){});
});
*/
var _turtlesoup = require('turtlesoup');
var turtlesoup = new _turtlesoup('demo', 'bucket'
 
setInterval(function () {
 
    turtlesoup.add({ demo: Math.random() * 11, timestamp: new Date() });
 
}, 1000);
 
pull(
    turtlesoup.get_all_latest(),
    pull.log()
)
 

methods

add

turtlesoup.add({ demo: true, timestamp: new Date().toISOString() });

Add a new JSON object with mandatory timestamp field which needs to be a Javascript Date object.

get_all

turtlesoup.get_all(function (results) {
    console.log(results);
});
 
// or
 
turtlesoup.get_latest(function({ demo: true }, function (results) {
        console.log(results, 'filtered on demo property');
});
 

Returns an array of all items in the table.

get_all_latest

turtlesoup.get_all_latest(function (results) {
        console.log(results);
});
 
// or
 
turtlesoup.get_all_latest(function({ demo: true }, function (results) {
    console.log(results, 'filtered on demo property');
});
 

Returns an array of all the items in the table with the latest first.

pull_all

pull(
    turtlesoup.pull_all(),
    pull.log()
)
 
// or
 
    turtlesoup.pull_all({ demo: true }) // filter on demo === true
 

Get each data item from a pull stream source.

pull_all_latest

pull(
    turtlesoup.pull_all_latest(),
    pull.log()
)
 
//
 
    turtlesoup.pull_all_latest({ demo: true }) // filter on demo === true
 

Get each item from a pull stream source with the latest coming first.

Package Sidebar

Install

npm i turtlesoup

Weekly Downloads

1

Version

1.0.6

License

MIT

Last publish

Collaborators

  • m-onz