Skip to content

Commit 465cae0

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

File tree

3 files changed

+14
-23
lines changed

3 files changed

+14
-23
lines changed

src/Append.fs

Lines changed: 2 additions & 3 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 -> StreamDetails -> MessageDetails -> Async<AppendResult> =
18+
let appendNewMessage: IStreamStore -> AppendStreamDetails -> MessageDetails -> Async<AppendResult> =
1919
fun store streamDetails messageDetails ->
2020
let toId: Id -> System.Guid =
2121
function
@@ -30,13 +30,12 @@ module append =
3030

3131
let toVersion: Version -> int =
3232
function
33-
| Version.None
3433
| Version.Any -> ExpectedVersion.Any
3534
| Version.EmptyStream -> ExpectedVersion.EmptyStream
3635
| Version.NoStream -> ExpectedVersion.NoStream
3736
| Version.SpecificVersion version -> version
3837

39-
let append: IStreamStore -> StreamDetails -> MessageDetails -> Async<AppendResult> =
38+
let append: IStreamStore -> AppendStreamDetails -> MessageDetails -> Async<AppendResult> =
4039
fun store stream msg ->
4140
store.AppendToStream(stream.streamName, toVersion stream.version, createMessage msg)
4241
|> Async.AwaitTask

src/Read.fs

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

1212
module Read =
13-
let toStartPosition: int option -> int =
14-
function
15-
| Some position -> position
16-
| None -> 0
17-
18-
let readFromStreamAsync: IStreamStore -> ReadingDirection -> StreamDetails -> int -> Async<ReadStreamPage> =
13+
let readFromStreamAsync: IStreamStore -> ReadingDirection -> ReadStreamDetails -> int -> Async<ReadStreamPage> =
1914
fun store readingDirection streamDetails msgCount ->
2015
match readingDirection with
21-
| Forward ->
22-
store.ReadStreamForwards
23-
(streamDetails.streamName, toStartPosition streamDetails.startPosition, msgCount)
24-
| Backward ->
25-
store.ReadStreamBackwards
26-
(streamDetails.streamName, toStartPosition streamDetails.startPosition, msgCount)
16+
| Forward -> store.ReadStreamForwards(streamDetails.streamName, streamDetails.startPosition, msgCount)
17+
| Backward -> store.ReadStreamBackwards(streamDetails.streamName, streamDetails.startPosition, msgCount)
2718
|> Async.AwaitTask
2819

29-
let readFromStreamAsync': IStreamStore -> ReadingDirection -> StreamDetails -> int -> CancellationToken -> Async<ReadStreamPage> =
20+
let readFromStreamAsync': IStreamStore -> ReadingDirection -> ReadStreamDetails -> int -> CancellationToken -> Async<ReadStreamPage> =
3021
fun store readingDirection streamDetails msgCount cancellationToken ->
3122
match readingDirection with
3223
| Forward ->
3324
store.ReadStreamForwards
34-
(streamDetails.streamName, toStartPosition streamDetails.startPosition, msgCount, cancellationToken)
25+
(streamDetails.streamName, streamDetails.startPosition, msgCount, cancellationToken)
3526
| Backward ->
3627
store.ReadStreamBackwards
37-
(streamDetails.streamName, toStartPosition streamDetails.startPosition, msgCount, cancellationToken)
28+
(streamDetails.streamName, streamDetails.startPosition, msgCount, cancellationToken)
3829
|> Async.AwaitTask
3930

4031
module ReadExtras =
41-
let readStreamMessages: IStreamStore -> ReadingDirection -> StreamDetails -> int -> AsyncResult<List<StreamMessage>, string> =
32+
let readStreamMessages: IStreamStore -> ReadingDirection -> ReadStreamDetails -> int -> AsyncResult<List<StreamMessage>, string> =
4233
fun store readingDirection streamDetails msgCount ->
4334
Read.readFromStreamAsync store readingDirection streamDetails msgCount
4435
|> Async.bind (fun readStreamPage ->

src/Types.fs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
11
namespace SqlStreamStore.FSharp
22

3-
43
[<RequireQualifiedAccessAttribute>]
54
type Version =
6-
| None
75
| Any
86
| EmptyStream
97
| NoStream
108
| SpecificVersion of int
119

12-
type StreamDetails =
10+
type AppendStreamDetails =
1311
{ streamName: string
14-
startPosition: int option
1512
version: Version }
13+
14+
type ReadStreamDetails =
15+
{ streamName: string
16+
startPosition: int }

0 commit comments

Comments
 (0)