node-eventstore-client/README.md

52 lines
1.6 KiB
Markdown

# 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:
- dependencies (`npm install`)
- nodeunit (`npm install -g nodeunit`)
- an instance of EventStore running on localhost:1113 (https://geteventstore.com/downloads/)
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