packages feed

keiro-dsl-0.17.0.0: test/conformance-contract-declared-id/Conformance/ContractDeclaredId/Bindings.hs

{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeApplications #-}

module Conformance.ContractDeclaredId.Bindings where

import Conformance.ContractDeclaredId.Domain
import Data.Aeson (Value (String))
import Data.KindID qualified as KindID
import Data.List.NonEmpty (NonEmpty (..))
import Data.Text (Text)
import Keiro.Codec.Nominal (NominalBinding (..), NominalFixture (..), NominalFixtureCases (..))

claimIdText :: Text
claimIdText = "claim_01h455vb4pex5vsknk084sn02q"

claimId :: ClaimId
claimId = case KindID.parseText @"claim" claimIdText of
  Left reason -> error ("invalid committed ClaimId fixture: " <> show reason)
  Right value -> ClaimId value

claimIdBinding :: NominalBinding ClaimId (KindID.KindID "claim")
claimIdBinding = NominalBinding unClaimId ClaimId

claimIdFixtures :: NominalFixtureCases ClaimId
claimIdFixtures = NominalFixtureCases (NominalFixture "claim" (String claimIdText) claimId :| [])