{-# LANGUAGE LambdaCase #-} {-# LANGUAGE RankNTypes #-} {-# LANGUAGE ScopedTypeVariables #-} module Cardano.CLI.Compatible.Run ( runAnyCompatibleCommand , runCompatibleCommand ) where import Cardano.CLI.Compatible.Command import Cardano.CLI.Compatible.Exception import Cardano.CLI.Compatible.Governance.Run import Cardano.CLI.Compatible.StakeAddress.Run import Cardano.CLI.Compatible.StakePool.Run import Cardano.CLI.Compatible.Transaction.Run import Data.Typeable (Typeable) runAnyCompatibleCommand :: AnyCompatibleCommand -> CIO e () runAnyCompatibleCommand :: forall e. AnyCompatibleCommand -> CIO e () runAnyCompatibleCommand (AnyCompatibleCommand CompatibleCommand era cmd) = CompatibleCommand era -> CIO e () forall era e. Typeable era => CompatibleCommand era -> CIO e () runCompatibleCommand CompatibleCommand era cmd runCompatibleCommand :: Typeable era => CompatibleCommand era -> CIO e () runCompatibleCommand :: forall era e. Typeable era => CompatibleCommand era -> CIO e () runCompatibleCommand = \case CompatibleTransactionCmds CompatibleTransactionCmds era txCmd -> CompatibleTransactionCmds era -> CIO e () forall era e. CompatibleTransactionCmds era -> CIO e () runCompatibleTransactionCmd CompatibleTransactionCmds era txCmd CompatibleGovernanceCmds CompatibleGovernanceCmds era govCmd -> CompatibleGovernanceCmds era -> CIO e () forall era e. Typeable era => CompatibleGovernanceCmds era -> CIO e () runCompatibleGovernanceCmds CompatibleGovernanceCmds era govCmd CompatibleStakeAddressCmds CompatibleStakeAddressCmds era stakeAddressCmd -> CompatibleStakeAddressCmds era -> CIO e () forall era e. CompatibleStakeAddressCmds era -> CIO e () runCompatibleStakeAddressCmds CompatibleStakeAddressCmds era stakeAddressCmd CompatibleStakePoolCmds CompatibleStakePoolCmds era stakePoolCmd -> CompatibleStakePoolCmds era -> CIO e () forall era e. CompatibleStakePoolCmds era -> CIO e () runCompatibleStakePoolCmds CompatibleStakePoolCmds era stakePoolCmd