@@ -10,20 +10,30 @@ module Read =
10
10
| ReadVersion.End -> int ( Position.End)
11
11
| ReadVersion.SpecificVersion version -> int ( version)
12
12
13
- let readFromAllStream : SqlStreamStore.IStreamStore -> ReadingDirection -> StartPositionInclusive -> MessageCount -> Async < ReadAllPage > =
13
+ let private fromStartPositionInclusive : StartPosition -> int64 =
14
+ function
15
+ | StartPosition.Start -> 0 L
16
+ | StartPosition.End -> - 1 L
17
+ | StartPosition.SpecificPosition position -> position
18
+
19
+ let readFromAllStream : SqlStreamStore.IStreamStore -> ReadingDirection -> StartPosition -> MessageCount -> Async < ReadAllPage > =
14
20
fun store readingDirection startPositionInclusive msgCount ->
15
21
match readingDirection with
16
- | ReadingDirection.Forward -> store.ReadAllForwards( startPositionInclusive, msgCount)
17
- | ReadingDirection.Backward -> store.ReadAllBackwards( startPositionInclusive, msgCount)
22
+ | ReadingDirection.Forward ->
23
+ store.ReadAllForwards( fromStartPositionInclusive startPositionInclusive, msgCount)
24
+ | ReadingDirection.Backward ->
25
+ store.ReadAllBackwards( fromStartPositionInclusive startPositionInclusive, msgCount)
18
26
|> Async.AwaitTask
19
27
20
- let readFromAllStream ' : SqlStreamStore.IStreamStore -> ReadingDirection -> StartPositionInclusive -> MessageCount -> bool -> CancellationToken -> Async < ReadAllPage > =
28
+ let readFromAllStream ' : SqlStreamStore.IStreamStore -> ReadingDirection -> StartPosition -> MessageCount -> bool -> CancellationToken -> Async < ReadAllPage > =
21
29
fun store readingDirection startPositionInclusive msgCount prefetchJson cancellationToken ->
22
30
match readingDirection with
23
31
| ReadingDirection.Forward ->
24
- store.ReadAllForwards( startPositionInclusive, msgCount, prefetchJson, cancellationToken)
32
+ store.ReadAllForwards
33
+ ( fromStartPositionInclusive startPositionInclusive, msgCount, prefetchJson, cancellationToken)
25
34
| ReadingDirection.Backward ->
26
- store.ReadAllBackwards( startPositionInclusive, msgCount, prefetchJson, cancellationToken)
35
+ store.ReadAllBackwards
36
+ ( fromStartPositionInclusive startPositionInclusive, msgCount, prefetchJson, cancellationToken)
27
37
|> Async.AwaitTask
28
38
29
39
let readFromStream : SqlStreamStore.IStreamStore -> ReadingDirection -> StreamName -> ReadVersion -> MessageCount -> Async < ReadStreamPage > =
0 commit comments