node package manager

level-eventstore-client

level-eventstore

eventstore using leveldb

js-standard-style build status Docker Build Status downloads Docker Pulls Greenkeeper badge

server

npm start

Docker

Docker images hosted at https://hub.docker.com/r/jameskyburz/level-eventstore/

docker pull jameskyburz/level-eventstore:version

Running in docker

ᐅ docker pull jameskyburz/level-eventstore:version
ᐅ docker run --rm --name level-eventstore -p 5000:5000 jameskyburz/level-eventstore:version

example

const wsUrl = 'ws://guest:guest@localhost:5000'
const httpUrl = 'http://guest:guest@localhost:5000'
const client = require('level-eventstore').client({ wsUrl, httpUrl })
 
client.append({
  log: 'users',
  type: 'signup',
  payload: {
    email: 'foo@bar'
  }
}, (err) => {
  if (err) console.error(err)
})
 
client.append({
  log: 'users',
  type: 'verifyAccount',
  payload: {
    id: '38390783-cd60-4190-8b94-a3d4ac24d653'
  }
}, (err) => {
  if (err) console.error(err)
})
 
const close = client.handleEvents({ log: 'users', since: 0 })({
  signup (payload, cb) {
    console.log('insert', payload)
    cb(null)
  },
  verifyAccount (payload, cb) {
    console.log('verify', payload)
    cb(null)
  }
})
 
insert { email: 'foo@bar', id: '1def7ce5-9da4-40cc-8594-c739fad36a2b' }
verify { id: '38390783-cd60-4190-8b94-a3d4ac24d653' }
 

event handlers can also be generators or async functions, in this case they do not need a callback argument.

license

Apache License, Version 2.0