keiro-dsl-0.6.0.0: test/conformance-structural/Generated/StructuralConformance/ArtifactCatalog/Domain.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-}
{-# OPTIONS_GHC -Wno-unused-top-binds #-}
-- @generated by keiro-dsl; do not edit. Regenerated from the .keiro spec.
module Generated.StructuralConformance.ArtifactCatalog.Domain where
import Conformance.Structural.Bindings qualified
import Conformance.Structural.Domain qualified
import Data.Proxy (Proxy (..))
import Data.Text (Text)
import GHC.Generics (Generic)
import Keiki.Core (RegFile (..))
import Keiki.Generics.TH (deriveAggregateCtorsAll, deriveWireCtorsAll)
data ArtifactCatalogVertex = ArtifactCatalogEmpty | ArtifactCatalogObserved
deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
data ObserveArtifactData = ObserveArtifactData
{ artifact :: !Conformance.Structural.Domain.ArtifactInfo
, geometry :: !Conformance.Structural.Domain.Geometry
, accepted :: !Bool
}
deriving stock (Generic, Eq, Show)
data ArtifactCatalogCommand = ObserveArtifact !ObserveArtifactData
deriving stock (Generic, Eq, Show)
data ArtifactRecordedData = ArtifactRecordedData
{ artifact :: !Conformance.Structural.Domain.ArtifactInfo
, geometry :: !Conformance.Structural.Domain.Geometry
, accepted :: !Bool
}
deriving stock (Generic, Eq, Show)
data ArtifactAcceptedData = ArtifactAcceptedData
{ accepted :: !Bool
}
deriving stock (Generic, Eq, Show)
data ArtifactCatalogEvent
= ArtifactRecorded !ArtifactRecordedData
| ArtifactAccepted !ArtifactAcceptedData
deriving stock (Generic, Eq, Show)
type ArtifactCatalogRegs =
'[ '("currentArtifact", Conformance.Structural.Domain.ArtifactInfo)
, '("currentGeometry", Conformance.Structural.Domain.Geometry)
, '("acceptedCount", Int)
]
initialArtifactCatalogRegs :: RegFile ArtifactCatalogRegs
initialArtifactCatalogRegs =
RCons (Proxy @"currentArtifact") Conformance.Structural.Bindings.emptyArtifactInfo $
RCons (Proxy @"currentGeometry") Conformance.Structural.Bindings.emptyGeometry $
RCons (Proxy @"acceptedCount") 0 RNil
$(deriveAggregateCtorsAll ''ArtifactCatalogCommand ''ArtifactCatalogRegs)
$(deriveWireCtorsAll ''ArtifactCatalogEvent)