module Rattletrap.Console.Mode where data Mode = Decode | Encode deriving (Mode -> Mode -> Bool (Mode -> Mode -> Bool) -> (Mode -> Mode -> Bool) -> Eq Mode forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: Mode -> Mode -> Bool == :: Mode -> Mode -> Bool $c/= :: Mode -> Mode -> Bool /= :: Mode -> Mode -> Bool Eq, Int -> Mode -> ShowS [Mode] -> ShowS Mode -> String (Int -> Mode -> ShowS) -> (Mode -> String) -> ([Mode] -> ShowS) -> Show Mode forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> Mode -> ShowS showsPrec :: Int -> Mode -> ShowS $cshow :: Mode -> String show :: Mode -> String $cshowList :: [Mode] -> ShowS showList :: [Mode] -> ShowS Show) fromString :: String -> Either String Mode fromString :: String -> Either String Mode fromString String string = case String string of String "decode" -> Mode -> Either String Mode forall a b. b -> Either a b Right Mode Decode String "encode" -> Mode -> Either String Mode forall a b. b -> Either a b Right Mode Encode String _ -> String -> Either String Mode forall a b. a -> Either a b Left (String -> Either String Mode) -> String -> Either String Mode forall a b. (a -> b) -> a -> b $ String "invalid mode: " String -> ShowS forall a. Semigroup a => a -> a -> a <> ShowS forall a. Show a => a -> String show String string