{-# LANGUAGE DataKinds #-}
{-# LANGUAGE GADTs #-}
module Cardano.CLI.EraBased.Governance.Option
( GovernanceCmds (..)
, renderGovernanceCmds
, pGovernanceCmds
)
where
import Cardano.Api.Experimental qualified as Exp
import Cardano.CLI.EraBased.Common.Option
import Cardano.CLI.EraBased.Governance.Actions.Option
import Cardano.CLI.EraBased.Governance.Command
import Cardano.CLI.EraBased.Governance.Committee.Option
import Cardano.CLI.EraBased.Governance.DRep.Option
import Cardano.CLI.EraBased.Governance.Vote.Option
import Options.Applicative
import Options.Applicative qualified as Opt
pGovernanceCmds
:: Exp.IsEra
era
=> Maybe (Parser (GovernanceCmds era))
pGovernanceCmds :: forall era. IsEra era => Maybe (Parser (GovernanceCmds era))
pGovernanceCmds =
String
-> InfoMod (GovernanceCmds era)
-> [Maybe (Parser (GovernanceCmds era))]
-> Maybe (Parser (GovernanceCmds era))
forall a.
String -> InfoMod a -> [Maybe (Parser a)] -> Maybe (Parser a)
subInfoParser
String
"governance"
( String -> InfoMod (GovernanceCmds era)
forall a. String -> InfoMod a
Opt.progDesc (String -> InfoMod (GovernanceCmds era))
-> String -> InfoMod (GovernanceCmds era)
forall a b. (a -> b) -> a -> b
$
[String] -> String
forall a. Monoid a => [a] -> a
mconcat
[ String
"Governance commands."
]
)
[ (GovernanceActionCmds era -> GovernanceCmds era)
-> Parser (GovernanceActionCmds era) -> Parser (GovernanceCmds era)
forall a b. (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap GovernanceActionCmds era -> GovernanceCmds era
forall era. GovernanceActionCmds era -> GovernanceCmds era
GovernanceActionCmds (Parser (GovernanceActionCmds era) -> Parser (GovernanceCmds era))
-> Maybe (Parser (GovernanceActionCmds era))
-> Maybe (Parser (GovernanceCmds era))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Maybe (Parser (GovernanceActionCmds era))
forall era. IsEra era => Maybe (Parser (GovernanceActionCmds era))
pGovernanceActionCmds
, (GovernanceCommitteeCmds era -> GovernanceCmds era)
-> Parser (GovernanceCommitteeCmds era)
-> Parser (GovernanceCmds era)
forall a b. (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap GovernanceCommitteeCmds era -> GovernanceCmds era
forall era. GovernanceCommitteeCmds era -> GovernanceCmds era
GovernanceCommitteeCmds (Parser (GovernanceCommitteeCmds era)
-> Parser (GovernanceCmds era))
-> Maybe (Parser (GovernanceCommitteeCmds era))
-> Maybe (Parser (GovernanceCmds era))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Maybe (Parser (GovernanceCommitteeCmds era))
forall era.
IsEra era =>
Maybe (Parser (GovernanceCommitteeCmds era))
pGovernanceCommitteeCmds
, (GovernanceDRepCmds era -> GovernanceCmds era)
-> Parser (GovernanceDRepCmds era) -> Parser (GovernanceCmds era)
forall a b. (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap GovernanceDRepCmds era -> GovernanceCmds era
forall era. GovernanceDRepCmds era -> GovernanceCmds era
GovernanceDRepCmds (Parser (GovernanceDRepCmds era) -> Parser (GovernanceCmds era))
-> Maybe (Parser (GovernanceDRepCmds era))
-> Maybe (Parser (GovernanceCmds era))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Maybe (Parser (GovernanceDRepCmds era))
forall era. IsEra era => Maybe (Parser (GovernanceDRepCmds era))
pGovernanceDRepCmds
, (GovernanceVoteCmds era -> GovernanceCmds era)
-> Parser (GovernanceVoteCmds era) -> Parser (GovernanceCmds era)
forall a b. (a -> b) -> Parser a -> Parser b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap GovernanceVoteCmds era -> GovernanceCmds era
forall era. GovernanceVoteCmds era -> GovernanceCmds era
GovernanceVoteCmds (Parser (GovernanceVoteCmds era) -> Parser (GovernanceCmds era))
-> Maybe (Parser (GovernanceVoteCmds era))
-> Maybe (Parser (GovernanceCmds era))
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Maybe (Parser (GovernanceVoteCmds era))
forall era. IsEra era => Maybe (Parser (GovernanceVoteCmds era))
pGovernanceVoteCmds
]