Safe Haskell | None |
---|---|
Language | Haskell2010 |
MessageDb.Message
Synopsis
- newtype MessageId = MessageId {}
- newMessageId :: IO MessageId
- newtype MessageType = MessageType {}
- messageTypeOf :: forall payload. Typeable payload => MessageType
- newtype StreamPosition = StreamPosition {}
- newtype GlobalPosition = GlobalPosition {}
- newtype CreatedAt = CreatedAt {}
- newtype Payload = Payload {}
- nullPayload :: Payload
- parsePayload :: FromJSON value => Payload -> Either String value
- newtype Metadata = Metadata {}
- nullMetadata :: Metadata
- parseMetadata :: FromJSON value => Metadata -> Either String value
- data Message = Message {}
- data ParseMessageFailure = ParseMessageFailure {}
- data ParsedMessage payload metadata = ParsedMessage {
- parsedPayload :: payload
- parsedMetadata :: metadata
- parseMessage :: (FromJSON payload, FromJSON metadata) => Message -> Either ParseMessageFailure (ParsedMessage payload metadata)
Documentation
Unique id of a message. Most be unique across the entire event store.
Constructors
MessageId | |
Fields |
Instances
Eq MessageId Source # | |
Ord MessageId Source # | |
Show MessageId Source # | |
ToJSON MessageId Source # | |
Defined in MessageDb.Message | |
FromJSON MessageId Source # | |
newMessageId :: IO MessageId Source #
Create a new unique message id.
newtype MessageType Source #
The type of a message. You can use this later to determine what kind of event or command a message is.
Constructors
MessageType | |
Fields |
Instances
Eq MessageType Source # | |
Defined in MessageDb.Message | |
Ord MessageType Source # | |
Defined in MessageDb.Message Methods compare :: MessageType -> MessageType -> Ordering # (<) :: MessageType -> MessageType -> Bool # (<=) :: MessageType -> MessageType -> Bool # (>) :: MessageType -> MessageType -> Bool # (>=) :: MessageType -> MessageType -> Bool # max :: MessageType -> MessageType -> MessageType # min :: MessageType -> MessageType -> MessageType # | |
Show MessageType Source # | |
Defined in MessageDb.Message Methods showsPrec :: Int -> MessageType -> ShowS # show :: MessageType -> String # showList :: [MessageType] -> ShowS # | |
IsString MessageType Source # | |
Defined in MessageDb.Message Methods fromString :: String -> MessageType # | |
ToJSON MessageType Source # | |
Defined in MessageDb.Message Methods toJSON :: MessageType -> Value # toEncoding :: MessageType -> Encoding # toJSONList :: [MessageType] -> Value # toEncodingList :: [MessageType] -> Encoding # | |
FromJSON MessageType Source # | |
Defined in MessageDb.Message |
messageTypeOf :: forall payload. Typeable payload => MessageType Source #
Converts a type's name to a MessageType
. For example 'typeOf @Bool' will be 'MessageType Bool'.
newtype StreamPosition Source #
Position within a stream. This starts at 0 and has no gaps.
Constructors
StreamPosition | |
Fields |
Instances
newtype GlobalPosition Source #
Primary key. The ordinal position of the message in the entire message store. Global position may have gaps.
Constructors
GlobalPosition | |
Fields |
Instances
Timestamp when the message was written.
Constructors
CreatedAt | |
Fields |
Instances
Eq CreatedAt Source # | |
Ord CreatedAt Source # | |
Show CreatedAt Source # | |
ToJSON CreatedAt Source # | |
Defined in MessageDb.Message | |
FromJSON CreatedAt Source # | |
Constructors
Payload | |
Fields |
Constructors
Metadata | |
Fields |
Constructors
Message | |
data ParseMessageFailure Source #
Constructors
ParseMessageFailure | |
Fields |
Instances
data ParsedMessage payload metadata Source #
Constructors
ParsedMessage | |
Fields
|
Instances
(Eq payload, Eq metadata) => Eq (ParsedMessage payload metadata) Source # | |
Defined in MessageDb.Message Methods (==) :: ParsedMessage payload metadata -> ParsedMessage payload metadata -> Bool # (/=) :: ParsedMessage payload metadata -> ParsedMessage payload metadata -> Bool # | |
(Show payload, Show metadata) => Show (ParsedMessage payload metadata) Source # | |
Defined in MessageDb.Message Methods showsPrec :: Int -> ParsedMessage payload metadata -> ShowS # show :: ParsedMessage payload metadata -> String # showList :: [ParsedMessage payload metadata] -> ShowS # |
parseMessage :: (FromJSON payload, FromJSON metadata) => Message -> Either ParseMessageFailure (ParsedMessage payload metadata) Source #