node-eventstore-client/README.md

1.6 KiB

eventstore-node

A port of the EventStore .Net ClientAPI to Node.js

Dependencies

  • Node.js >= 0.12
  • protobufjs module
  • uuid module

Status

Unstable

Incomplete/missing features:

  • Ssl connection: not implemented yet
  • Typed errors: currently most errors are direct instance of Error, which is not practical for error handling
  • Performance: there's still some while loop in the code that could be problematic with node.js
  • Tests: tests are only covering happy path scenarios for now
  • Cluster connection: not implemented yet
  • Set system settings: not implemented yet
  • NPM package: no package released yet, I will release one when code is stable

Porting .Net Task to Node.js

I used Promise to replace .Net Task, so when executing an async command, i.e. appendToStream you'll have to wait for result/error like this:

connection
  .appendToStream('myStream', client.expectedVersion.any, events, userCredentials)
  .then(function(result) {
    //Do something with the WriteResult here
  })
  .catch(function(err) {
    //Handle error here
  });

Running the tests

You will need:

To execute the tests suites simply run test with npm

npm test

License

This is a port, original code is released under the EventStore license and can be found at https://github.com/eventstore/eventstore. Ported code is released under the MIT license, see https://github.com/nicdex/eventstore-node/blob/master/LICENSE