packages feed

keiro-dsl-0.12.0.0: test/conformance-domain-outcomes/Generated/DomainOutcomes/Nominals.hs

{-# LANGUAGE DeriveAnyClass #-}
-- @generated by keiro-dsl 0.12.0.0 (language keiro-dsl 5) from context domain-outcomes generated nominal declarations; do not edit.
module Generated.DomainOutcomes.Nominals where

import Data.Aeson (FromJSON, ToJSON)
import Data.Text (Text)
import GHC.Generics (Generic)
import Keiki.Shape (CanonicalTypeName)

data ReservationNoOp = DuplicateRequest
  deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
  deriving anyclass (ToJSON, FromJSON)

instance CanonicalTypeName ReservationNoOp

reservationNoOpText :: ReservationNoOp -> Text
reservationNoOpText = \case
  DuplicateRequest -> "duplicate-request"

data ReservationRejection = AlreadyCancelled | CapacityUnavailable
  deriving stock (Generic, Eq, Ord, Show, Enum, Bounded)
  deriving anyclass (ToJSON, FromJSON)

instance CanonicalTypeName ReservationRejection

reservationRejectionText :: ReservationRejection -> Text
reservationRejectionText = \case
  AlreadyCancelled -> "already-cancelled"
  CapacityUnavailable -> "capacity-unavailable"