keiro-dsl-0.18.0.0: test/conformance-checked-mapping-replay/Generated/CheckedMappingReplay/ReplayTarget/Domain.hs
{-# LANGUAGE TemplateHaskell #-}
-- @generated by keiro-dsl 0.18.0.0 (language keiro-dsl 6) from aggregate ReplayTarget; do not edit.
module Generated.CheckedMappingReplay.ReplayTarget.Domain where
import Data.Proxy (Proxy (..))
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import Generated.CheckedMappingReplay.Nominals (RetainedId)
import Conformance.CheckedMappingReplay.Bindings qualified as Bindings
import Conformance.CheckedMappingReplay.Domain (ReplayEnvelope)
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)
data ReplayTargetVertex = ReplayTargetReady
deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
data StoreData = StoreData
{ retainedId :: !RetainedId
, envelope :: !ReplayEnvelope
}
deriving stock (Generic, Eq, Show)
data ReplayTargetCommand = Store !StoreData
deriving stock (Generic, Eq, Show)
data StoredData = StoredData
{ retainedId :: !RetainedId
, envelope :: !ReplayEnvelope
}
deriving stock (Generic, Eq, Show)
data ReplayTargetEvent = Stored !StoredData
deriving stock (Generic, Eq, Show)
type ReplayTargetRegs =
'[ '("latest", ReplayEnvelope)
]
initialReplayTargetRegs :: RegFile ReplayTargetRegs
initialReplayTargetRegs =
RCons (Proxy @"latest") Bindings.initialReplayEnvelope RNil
$(deriveAggregateCtorsAll ''ReplayTargetCommand ''ReplayTargetRegs)
$(deriveWireCtorsAll ''ReplayTargetEvent)