{-# LANGUAGE LambdaCase #-} module Data.Yaml.Ext ( modifyInvalidYaml , modifyYamlProblem ) where import Prelude import Data.Yaml modifyInvalidYaml :: (YamlException -> YamlException) -> ParseException -> ParseException modifyInvalidYaml :: (YamlException -> YamlException) -> ParseException -> ParseException modifyInvalidYaml f :: YamlException -> YamlException f = \case ex :: ParseException ex@NonScalarKey{} -> ParseException ex ex :: ParseException ex@UnknownAlias{} -> ParseException ex ex :: ParseException ex@UnexpectedEvent{} -> ParseException ex InvalidYaml mEx :: Maybe YamlException mEx -> Maybe YamlException -> ParseException InvalidYaml (Maybe YamlException -> ParseException) -> Maybe YamlException -> ParseException forall a b. (a -> b) -> a -> b $ YamlException -> YamlException f (YamlException -> YamlException) -> Maybe YamlException -> Maybe YamlException forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b <$> Maybe YamlException mEx ex :: ParseException ex@AesonException{} -> ParseException ex ex :: ParseException ex@OtherParseException{} -> ParseException ex ex :: ParseException ex@NonStringKey{} -> ParseException ex ex :: ParseException ex@NonStringKeyAlias{} -> ParseException ex ex :: ParseException ex@CyclicIncludes{} -> ParseException ex ex :: ParseException ex@LoadSettingsException{} -> ParseException ex modifyYamlProblem :: (String -> String) -> ParseException -> ParseException modifyYamlProblem :: (String -> String) -> ParseException -> ParseException modifyYamlProblem f :: String -> String f = (YamlException -> YamlException) -> ParseException -> ParseException modifyInvalidYaml ((YamlException -> YamlException) -> ParseException -> ParseException) -> (YamlException -> YamlException) -> ParseException -> ParseException forall a b. (a -> b) -> a -> b $ \case ex :: YamlException ex@YamlException{} -> YamlException ex YamlParseException problem :: String problem context :: String context problemMark :: YamlMark problemMark -> String -> String -> YamlMark -> YamlException YamlParseException (String -> String f String problem) String context YamlMark problemMark