Go to file
Nicolas Dextraze a64dbc9b8e 0.0.2
2016-03-16 23:19:31 -07:00
lib Adding tests suites for readAll and readStream 2016-03-14 17:55:35 -07:00
src Use Long for int64 2016-03-16 23:18:48 -07:00
test Adding tests suites for readAll and readStream 2016-03-14 17:55:35 -07:00
.gitignore Add .ided folder to gitignore 2016-03-09 15:38:46 -08:00
index.js using webpack to generate a distribution version in ./lib/dist.js 2016-03-09 17:03:26 -08:00
LICENSE Initial commit 2016-03-09 11:52:01 -08:00
package.json 0.0.2 2016-03-16 23:19:31 -07:00
README.md Update readme for NPM release 2016-03-16 23:15:25 -07:00
webpack.config.js using webpack to generate a distribution version in ./lib/dist.js 2016-03-09 17:03:26 -08:00

eventstore-node

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

Dependencies

Status

Unstable

Missing features:

  • Ssl connection
  • Cluster connection
  • Set system settings

Incomplete

  • 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

Getting started

Install the client using npm

npm install eventstore-node

Examples

TODO

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

To run the tests you will need

  • To install the dependencies (npm install)
  • To install nodeunit (npm install -g nodeunit)
  • Run an instance of EventStore >= 3.3.0 (competing consumers are required for test) on localhost:1113 (Download here)

To execute the tests suites simply run test with npm

npm test

License

Ported code is released under the MIT license, see LICENSE.

Original code is released under the EventStore license and can be found at https://github.com/eventstore/eventstore.