-- | The public, stable @generic-override-aeson@ API. -- Provides orphan instances for 'Override' as well as customization -- for aeson's 'Options' when using @DerivingVia@. {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE MonoLocalBinds #-} {-# LANGUAGE UndecidableInstances #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module Data.Override.Aeson ( WithAesonOptions(..) , AesonOption(..) ) where import Data.Aeson import Data.Override (Override(..)) import Data.Override.Aeson.Options.Internal (AesonOption(..), WithAesonOptions(..)) import GHC.Generics (Generic, Rep) instance ( Generic (Override a xs) , GToJSON Zero (Rep (Override a xs)) , GToEncoding Zero (Rep (Override a xs)) ) => ToJSON (Override a xs) instance ( Generic (Override a xs) , GFromJSON Zero (Rep (Override a xs)) ) => FromJSON (Override a xs)