EventStore.Client.FSharp
EventStore.Client.FSharp copied to clipboard
EventStore Client F# API for https://github.com/EventStore/ (Contact hi at qvitoo dot com for an up to date version)
EventStore.Client F# API
This project currently targets EventStore 3.0.
This is a project that aims to bring a smooth F# API to your codes.
Currently, has almost APIs mapped out. Documentation is in the form of XML-docs that accompanies the assembly.
v4.0 is not API compatibible with v3.x, but otherwise works well with ES v3.x.
API
Usage open EventStore.Client. If using Repo and Aggregate, you should use
the nuget Newtonsoft.Json.FSharp to get access to Serialisation.serialise and
Serialisation.deserialise, which are the two serialisation functions that work
well.
Global in EventStore.Client namespace
- EventVersion
- ExpectedVersionUnion
- ResolveLinksStrategy
- Connection - a wrapper interface that this nuget implements on top of
EventStore.Client.IEventStoreConnectionwhich allows for easy mocking and stubbing against the more precise F# types.
ConnBuilder
Wrapper F# API for the connection settings builder in the event store client API.
Types (auto opened)
F# types for working with EventStore. Complete with reflection to get around the private constructors.
Conn
Module with methods for working with Connection.
Tx
Module with methods for working with EventStoreTransaction.
Events
Module that is a helper module for writing sane data about events to the streams.
Aggregate (qualified)
Module that is a helper module for working with transducers in the form of Aggregates from F#.
Repo
Module that is a helper module for easily loading and saving event-sourced aggregates.
Community
Please see the issue tracker on this github - and use it to ask questions. Anyone is welcome to answer.
Roadmap
- [ ] Release for 3.1.0 together with helper CQRS lib (moving higher-level patterns there)
- [ ] Snapshot helpers for Aggregates