keiro-dsl-0.21.0.0: test/conformance-history-dependent-holes/Generated/HistoryDependentHoles/Assignment/Domain.hs
{-# LANGUAGE TemplateHaskell #-}
-- @generated by keiro-dsl 0.21.0.0 (language keiro-dsl 6) from aggregate Assignment; do not edit.
module Generated.HistoryDependentHoles.Assignment.Domain where
import Data.Proxy (Proxy (..))
import Data.Text (Text)
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import Conformance.HistoryDependentHoles.Bindings qualified as Bindings
import Conformance.HistoryDependentHoles.Domain (PropertyValues)
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)
data AssignmentVertex = AssignmentActive
deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
data SetPropertyData = SetPropertyData
{ key :: !Text
, value :: !Text
}
deriving stock (Generic, Eq, Show)
data ClearPropertyData = ClearPropertyData
{ key :: !Text
}
deriving stock (Generic, Eq, Show)
data TouchData = TouchData
{ note :: !Text
}
deriving stock (Generic, Eq, Show)
data AssignmentCommand = SetProperty !SetPropertyData
| ClearProperty !ClearPropertyData
| Touch !TouchData
deriving stock (Generic, Eq, Show)
data PropertySetData = PropertySetData
{ key :: !Text
, value :: !Text
}
deriving stock (Generic, Eq, Show)
data PropertyClearedData = PropertyClearedData
{ key :: !Text
}
deriving stock (Generic, Eq, Show)
data TouchedData = TouchedData
{ note :: !Text
}
deriving stock (Generic, Eq, Show)
data AssignmentEvent = PropertySet !PropertySetData
| PropertyCleared !PropertyClearedData
| Touched !TouchedData
deriving stock (Generic, Eq, Show)
type AssignmentRegs =
'[ '("values", PropertyValues)
]
initialAssignmentRegs :: RegFile AssignmentRegs
initialAssignmentRegs =
RCons (Proxy @"values") Bindings.emptyPropertyValues RNil
$(deriveAggregateCtorsAll ''AssignmentCommand ''AssignmentRegs)
$(deriveWireCtorsAll ''AssignmentEvent)