Safe Haskell | None |
---|---|
Language | Haskell2010 |
This is the internal generic-override-aeson API and should be considered unstable and subject to change. In general, you should prefer to use the public, stable API provided by Data.Override.Aeson.
Synopsis
- newtype WithAesonOptions (a :: *) (options :: [AesonOption]) = WithAesonOptions a
- data AesonOption
- class ApplyAesonOptions (options :: [AesonOption]) where
- applyAesonOptions :: Proxy options -> Options -> Options
- class ApplyAesonOption (option :: AesonOption) where
- applyAesonOption :: Proxy option -> Options -> Options
Documentation
newtype WithAesonOptions (a :: *) (options :: [AesonOption]) Source #
Use with DerivingVia
to override Aeson Options
with a type-level
list of AesonOption
.
Instances
(ApplyAesonOptions options, Generic a, GToJSON Zero (Rep a), GToEncoding Zero (Rep a)) => ToJSON (WithAesonOptions a options) Source # | |
Defined in Data.Override.Aeson.Options.Internal toJSON :: WithAesonOptions a options -> Value # toEncoding :: WithAesonOptions a options -> Encoding # toJSONList :: [WithAesonOptions a options] -> Value # toEncodingList :: [WithAesonOptions a options] -> Encoding # | |
(ApplyAesonOptions options, Generic a, GFromJSON Zero (Rep a)) => FromJSON (WithAesonOptions a options) Source # | |
Defined in Data.Override.Aeson.Options.Internal parseJSON :: Value -> Parser (WithAesonOptions a options) # parseJSONList :: Value -> Parser [WithAesonOptions a options] # |
data AesonOption Source #
Provides a type-level subset of fields from Options
AllNullaryToStringTag Bool | Equivalient to |
OmitNothingFields | Equivalient to |
SumEncodingTaggedObject Symbol Symbol | Equivalient to |
SumEncodingUntaggedValue | Equivalient to |
SumEncodingObjectWithSingleField | Equivalient to |
SumEncodingTwoElemArray | Equivalient to |
UnwrapUnaryRecords | Equivalient to |
TagSingleConstructors | Equivalient to |
Instances
ApplyAesonOptions ('[] :: [AesonOption]) Source # | |
Defined in Data.Override.Aeson.Options.Internal | |
(ApplyAesonOption option, ApplyAesonOptions options) => ApplyAesonOptions (option ': options) Source # | |
Defined in Data.Override.Aeson.Options.Internal |
class ApplyAesonOptions (options :: [AesonOption]) where Source #
Updates Options
given a type-level list of AesonOption
.
Instances
ApplyAesonOptions ('[] :: [AesonOption]) Source # | |
Defined in Data.Override.Aeson.Options.Internal | |
(ApplyAesonOption option, ApplyAesonOptions options) => ApplyAesonOptions (option ': options) Source # | |
Defined in Data.Override.Aeson.Options.Internal |
class ApplyAesonOption (option :: AesonOption) where Source #
Updates Options
given a single type-level AesonOption
.