packages feed

keiro-dsl-0.12.0.0: test/conformance-declarative-router/Generated/TransferRouting/StructuralProjections.hs

{-# LANGUAGE TypeFamilies #-}
-- @generated by keiro-dsl 0.12.0.0 (language keiro-dsl 5) from context transfer-routing mapped structural facade; do not edit.
-- Equality witnesses are emitted for Text, Int, Bool, Natural, and UTCTime.
-- Int, Natural, and UTCTime belong to Keiki's ordered subset.
module Generated.TransferRouting.StructuralProjections
  ( hospitalLoadRowAvailableBedsWitness
  , hospitalLoadRowHospitalIdWitness
  , hospitalLoadRowRegionWitness
  , transferRouteInputRegionWitness
  , transferRouteInputTransferNeedIdWitness
  ) where

import Data.Text (Text)
import Keiro.Codec.Structural (bindingToShape)
import Keiki.Core (FieldProjection (..), FieldWitness, fieldWitness)
import Conformance.DeclarativeRouter.Bindings qualified as Bindings
import Conformance.DeclarativeRouter.Domain (HospitalLoadRow, TransferRouteInput)
import Generated.TransferRouting.Structural.Shape.HospitalLoadRow qualified as ShapeHospitalLoadRow
import Generated.TransferRouting.Structural.Shape.TransferRouteInput qualified as ShapeTransferRouteInput

data HospitalLoadRowAvailableBedsProjection

instance FieldProjection HospitalLoadRowAvailableBedsProjection where
  type FieldName HospitalLoadRowAvailableBedsProjection = "/available_beds"
  type FieldOwner HospitalLoadRowAvailableBedsProjection = HospitalLoadRow
  type FieldResult HospitalLoadRowAvailableBedsProjection = Int
  fieldShapeId _ = "conformance.declarative-router.HospitalLoadRow.v1"
  projectFieldValue _ owner = ShapeHospitalLoadRow.availableBeds (bindingToShape Bindings.hospitalLoadRowBinding owner)

hospitalLoadRowAvailableBedsWitness :: FieldWitness HospitalLoadRowAvailableBedsProjection
hospitalLoadRowAvailableBedsWitness = fieldWitness @HospitalLoadRowAvailableBedsProjection

data HospitalLoadRowHospitalIdProjection

instance FieldProjection HospitalLoadRowHospitalIdProjection where
  type FieldName HospitalLoadRowHospitalIdProjection = "/hospital_id"
  type FieldOwner HospitalLoadRowHospitalIdProjection = HospitalLoadRow
  type FieldResult HospitalLoadRowHospitalIdProjection = Text
  fieldShapeId _ = "conformance.declarative-router.HospitalLoadRow.v1"
  projectFieldValue _ owner = ShapeHospitalLoadRow.hospitalId (bindingToShape Bindings.hospitalLoadRowBinding owner)

hospitalLoadRowHospitalIdWitness :: FieldWitness HospitalLoadRowHospitalIdProjection
hospitalLoadRowHospitalIdWitness = fieldWitness @HospitalLoadRowHospitalIdProjection

data HospitalLoadRowRegionProjection

instance FieldProjection HospitalLoadRowRegionProjection where
  type FieldName HospitalLoadRowRegionProjection = "/region"
  type FieldOwner HospitalLoadRowRegionProjection = HospitalLoadRow
  type FieldResult HospitalLoadRowRegionProjection = Text
  fieldShapeId _ = "conformance.declarative-router.HospitalLoadRow.v1"
  projectFieldValue _ owner = ShapeHospitalLoadRow.region (bindingToShape Bindings.hospitalLoadRowBinding owner)

hospitalLoadRowRegionWitness :: FieldWitness HospitalLoadRowRegionProjection
hospitalLoadRowRegionWitness = fieldWitness @HospitalLoadRowRegionProjection

data TransferRouteInputRegionProjection

instance FieldProjection TransferRouteInputRegionProjection where
  type FieldName TransferRouteInputRegionProjection = "/region"
  type FieldOwner TransferRouteInputRegionProjection = TransferRouteInput
  type FieldResult TransferRouteInputRegionProjection = Text
  fieldShapeId _ = "conformance.declarative-router.TransferRouteInput.v1"
  projectFieldValue _ owner = ShapeTransferRouteInput.region (bindingToShape Bindings.transferRouteInputBinding owner)

transferRouteInputRegionWitness :: FieldWitness TransferRouteInputRegionProjection
transferRouteInputRegionWitness = fieldWitness @TransferRouteInputRegionProjection

data TransferRouteInputTransferNeedIdProjection

instance FieldProjection TransferRouteInputTransferNeedIdProjection where
  type FieldName TransferRouteInputTransferNeedIdProjection = "/transfer_need_id"
  type FieldOwner TransferRouteInputTransferNeedIdProjection = TransferRouteInput
  type FieldResult TransferRouteInputTransferNeedIdProjection = Text
  fieldShapeId _ = "conformance.declarative-router.TransferRouteInput.v1"
  projectFieldValue _ owner = ShapeTransferRouteInput.transferNeedId (bindingToShape Bindings.transferRouteInputBinding owner)

transferRouteInputTransferNeedIdWitness :: FieldWitness TransferRouteInputTransferNeedIdProjection
transferRouteInputTransferNeedIdWitness = fieldWitness @TransferRouteInputTransferNeedIdProjection