parquet-hs-0.1.0.0: src/Parquet/Utils.hs
{-# 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