keiro-dsl-0.17.0.0: test/conformance-import-planning/Generated/ImportPlanningCollisions/StructuralProjections.hs
{-# LANGUAGE TypeFamilies #-}
-- @generated by keiro-dsl 0.17.0.0 (language keiro-dsl 4) from context import-planning-collisions mapped structural facade; do not edit.
-- Equality witnesses are emitted for Text, Int, Bool, Natural, and UTCTime.
-- Nominal ID and enum leaves carry exact canonical-text domains.
-- Int, Natural, and UTCTime belong to Keiki's ordered subset.
module Generated.ImportPlanningCollisions.StructuralProjections
( detailsLabelWitness
, detailsLabelGet
) where
import Data.Text (Text)
import Keiro.Codec.Structural (bindingToShape)
import Keiki.Core (FieldProjection (..), FieldWitness, fieldWitness)
import Generated.ImportPlanningCollisions.Structural.Shape.Details (DetailsShape(label))
import ImportPlanning.Bindings qualified as Bindings
import ImportPlanning.Consumer.Shared.Types (Details)
data DetailsLabelProjection
detailsLabelGet :: Details -> Text
detailsLabelGet owner = (bindingToShape Bindings.detailsBinding owner).label
instance FieldProjection DetailsLabelProjection where
type FieldName DetailsLabelProjection = "/label"
type FieldOwner DetailsLabelProjection = Details
type FieldResult DetailsLabelProjection = Text
fieldShapeId _ = "import-planning.Details.v1"
projectFieldValue _ = detailsLabelGet
detailsLabelWitness :: FieldWitness DetailsLabelProjection
detailsLabelWitness = fieldWitness @DetailsLabelProjection