Skip to content

Commit db67875

Browse files
committed
Replace Either with ModeOptions sum type in CLI parser
1 parent 88b1ac1 commit db67875

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

cardano-testnet/src/Parsers/Cardano.hs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,18 @@ import Testnet.Defaults (defaultEra)
2626
import Testnet.Start.Cardano
2727
import Testnet.Start.Types
2828

29+
data ModeOptions
30+
= ModeFromEnv TestnetEnvOptions
31+
| ModeNewEnv TestnetCreationOptions (Maybe FilePath)
32+
2933
optsTestnet :: Parser CardanoTestnetCliOptions
3034
optsTestnet = mkCliOptions <$> pModeOptions <*> pRuntimeOptions
3135
where
3236
pModeOptions =
33-
Left <$> pFromEnv
34-
<|> Right <$> ((,) <$> pCreationOptions <*> pScratchOutputDir)
35-
mkCliOptions (Left envOpts) rt = StartFromEnv (StartFromEnvOptions envOpts rt)
36-
mkCliOptions (Right (creation, outDir)) rt = NoUserProvidedEnv (NoUserProvidedEnvOptions creation outDir rt)
37+
ModeFromEnv <$> pFromEnv
38+
<|> ModeNewEnv <$> pCreationOptions <*> pScratchOutputDir
39+
mkCliOptions (ModeFromEnv envOpts) rt = StartFromEnv (StartFromEnvOptions envOpts rt)
40+
mkCliOptions (ModeNewEnv creation outDir) rt = NoUserProvidedEnv (NoUserProvidedEnvOptions creation outDir rt)
3741

3842
optsCreateTestnet :: Parser CardanoTestnetCreateEnvOptions
3943
optsCreateTestnet = CardanoTestnetCreateEnvOptions

0 commit comments

Comments
 (0)