Skip to content

Commit f2b3d0f

Browse files
author
Jamil Maqdis Anton
committed
Refactor. Moved fromAppendVersion from Helpers module.
1 parent 041a4d2 commit f2b3d0f

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

src/Append.fs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,8 @@ namespace SqlStreamStore.FSharp
22

33

44
open Insurello.AsyncExtra
5-
open SqlStreamStore
65
open SqlStreamStore.Streams
76

8-
type MessageDetails =
9-
{ id: Id
10-
type_: string
11-
jsonData: string
12-
jsonMetadata: string }
13-
14-
and Id =
15-
| Custom of System.Guid
16-
| Auto
17-
187
module Append =
198
let private stringIdToGuid: Id -> System.Guid =
209
function
@@ -27,26 +16,33 @@ module Append =
2716
| "" -> NewStreamMessage(stringIdToGuid msg.id, msg.type_, msg.jsonData)
2817
| metadata -> NewStreamMessage(stringIdToGuid msg.id, msg.type_, msg.jsonData, metadata)
2918

30-
let appendNewMessage: IStreamStore -> AppendStreamDetails -> MessageDetails -> Async<AppendResult> =
19+
let private fromAppendVersion: AppendVersion -> int =
20+
function
21+
| AppendVersion.Any -> SqlStreamStore.Streams.ExpectedVersion.Any
22+
| AppendVersion.EmptyStream -> SqlStreamStore.Streams.ExpectedVersion.EmptyStream
23+
| AppendVersion.NoStream -> SqlStreamStore.Streams.ExpectedVersion.NoStream
24+
| AppendVersion.SpecificVersion version -> version
25+
26+
let appendNewMessage: SqlStreamStore.IStreamStore -> AppendStreamDetails -> MessageDetails -> Async<AppendResult> =
3127
fun store streamDetails messageDetails ->
3228
store.AppendToStream
3329
(StreamId(streamDetails.streamName),
34-
Helpers.getVersion streamDetails.version,
30+
fromAppendVersion streamDetails.version,
3531
[| newStreamMessageFromMessageDetails messageDetails |])
3632
|> Async.AwaitTask
3733

38-
let appendNewMessages: IStreamStore -> AppendStreamDetails -> List<MessageDetails> -> Async<AppendResult> =
34+
let appendNewMessages: SqlStreamStore.IStreamStore -> AppendStreamDetails -> List<MessageDetails> -> Async<AppendResult> =
3935
fun store streamDetails messages ->
4036
store.AppendToStream
4137
(StreamId(streamDetails.streamName),
42-
Helpers.getVersion streamDetails.version,
38+
fromAppendVersion streamDetails.version,
4339
messages
4440
|> List.map newStreamMessageFromMessageDetails
4541
|> List.toArray)
4642
|> Async.AwaitTask
4743

4844
module AppendExtras =
49-
let appendNewMessage: IStreamStore -> AppendStreamDetails -> MessageDetails -> AsyncResult<AppendResult, AppendException> =
45+
let appendNewMessage: SqlStreamStore.IStreamStore -> AppendStreamDetails -> MessageDetails -> AsyncResult<AppendResult, AppendException> =
5046
fun store streamDetails messageDetails ->
5147
Append.appendNewMessage store streamDetails messageDetails
5248
|> Async.Catch

0 commit comments

Comments
 (0)