| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Override.Aeson.Options.Internal
Description
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.
Constructors
| WithAesonOptions a |
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 Methods 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 Methods parseJSON :: Value -> Parser (WithAesonOptions a options) # parseJSONList :: Value -> Parser [WithAesonOptions a options] # | |
data AesonOption Source #
Provides a type-level subset of fields from Options
Constructors
| 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.