From b06ba021e3a6d7934667e8b3a41b5d716d781fce Mon Sep 17 00:00:00 2001 From: Willem Van Onsem Date: Sat, 3 Jun 2023 15:54:00 +0200 Subject: [PATCH 1/2] introduce prettyValidateFail, fixing issue #112 --- validity/src/Data/Validity.hs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/validity/src/Data/Validity.hs b/validity/src/Data/Validity.hs index ba848d74..f89d005e 100644 --- a/validity/src/Data/Validity.hs +++ b/validity/src/Data/Validity.hs @@ -85,6 +85,7 @@ module Data.Validity checkValidity, validationIsValid, prettyValidate, + prettyValidateFail, prettyValidation, -- * Re-exports @@ -679,3 +680,10 @@ prettyValidation v = case i of 0 -> segment _ -> replicate i ' ' ++ "\\ " ++ segment + +-- | Validate a given value and fail the monadic computation if so. + +-- This function will fail the moand with a nice error if the value is invalid. +-- It will return the original value wrapped in the monadic context if it was valid. +prettyValidateFail :: (Validity a, MonadFail m) => a -> m a +prettyValidateFail = either fail pure . prettyValidate From 00fa11899074ac3d2984777b63b971fc1152b617 Mon Sep 17 00:00:00 2001 From: Willem Van Onsem Date: Sat, 3 Jun 2023 16:55:18 +0200 Subject: [PATCH 2/2] version bump --- validity/validity.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validity/validity.cabal b/validity/validity.cabal index 1f7b6cb0..5b19cd9e 100644 --- a/validity/validity.cabal +++ b/validity/validity.cabal @@ -5,7 +5,7 @@ cabal-version: 1.12 -- see: https://github.com/sol/hpack name: validity -version: 0.12.0.1 +version: 0.13.0.0 synopsis: Validity typeclass description: For more info, see . .