{-# LANGUAGE LambdaCase #-} module Parquet.Utils where import Control.Monad.Except import qualified Data.Text as T () :: MonadError b m => Maybe a -> b -> m a () Nothing err = throwError err () (Just v) _ = pure v infixl 4 failOnExcept :: Monad m => ExceptT T.Text m a -> m a failOnExcept = runExceptT >=> \case Left err -> fail (T.unpack err) Right v -> pure v