diff --git a/src/Propulsion.EventStore/Checkpoint.fs b/src/Propulsion.EventStore/Checkpoint.fs index c8b892eb..0a8d8384 100755 --- a/src/Propulsion.EventStore/Checkpoint.fs +++ b/src/Propulsion.EventStore/Checkpoint.fs @@ -12,6 +12,7 @@ module CheckpointSeriesId = let toString (x : CheckpointSeriesId) = UMX.untag x let [] Category = "Sync" +let [] Category_ = Category let streamId = Equinox.StreamId.gen CheckpointSeriesId.toString // NB - these schemas reflect the actual storage formats and hence need to be versioned with care @@ -92,7 +93,7 @@ let interpret command (state: Fold.State): seq = [Events.Checkpointed { config = config; pos = checkpoint }] | c, s -> failwithf "Command %A invalid when %A" c s -open Equinox // to disambiguate DeciderCore \/ -- TODO remove +open Equinox // to disambiguate DeciderCore \/ -- TODO remove as this brings Category into scope and makes a mess type Service internal (resolve : CheckpointSeriesId -> DeciderCore) = /// Determines the present state of the CheckpointSequence @@ -118,7 +119,7 @@ type Service internal (resolve : CheckpointSeriesId -> DeciderCore> resolve Category) +let create resolve = Service(streamId >> resolve Category_) // General pattern is that an Equinox Service is a singleton and calls pass an identifier for a stream per call // This light wrapper means we can adhere to that general pattern yet still end up with legible code while we in practice only maintain a single checkpoint series per running app