Safe Haskell | None |
---|---|
Language | Haskell2010 |
Extensions to Aeson parsing of objects.
- (.:) :: FromJSON a => Object -> Text -> Parser a
- (.:?) :: FromJSON a => Object -> Text -> Parser (Maybe a)
- type WarningParser a = WriterT WarningParserMonoid Parser a
- data JSONWarning = JSONUnrecognizedFields String [Text]
- withObjectWarnings :: String -> (Object -> WarningParser a) -> Value -> Parser (a, [JSONWarning])
- jsonSubWarnings :: WarningParser (a, [JSONWarning]) -> WarningParser a
- jsonSubWarningsT :: Traversable t => WarningParser (t (a, [JSONWarning])) -> WarningParser (t a)
- jsonSubWarningsTT :: (Traversable t, Traversable u) => WarningParser (u (t (a, [JSONWarning]))) -> WarningParser (u (t a))
- logJSONWarnings :: MonadLogger m => FilePath -> [JSONWarning] -> m ()
- tellJSONField :: Text -> WarningParser ()
- unWarningParser :: WarningParser a -> Parser a
- (..:) :: FromJSON a => Object -> Text -> WarningParser a
- (..:?) :: FromJSON a => Object -> Text -> WarningParser (Maybe a)
- (..!=) :: WarningParser (Maybe a) -> a -> WarningParser a
Extended failure messages
(.:?) :: FromJSON a => Object -> Text -> Parser (Maybe a) Source
Extends .:?
warning to include field name.
JSON Parser that emits warnings
type WarningParser a = WriterT WarningParserMonoid Parser a Source
JSON parser that warns about unexpected fields in objects.
data JSONWarning Source
Warning output from WarningParser
.
Show JSONWarning Source | |
FromJSON (Resolver, [JSONWarning]) | |
FromJSON (DockerOptsMonoid, [JSONWarning]) | Decode uninterpreted docker options from JSON/YAML. |
FromJSON (NixOptsMonoid, [JSONWarning]) | Decode uninterpreted nix options from JSON/YAML. |
FromJSON (ImageOptsMonoid, [JSONWarning]) | |
FromJSON (ImageDockerOpts, [JSONWarning]) | |
FromJSON (SetupInfoLocation, [JSONWarning]) | |
FromJSON (SetupInfo, [JSONWarning]) | |
FromJSON (VersionedDownloadInfo, [JSONWarning]) | |
FromJSON (DownloadInfo, [JSONWarning]) | |
FromJSON (ConfigMonoid, [JSONWarning]) | |
FromJSON (PackageLocation, [JSONWarning]) | |
FromJSON (PackageEntry, [JSONWarning]) | |
FromJSON (PackageIndex, [JSONWarning]) |
withObjectWarnings :: String -> (Object -> WarningParser a) -> Value -> Parser (a, [JSONWarning]) Source
WarningParser
version of withObject
.
jsonSubWarnings :: WarningParser (a, [JSONWarning]) -> WarningParser a Source
Handle warnings in a sub-object.
jsonSubWarningsT :: Traversable t => WarningParser (t (a, [JSONWarning])) -> WarningParser (t a) Source
Handle warnings in a Traversable
of sub-objects.
jsonSubWarningsTT :: (Traversable t, Traversable u) => WarningParser (u (t (a, [JSONWarning]))) -> WarningParser (u (t a)) Source
Handle warnings in a Maybe Traversable
of sub-objects.
logJSONWarnings :: MonadLogger m => FilePath -> [JSONWarning] -> m () Source
Log JSON warnings.
tellJSONField :: Text -> WarningParser () Source
Tell warning parser about an expected field, so it doesn't warn about it.
unWarningParser :: WarningParser a -> Parser a Source
Convert a WarningParser
to a Parser
.
(..:) :: FromJSON a => Object -> Text -> WarningParser a Source
WarningParser
version of .:
.
(..:?) :: FromJSON a => Object -> Text -> WarningParser (Maybe a) Source
WarningParser
version of .:?
.
(..!=) :: WarningParser (Maybe a) -> a -> WarningParser a Source
WarningParser
version of .!=
.