stack-1.6.1.1: The Haskell Tool Stack

Safe HaskellNone
LanguageHaskell2010

Data.Aeson.Extended

Contents

Description

Extensions to Aeson parsing of objects.

Synopsis

Extended failure messages

(.:) :: FromJSON a => Object -> Text -> Parser a Source #

Extends .: warning to include field name.

(.:?) :: 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 WithJSONWarnings a Source #

Constructors

WithJSONWarnings a [JSONWarning] 

Instances

Functor WithJSONWarnings Source # 

Methods

fmap :: (a -> b) -> WithJSONWarnings a -> WithJSONWarnings b #

(<$) :: a -> WithJSONWarnings b -> WithJSONWarnings a #

Generic (WithJSONWarnings a) Source # 

Associated Types

type Rep (WithJSONWarnings a) :: * -> * #

Monoid a => Monoid (WithJSONWarnings a) Source # 
FromJSON (WithJSONWarnings ImageOptsMonoid) # 
FromJSON (WithJSONWarnings ImageDockerOpts) # 
FromJSON (WithJSONWarnings NixOptsMonoid) #

Decode uninterpreted nix options from JSON/YAML.

FromJSON (WithJSONWarnings BenchmarkOptsMonoid) # 
FromJSON (WithJSONWarnings HaddockOptsMonoid) # 
FromJSON (WithJSONWarnings TestOptsMonoid) # 
FromJSON (WithJSONWarnings BuildOptsMonoid) # 
FromJSON (WithJSONWarnings UrlsMonoid) # 
FromJSON (WithJSONWarnings Urls) # 
FromJSON (WithJSONWarnings PackageIndex) # 
FromJSON (WithJSONWarnings DockerOptsMonoid) #

Decode uninterpreted docker options from JSON/YAML.

(~) * subdirs Subdirs => FromJSON (WithJSONWarnings (PackageLocationIndex subdirs)) # 
(~) * subdirs Subdirs => FromJSON (WithJSONWarnings (PackageLocation subdirs)) # 
FromJSON (WithJSONWarnings SetupInfoLocation) # 
FromJSON (WithJSONWarnings SetupInfo) # 
FromJSON (WithJSONWarnings GHCDownloadInfo) # 
FromJSON (WithJSONWarnings VersionedDownloadInfo) # 
FromJSON (WithJSONWarnings DownloadInfo) # 
type Rep (WithJSONWarnings a) Source # 
type Rep (WithJSONWarnings a) = D1 * (MetaData "WithJSONWarnings" "Data.Aeson.Extended" "stack-1.6.1.1-HaKtsinTMoYAIxQsiG8NSZ" False) (C1 * (MetaCons "WithJSONWarnings" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * a)) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * [JSONWarning]))))

jsonSubWarnings :: WarningParser (WithJSONWarnings a) -> WarningParser a Source #

Handle warnings in a sub-object.

jsonSubWarningsT :: Traversable t => WarningParser (t (WithJSONWarnings a)) -> WarningParser (t a) Source #

Handle warnings in a Traversable of sub-objects.

jsonSubWarningsTT :: (Traversable t, Traversable u) => WarningParser (u (t (WithJSONWarnings a))) -> 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.

(..!=) :: WarningParser (Maybe a) -> a -> WarningParser a Source #

WarningParser version of .!=.