Skip to content

Commit f51ca38

Browse files
authored
Use private record instead of constructing an object to hide the record (#21)
1 parent 0d04914 commit f51ca38

File tree

1 file changed

+24
-30
lines changed

1 file changed

+24
-30
lines changed

src/SqlStreamStore.FSharp/NewStreamMessage.fs

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,34 @@
11
namespace SqlStreamStore.FSharp
22

33
[<Struct>]
4-
type NewStreamMessageInternal =
5-
{
6-
messageId: System.Guid option
7-
messageType: string
8-
jsonData: string
9-
jsonMetadata: string option
10-
}
11-
12-
[<Struct>]
13-
type NewStreamMessage = private NewStreamMessage of NewStreamMessageInternal
4+
type NewStreamMessage =
5+
private
6+
{
7+
messageId: System.Guid option
8+
messageType: string
9+
jsonData: string
10+
jsonMetadata: string option
11+
}
1412

1513
module NewStreamMessage =
1614

1715
let create (messageType: string) (jsonData: string) : NewStreamMessage =
18-
NewStreamMessage
19-
{
20-
messageId = None
21-
messageType = messageType
22-
jsonData = jsonData
23-
jsonMetadata = None
24-
}
25-
26-
let withMessageId (messageId: System.Guid) (NewStreamMessage msg: NewStreamMessage) : NewStreamMessage =
27-
NewStreamMessage { msg with messageId = Some messageId }
28-
29-
let withJsonMetadata (jsonMetadata: string) (NewStreamMessage msg: NewStreamMessage) : NewStreamMessage =
30-
NewStreamMessage
31-
{ msg with
32-
jsonMetadata = Some jsonMetadata
33-
}
34-
35-
let internal toOriginalNewStreamMessage
36-
(NewStreamMessage msg: NewStreamMessage)
37-
: SqlStreamStore.Streams.NewStreamMessage =
16+
{
17+
messageId = None
18+
messageType = messageType
19+
jsonData = jsonData
20+
jsonMetadata = None
21+
}
22+
23+
let withMessageId (messageId: System.Guid) (msg: NewStreamMessage) : NewStreamMessage =
24+
{ msg with messageId = Some messageId }
25+
26+
let withJsonMetadata (jsonMetadata: string) (msg: NewStreamMessage) : NewStreamMessage =
27+
{ msg with
28+
jsonMetadata = Some jsonMetadata
29+
}
30+
31+
let internal toOriginalNewStreamMessage (msg: NewStreamMessage) : SqlStreamStore.Streams.NewStreamMessage =
3832
let id =
3933
match msg.messageId with
4034
| Some id -> id

0 commit comments

Comments
 (0)