aeson-attoparsec-0.0.0: src/Data/Aeson/Attoparsec.hs
module Data.Aeson.Attoparsec where
import Data.Aeson (FromJSON (..), Value (String))
import Data.Aeson.Types (typeMismatch)
import qualified Data.Aeson as Aeson
import qualified Data.Aeson.Types as Aeson
import Data.Attoparsec.Text (parseOnly)
import qualified Data.Attoparsec.Text as Attoparsec
attoAeson :: Attoparsec.Parser a -> Value -> Aeson.Parser a
attoAeson parser (String x) = case parseOnly parser x of
Left e -> fail e
Right x -> pure x
attoAeson _ x = typeMismatch "Attoparsec" x