packages feed

dsv-1.0.0.0: library/DSV/Validation.hs

{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE LambdaCase #-}

module DSV.Validation
  ( Validation (Success, Failure)
  , overFailure
  ) where

-- validation
import Data.Validation

overFailure :: (e1 -> e2) -> Validation e1 a -> Validation e2 a
overFailure f =
  \case
    Failure e -> Failure (f e)
    Success x -> Success x