module Data.Aeson.Extends (module Data.Aeson.Extends) where import Data.Aeson as Data.Aeson.Extends import Data.ByteString.Lazy qualified as LBS import Data.Text.Encoding.Error qualified as TE import Data.Text.Lazy.Encoding qualified as LT eitherDecodeLenient' :: FromJSON a => LBS.ByteString -> Either String a eitherDecodeLenient' s = either (const $ eitherDecode' $ lenientReencode s) id (eitherDecode' s) where lenientReencode = LT.encodeUtf8 . LT.decodeUtf8With TE.lenientDecode