keiro-dsl-0.6.0.0: test/conformance-nominal-scalars/Generated/NominalScalars/NominalProjections.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
-- @generated by keiro-dsl; do not edit. Regenerated from the .keiro spec.
module Generated.NominalScalars.NominalProjections where
import Data.Text (Text)
import Data.Time (UTCTime)
import Keiki.Core (FieldProjection (..), FieldWitness, fieldWitness)
import Keiro.Codec.Nominal (nominalToRepresentation)
import qualified NominalConformance.Bindings as Bindings
import NominalConformance.Domain
import Numeric.Natural (Natural)
data AccountNumberNominalProjection
instance FieldProjection AccountNumberNominalProjection where
type FieldName AccountNumberNominalProjection = "AccountNumber"
type FieldOwner AccountNumberNominalProjection = AccountNumber
type FieldResult AccountNumberNominalProjection = Text
fieldShapeId _ = "nominal.AccountNumber.v1"
projectFieldValue _ = nominalToRepresentation Bindings.accountNumberBinding
accountNumberWitness :: FieldWitness AccountNumberNominalProjection
accountNumberWitness = fieldWitness @AccountNumberNominalProjection
data RiskScoreNominalProjection
instance FieldProjection RiskScoreNominalProjection where
type FieldName RiskScoreNominalProjection = "RiskScore"
type FieldOwner RiskScoreNominalProjection = RiskScore
type FieldResult RiskScoreNominalProjection = Int
fieldShapeId _ = "nominal.RiskScore.v1"
projectFieldValue _ = nominalToRepresentation Bindings.riskScoreBinding
riskScoreWitness :: FieldWitness RiskScoreNominalProjection
riskScoreWitness = fieldWitness @RiskScoreNominalProjection
data SequenceNumberNominalProjection
instance FieldProjection SequenceNumberNominalProjection where
type FieldName SequenceNumberNominalProjection = "SequenceNumber"
type FieldOwner SequenceNumberNominalProjection = SequenceNumber
type FieldResult SequenceNumberNominalProjection = Natural
fieldShapeId _ = "nominal.SequenceNumber.v1"
projectFieldValue _ = nominalToRepresentation Bindings.sequenceNumberBinding
sequenceNumberWitness :: FieldWitness SequenceNumberNominalProjection
sequenceNumberWitness = fieldWitness @SequenceNumberNominalProjection
data FeatureFlagNominalProjection
instance FieldProjection FeatureFlagNominalProjection where
type FieldName FeatureFlagNominalProjection = "FeatureFlag"
type FieldOwner FeatureFlagNominalProjection = FeatureFlag
type FieldResult FeatureFlagNominalProjection = Bool
fieldShapeId _ = "nominal.FeatureFlag.v1"
projectFieldValue _ = nominalToRepresentation Bindings.featureFlagBinding
featureFlagWitness :: FieldWitness FeatureFlagNominalProjection
featureFlagWitness = fieldWitness @FeatureFlagNominalProjection
data ObservedAtNominalProjection
instance FieldProjection ObservedAtNominalProjection where
type FieldName ObservedAtNominalProjection = "ObservedAt"
type FieldOwner ObservedAtNominalProjection = ObservedAt
type FieldResult ObservedAtNominalProjection = UTCTime
fieldShapeId _ = "nominal.ObservedAt.v1"
projectFieldValue _ = nominalToRepresentation Bindings.observedAtBinding
observedAtWitness :: FieldWitness ObservedAtNominalProjection
observedAtWitness = fieldWitness @ObservedAtNominalProjection