packages feed

hbro-contrib-1.3.0.0: Data/Aeson/Extended.hs

{-# LANGUAGE FlexibleContexts  #-}
{-# LANGUAGE NoImplicitPrelude #-}
module Data.Aeson.Extended (module X, module Data.Aeson.Extended) where

import           ClassyPrelude

import           Control.Monad.Except

import           Data.Aeson               as X
import           Data.Aeson.Encode.Pretty as X
import qualified Data.ByteString.Lazy     as Lazy


decodeM :: (FromJSON a, MonadError Text m) => Lazy.ByteString -> m a
decodeM = either (throwError . pack) return . eitherDecode