on master help sign in
MonadFail-less failing
commit6bf81b9b4e133878d7ef49171fadd2870fa540d8 authorColin Woodbury <colin@fosskers.ca> dateTue 17 Mar 2020, 11:21 (7 years ago) parent33e0acd
2 files changed+7
Data/Aeson/Types.hs+1 Data/Aeson/Types/Internal.hs+6
Data/Aeson/Types.hs+1
@@ -35,6 +35,7 @@ module Data.Aeson.Types
3535 , parse
3636 , parseEither
3737 , parseMaybe
38+ , parseFail
3839 , ToJSON(..)
3940 , KeyValue(..)
4041 , modifyFailure
Data/Aeson/Types/Internal.hs+6
@@ -44,6 +44,7 @@ module Data.Aeson.Types.Internal
4444 , parse
4545 , parseEither
4646 , parseMaybe
47+ , parseFail
4748 , modifyFailure
4849 , prependFailure
4950 , parserThrowError
@@ -342,6 +343,11 @@ instance Monoid (Parser a) where
342343 mappend = (<>)
343344 {-# INLINE mappend #-}
344345
346+-- | Raise a parsing failure with some custom message.
347+parseFail :: String -> Parser a
348+parseFail = fail
349+{-# INLINE parseFail #-}
350+
345351apP :: Parser (a -> b) -> Parser a -> Parser b
346352apP d e = do
347353 b <- d