-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Library providing JSON parser that warns about unexpected fields in objects.
--
-- Please see the README on GitHub at
-- https://github.com/commercialhaskell/aeson-warning-parser#readme
@package aeson-warning-parser
@version 0.1.0
module Data.Aeson.WarningParser
-- | A JSON parser that warns about unexpected fields in objects.
type WarningParser a = WriterT WarningParserMonoid Parser a
-- | Warning output from WarningParser.
data JSONWarning
JSONUnrecognizedFields :: String -> [Text] -> JSONWarning
JSONGeneralWarning :: !Text -> JSONWarning
data WithJSONWarnings a
WithJSONWarnings :: a -> [JSONWarning] -> WithJSONWarnings a
-- | WarningParser version of withObject.
withObjectWarnings :: String -> (Object -> WarningParser a) -> Value -> Parser (WithJSONWarnings a)
-- | Handle warnings in a sub-object.
jsonSubWarnings :: WarningParser (WithJSONWarnings a) -> WarningParser a
-- | Handle warnings in a Traversable of sub-objects.
jsonSubWarningsT :: Traversable t => WarningParser (t (WithJSONWarnings a)) -> WarningParser (t a)
-- | Handle warnings in a Maybe Traversable of sub-objects.
jsonSubWarningsTT :: (Traversable t, Traversable u) => WarningParser (u (t (WithJSONWarnings a))) -> WarningParser (u (t a))
-- | Log JSON warnings.
logJSONWarnings :: (MonadReader env m, HasLogFunc env, HasCallStack, MonadIO m) => FilePath -> [JSONWarning] -> m ()
noJSONWarnings :: a -> WithJSONWarnings a
-- | Tell the warning parser about an expected field, so it doesn't warn
-- about it.
tellJSONField :: Text -> WarningParser ()
-- | Convert a WarningParser to a Parser.
unWarningParser :: WarningParser a -> Parser a
-- | Extends the .: warning to include the field name that failed
-- to parse.
(.:) :: FromJSON a => Object -> Text -> Parser a
-- | Extends the .:? warning to include the field name that failed
-- to parse.
(.:?) :: FromJSON a => Object -> Text -> Parser (Maybe a)
-- | WarningParser version of .:.
(..:) :: FromJSON a => Object -> Text -> WarningParser a
-- | Synonym version of ..:.
(...:) :: FromJSON a => Object -> [Text] -> WarningParser a
-- | WarningParser version of .:?.
(..:?) :: FromJSON a => Object -> Text -> WarningParser (Maybe a)
-- | Synonym version of ..:?.
(...:?) :: FromJSON a => Object -> [Text] -> WarningParser (Maybe a)
-- | WarningParser version of .!=.
(..!=) :: WarningParser (Maybe a) -> a -> WarningParser a
instance GHC.Classes.Eq Data.Aeson.WarningParser.JSONWarning
instance GHC.Show.Show a => GHC.Show.Show (Data.Aeson.WarningParser.WithJSONWarnings a)
instance GHC.Generics.Generic (Data.Aeson.WarningParser.WithJSONWarnings a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.Aeson.WarningParser.WithJSONWarnings a)
instance GHC.Generics.Generic Data.Aeson.WarningParser.WarningParserMonoid
instance GHC.Base.Semigroup Data.Aeson.WarningParser.WarningParserMonoid
instance GHC.Base.Monoid Data.Aeson.WarningParser.WarningParserMonoid
instance Data.String.IsString Data.Aeson.WarningParser.WarningParserMonoid
instance GHC.Base.Functor Data.Aeson.WarningParser.WithJSONWarnings
instance GHC.Base.Monoid a => GHC.Base.Semigroup (Data.Aeson.WarningParser.WithJSONWarnings a)
instance GHC.Base.Monoid a => GHC.Base.Monoid (Data.Aeson.WarningParser.WithJSONWarnings a)
instance Data.Aeson.Types.FromJSON.FromJSON (Data.Aeson.WarningParser.WithJSONWarnings RIO.PrettyPrint.StylesUpdate.StylesUpdate)
instance GHC.Show.Show Data.Aeson.WarningParser.JSONWarning
instance RIO.Prelude.Display.Display Data.Aeson.WarningParser.JSONWarning
instance Data.String.IsString Data.Aeson.WarningParser.JSONWarning