1.8 KiB
1.8 KiB
eventstore-node
A port of the EventStore .Net ClientAPI to Node.js
Dependencies
- Node.js >= 0.12
- Modules: long, protobufjs, uuid (installed via
npm install
)
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.