Home

Awesome

Ripple | Database

Coverage Status Build Status

Allows connecting a node to external services. For example, when a resource changes, it could update a database, synchronise with other instances over AMQP, or pump to Redis.

ripple = require('rijs')({ db: 'type://user:password@host:port/database' })

It destructures the connection string into an object, looks up the type in ripple.adaptors, then passes that function the connection string as an object, and stores the result under ripple.connections.

ripple.connections.push(
  ripple.adaptors[type]({ type, user, database, port, host, password })
)

You must register any adaptors you wish to use separate to this module. An adaptor is a constructor function that takes the connection string as an object, creates an active connection and returns an object of functions for each possible change type: { add, update, remove }. These hooks will be invoked when the corresponding event occurs.

ripple.on('change', ({ key, value, type }) => 
  ripple.connections.map(con => 
    con[type](res, key, value)))