Skip to content

Commit f93e4dd

Browse files
author
Jamil Maqdis Anton
committed
refactor StreamDetails type and fix functions accordingly
1 parent 465cae0 commit f93e4dd

File tree

3 files changed

+25
-20
lines changed

3 files changed

+25
-20
lines changed

src/Append.fs

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ and Id =
1515
| Auto
1616

1717
module append =
18-
let appendNewMessage: IStreamStore -> AppendStreamDetails -> MessageDetails -> Async<AppendResult> =
18+
let appendNewMessage: IStreamStore -> StreamDetails -> MessageDetails -> Async<AppendResult> =
1919
fun store streamDetails messageDetails ->
2020
let toId: Id -> System.Guid =
2121
function
@@ -28,16 +28,9 @@ module append =
2828
| "" -> NewStreamMessage(toId msg.id, msg.type_, msg.jsonData)
2929
| metadata -> NewStreamMessage(toId msg.id, msg.type_, msg.jsonData, metadata)
3030

31-
let toVersion: Version -> int =
32-
function
33-
| Version.Any -> ExpectedVersion.Any
34-
| Version.EmptyStream -> ExpectedVersion.EmptyStream
35-
| Version.NoStream -> ExpectedVersion.NoStream
36-
| Version.SpecificVersion version -> version
37-
38-
let append: IStreamStore -> AppendStreamDetails -> MessageDetails -> Async<AppendResult> =
39-
fun store stream msg ->
40-
store.AppendToStream(stream.streamName, toVersion stream.version, createMessage msg)
31+
let append: IStreamStore -> StreamDetails -> MessageDetails -> Async<AppendResult> =
32+
fun store streamDetails messageDetails ->
33+
store.AppendToStream(streamDetails.streamName, Helpers.toVersion streamDetails.version, createMessage messageDetails)
4134
|> Async.AwaitTask
4235

4336
append store streamDetails messageDetails

src/Read.fs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,26 +10,28 @@ type ReadingDirection =
1010
| Backward
1111

1212
module Read =
13-
let readFromStreamAsync: IStreamStore -> ReadingDirection -> ReadStreamDetails -> int -> Async<ReadStreamPage> =
13+
let readFromStreamAsync: IStreamStore -> ReadingDirection -> StreamDetails -> int -> Async<ReadStreamPage> =
1414
fun store readingDirection streamDetails msgCount ->
1515
match readingDirection with
16-
| Forward -> store.ReadStreamForwards(streamDetails.streamName, streamDetails.startPosition, msgCount)
17-
| Backward -> store.ReadStreamBackwards(streamDetails.streamName, streamDetails.startPosition, msgCount)
16+
| Forward ->
17+
store.ReadStreamForwards(streamDetails.streamName, Helpers.toVersion streamDetails.version, msgCount)
18+
| Backward ->
19+
store.ReadStreamBackwards(streamDetails.streamName, Helpers.toVersion streamDetails.version, msgCount)
1820
|> Async.AwaitTask
1921

20-
let readFromStreamAsync': IStreamStore -> ReadingDirection -> ReadStreamDetails -> int -> CancellationToken -> Async<ReadStreamPage> =
22+
let readFromStreamAsync': IStreamStore -> ReadingDirection -> StreamDetails -> int -> CancellationToken -> Async<ReadStreamPage> =
2123
fun store readingDirection streamDetails msgCount cancellationToken ->
2224
match readingDirection with
2325
| Forward ->
2426
store.ReadStreamForwards
25-
(streamDetails.streamName, streamDetails.startPosition, msgCount, cancellationToken)
27+
(streamDetails.streamName, Helpers.toVersion streamDetails.version, msgCount, cancellationToken)
2628
| Backward ->
2729
store.ReadStreamBackwards
28-
(streamDetails.streamName, streamDetails.startPosition, msgCount, cancellationToken)
30+
(streamDetails.streamName, Helpers.toVersion streamDetails.version, msgCount, cancellationToken)
2931
|> Async.AwaitTask
3032

3133
module ReadExtras =
32-
let readStreamMessages: IStreamStore -> ReadingDirection -> ReadStreamDetails -> int -> AsyncResult<List<StreamMessage>, string> =
34+
let readStreamMessages: IStreamStore -> ReadingDirection -> StreamDetails -> int -> AsyncResult<List<StreamMessage>, string> =
3335
fun store readingDirection streamDetails msgCount ->
3436
Read.readFromStreamAsync store readingDirection streamDetails msgCount
3537
|> Async.bind (fun readStreamPage ->

src/Types.fs

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

3+
open SqlStreamStore.Streams
4+
35
[<RequireQualifiedAccessAttribute>]
46
type Version =
57
| Any
68
| EmptyStream
79
| NoStream
810
| SpecificVersion of int
911

10-
type AppendStreamDetails =
12+
type StreamDetails =
1113
{ streamName: string
1214
version: Version }
1315

14-
type ReadStreamDetails =
16+
type AllStreamDetails =
1517
{ streamName: string
1618
startPosition: int }
19+
20+
module Helpers =
21+
let toVersion: Version -> int =
22+
function
23+
| Version.Any -> ExpectedVersion.Any
24+
| Version.EmptyStream -> ExpectedVersion.EmptyStream
25+
| Version.NoStream -> ExpectedVersion.NoStream
26+
| Version.SpecificVersion version -> version

0 commit comments

Comments
 (0)