generic-override-aeson-0.4.0.0: Provides orphan instances necessary for integrating generic-override and aeson
Safe HaskellNone
LanguageHaskell2010

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

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

Instances details
(ApplyAesonOptions options, Generic a, GToJSON Zero (Rep a), GToEncoding Zero (Rep a)) => ToJSON (WithAesonOptions a options) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

(ApplyAesonOptions options, Generic a, GFromJSON Zero (Rep a)) => FromJSON (WithAesonOptions a options) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

data AesonOption Source #

Provides a type-level subset of fields from Options

Instances

Instances details
ApplyAesonOptions ('[] :: [AesonOption]) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

(ApplyAesonOption option, ApplyAesonOptions options) => ApplyAesonOptions (option ': options) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

Methods

applyAesonOptions :: Proxy (option ': options) -> Options -> Options Source #

class ApplyAesonOptions (options :: [AesonOption]) where Source #

Updates Options given a type-level list of AesonOption.

Methods

applyAesonOptions :: Proxy options -> Options -> Options Source #

Instances

Instances details
ApplyAesonOptions ('[] :: [AesonOption]) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

(ApplyAesonOption option, ApplyAesonOptions options) => ApplyAesonOptions (option ': options) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

Methods

applyAesonOptions :: Proxy (option ': options) -> Options -> Options Source #

class ApplyAesonOption (option :: AesonOption) where Source #

Updates Options given a single type-level AesonOption.

Methods

applyAesonOption :: Proxy option -> Options -> Options Source #

Instances

Instances details
ApplyAesonOption 'OmitNothingFields Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

ApplyAesonOption 'SumEncodingUntaggedValue Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

ApplyAesonOption 'SumEncodingObjectWithSingleField Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

ApplyAesonOption 'SumEncodingTwoElemArray Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

ApplyAesonOption 'UnwrapUnaryRecords Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

ApplyAesonOption 'TagSingleConstructors Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

ApplyAesonOption ('AllNullaryToStringTag 'False) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

ApplyAesonOption ('AllNullaryToStringTag 'True) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal

(KnownSymbol k, KnownSymbol v) => ApplyAesonOption ('SumEncodingTaggedObject k v) Source # 
Instance details

Defined in Data.Override.Aeson.Options.Internal