Safe Haskell | None |
---|---|
Language | Haskell2010 |
Deriving.Aeson
Contents
Description
Type-directed aeson instance CustomJSONisation
Synopsis
- newtype CustomJSON t a = CustomJSON {
- unCustomJSON :: a
- data FieldLabelModifier t
- data ConstrctorTagModifier t
- data OmitNothingFields
- data TagSingleConstructors
- data NoAllNullaryToStringTag
- data StripPrefix t
- data CamelToKebab
- data CamelToSnake
- class AesonOptions xs where
- aesonOptions :: Options
- class StringModifier t where
- getStringModifier :: String -> String
- class FromJSON a
- class ToJSON a
- class Generic a
Documentation
newtype CustomJSON t a Source #
A newtype wrapper which gives FromJSON/ToJSON instances with modified options.
Constructors
CustomJSON | |
Fields
|
Instances
(AesonOptions t, Generic a, GFromJSON Zero (Rep a)) => FromJSON (CustomJSON t a) Source # | |
Defined in Deriving.Aeson Methods parseJSON :: Value -> Parser (CustomJSON t a) parseJSONList :: Value -> Parser [CustomJSON t a] | |
(AesonOptions t, Generic a, GToJSON Zero (Rep a)) => ToJSON (CustomJSON t a) Source # | |
Defined in Deriving.Aeson Methods toJSON :: CustomJSON t a -> Value toEncoding :: CustomJSON t a -> Encoding toJSONList :: [CustomJSON t a] -> Value toEncodingList :: [CustomJSON t a] -> Encoding |
data FieldLabelModifier t Source #
Function applied to field labels. Handy for removing common record prefixes for example.
Instances
(StringModifier f, AesonOptions xs) => AesonOptions (FieldLabelModifier f ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # |
data ConstrctorTagModifier t Source #
Function applied to constructor tags which could be handy for lower-casing them for example.
Instances
(StringModifier f, AesonOptions xs) => AesonOptions (ConstrctorTagModifier f ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # |
data OmitNothingFields Source #
Record fields with a Nothing value will be omitted from the resulting object.
Instances
AesonOptions xs => AesonOptions (OmitNothingFields ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # |
data TagSingleConstructors Source #
Encode types with a single constructor as sums, so that allNullaryToStringTag and sumEncoding apply.
Instances
AesonOptions xs => AesonOptions (TagSingleConstructors ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # |
data NoAllNullaryToStringTag Source #
the encoding will always follow the sumEncoding
.
Instances
AesonOptions xs => AesonOptions (NoAllNullaryToStringTag ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # |
Name modifiers
data StripPrefix t Source #
Strip prefix t
. If it doesn't have the prefix, keep it as-is.
Instances
KnownSymbol k => StringModifier (StripPrefix k :: Type) Source # | |
Defined in Deriving.Aeson Methods getStringModifier :: String -> String Source # |
data CamelToKebab Source #
CamelCase to kebab-case
Instances
StringModifier CamelToKebab Source # | |
Defined in Deriving.Aeson Methods getStringModifier :: String -> String Source # |
data CamelToSnake Source #
CamelCase to snake_case
Instances
StringModifier CamelToSnake Source # | |
Defined in Deriving.Aeson Methods getStringModifier :: String -> String Source # |
Interface
class AesonOptions xs where Source #
Reify Options
from a type-level list
Methods
aesonOptions :: Options Source #
Instances
AesonOptions ('[] :: [k]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # | |
AesonOptions xs => AesonOptions (NoAllNullaryToStringTag ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # | |
AesonOptions xs => AesonOptions (TagSingleConstructors ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # | |
AesonOptions xs => AesonOptions (OmitNothingFields ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # | |
(StringModifier f, AesonOptions xs) => AesonOptions (ConstrctorTagModifier f ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # | |
(StringModifier f, AesonOptions xs) => AesonOptions (FieldLabelModifier f ': xs :: [Type]) Source # | |
Defined in Deriving.Aeson Methods aesonOptions :: Options Source # |
class StringModifier t where Source #
Reify a function which modifies names
Methods
getStringModifier :: String -> String Source #
Instances
StringModifier CamelToKebab Source # | |
Defined in Deriving.Aeson Methods getStringModifier :: String -> String Source # | |
StringModifier CamelToSnake Source # | |
Defined in Deriving.Aeson Methods getStringModifier :: String -> String Source # | |
(StringModifier a, StringModifier b) => StringModifier ((a, b) :: Type) Source # | |
Defined in Deriving.Aeson Methods getStringModifier :: String -> String Source # | |
KnownSymbol k => StringModifier (StripPrefix k :: Type) Source # | |
Defined in Deriving.Aeson Methods getStringModifier :: String -> String Source # |
Reexports
Instances
Instances
ToJSON Bool | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Bool -> Encoding toJSONList :: [Bool] -> Value toEncodingList :: [Bool] -> Encoding | |
ToJSON Char | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Char -> Encoding toJSONList :: [Char] -> Value toEncodingList :: [Char] -> Encoding | |
ToJSON Double | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Double -> Encoding toJSONList :: [Double] -> Value toEncodingList :: [Double] -> Encoding | |
ToJSON Float | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Float -> Encoding toJSONList :: [Float] -> Value toEncodingList :: [Float] -> Encoding | |
ToJSON Int | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON Int8 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int8 -> Encoding toJSONList :: [Int8] -> Value toEncodingList :: [Int8] -> Encoding | |
ToJSON Int16 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int16 -> Encoding toJSONList :: [Int16] -> Value toEncodingList :: [Int16] -> Encoding | |
ToJSON Int32 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int32 -> Encoding toJSONList :: [Int32] -> Value toEncodingList :: [Int32] -> Encoding | |
ToJSON Int64 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Int64 -> Encoding toJSONList :: [Int64] -> Value toEncodingList :: [Int64] -> Encoding | |
ToJSON Integer | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Integer -> Encoding toJSONList :: [Integer] -> Value toEncodingList :: [Integer] -> Encoding | |
ToJSON Natural | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Natural -> Encoding toJSONList :: [Natural] -> Value toEncodingList :: [Natural] -> Encoding | |
ToJSON Ordering | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Ordering -> Encoding toJSONList :: [Ordering] -> Value toEncodingList :: [Ordering] -> Encoding | |
ToJSON Word | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word -> Encoding toJSONList :: [Word] -> Value toEncodingList :: [Word] -> Encoding | |
ToJSON Word8 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word8 -> Encoding toJSONList :: [Word8] -> Value toEncodingList :: [Word8] -> Encoding | |
ToJSON Word16 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word16 -> Encoding toJSONList :: [Word16] -> Value toEncodingList :: [Word16] -> Encoding | |
ToJSON Word32 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word32 -> Encoding toJSONList :: [Word32] -> Value toEncodingList :: [Word32] -> Encoding | |
ToJSON Word64 | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Word64 -> Encoding toJSONList :: [Word64] -> Value toEncodingList :: [Word64] -> Encoding | |
ToJSON () | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: () -> Value toEncoding :: () -> Encoding toJSONList :: [()] -> Value toEncodingList :: [()] -> Encoding | |
ToJSON Void | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Void -> Encoding toJSONList :: [Void] -> Value toEncodingList :: [Void] -> Encoding | |
ToJSON Version | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Version -> Encoding toJSONList :: [Version] -> Value toEncodingList :: [Version] -> Encoding | |
ToJSON CTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: CTime -> Encoding toJSONList :: [CTime] -> Value toEncodingList :: [CTime] -> Encoding | |
ToJSON IntSet | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: IntSet -> Encoding toJSONList :: [IntSet] -> Value toEncodingList :: [IntSet] -> Encoding | |
ToJSON Text | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Text -> Encoding toJSONList :: [Text] -> Value toEncodingList :: [Text] -> Encoding | |
ToJSON Text | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Text -> Encoding toJSONList :: [Text] -> Value toEncodingList :: [Text] -> Encoding | |
ToJSON ZonedTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: ZonedTime -> Encoding toJSONList :: [ZonedTime] -> Value toEncodingList :: [ZonedTime] -> Encoding | |
ToJSON LocalTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: LocalTime -> Encoding toJSONList :: [LocalTime] -> Value toEncodingList :: [LocalTime] -> Encoding | |
ToJSON TimeOfDay | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: TimeOfDay -> Encoding toJSONList :: [TimeOfDay] -> Value toEncodingList :: [TimeOfDay] -> Encoding | |
ToJSON CalendarDiffTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: CalendarDiffTime -> Value toEncoding :: CalendarDiffTime -> Encoding toJSONList :: [CalendarDiffTime] -> Value toEncodingList :: [CalendarDiffTime] -> Encoding | |
ToJSON UTCTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: UTCTime -> Encoding toJSONList :: [UTCTime] -> Value toEncodingList :: [UTCTime] -> Encoding | |
ToJSON SystemTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: SystemTime -> Value toEncoding :: SystemTime -> Encoding toJSONList :: [SystemTime] -> Value toEncodingList :: [SystemTime] -> Encoding | |
ToJSON NominalDiffTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: NominalDiffTime -> Value toEncoding :: NominalDiffTime -> Encoding toJSONList :: [NominalDiffTime] -> Value toEncodingList :: [NominalDiffTime] -> Encoding | |
ToJSON DiffTime | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: DiffTime -> Encoding toJSONList :: [DiffTime] -> Value toEncodingList :: [DiffTime] -> Encoding | |
ToJSON DayOfWeek | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: DayOfWeek -> Encoding toJSONList :: [DayOfWeek] -> Value toEncodingList :: [DayOfWeek] -> Encoding | |
ToJSON Day | |
Defined in Data.Aeson.Types.ToJSON | |
ToJSON CalendarDiffDays | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: CalendarDiffDays -> Value toEncoding :: CalendarDiffDays -> Encoding toJSONList :: [CalendarDiffDays] -> Value toEncodingList :: [CalendarDiffDays] -> Encoding | |
ToJSON DotNetTime | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: DotNetTime -> Value toEncoding :: DotNetTime -> Encoding toJSONList :: [DotNetTime] -> Value toEncodingList :: [DotNetTime] -> Encoding | |
ToJSON Value | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Value -> Value toEncoding :: Value -> Encoding toJSONList :: [Value] -> Value toEncodingList :: [Value] -> Encoding | |
ToJSON Number | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Number -> Value toEncoding :: Number -> Encoding toJSONList :: [Number] -> Value toEncodingList :: [Number] -> Encoding | |
ToJSON Scientific | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Scientific -> Value toEncoding :: Scientific -> Encoding toJSONList :: [Scientific] -> Value toEncodingList :: [Scientific] -> Encoding | |
ToJSON UUID | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: UUID -> Value toEncoding :: UUID -> Encoding toJSONList :: [UUID] -> Value toEncodingList :: [UUID] -> Encoding | |
ToJSON a => ToJSON [a] | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: [a] -> Value toEncoding :: [a] -> Encoding toJSONList :: [[a]] -> Value toEncodingList :: [[a]] -> Encoding | |
ToJSON a => ToJSON (Maybe a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Maybe a -> Encoding toJSONList :: [Maybe a] -> Value toEncodingList :: [Maybe a] -> Encoding | |
(ToJSON a, Integral a) => ToJSON (Ratio a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Ratio a -> Encoding toJSONList :: [Ratio a] -> Value toEncodingList :: [Ratio a] -> Encoding | |
HasResolution a => ToJSON (Fixed a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Fixed a -> Encoding toJSONList :: [Fixed a] -> Value toEncodingList :: [Fixed a] -> Encoding | |
ToJSON a => ToJSON (Min a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Min a -> Encoding toJSONList :: [Min a] -> Value toEncodingList :: [Min a] -> Encoding | |
ToJSON a => ToJSON (Max a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Max a -> Encoding toJSONList :: [Max a] -> Value toEncodingList :: [Max a] -> Encoding | |
ToJSON a => ToJSON (First a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: First a -> Encoding toJSONList :: [First a] -> Value toEncodingList :: [First a] -> Encoding | |
ToJSON a => ToJSON (Last a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Last a -> Encoding toJSONList :: [Last a] -> Value toEncodingList :: [Last a] -> Encoding | |
ToJSON a => ToJSON (WrappedMonoid a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: WrappedMonoid a -> Value toEncoding :: WrappedMonoid a -> Encoding toJSONList :: [WrappedMonoid a] -> Value toEncodingList :: [WrappedMonoid a] -> Encoding | |
ToJSON a => ToJSON (Option a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Option a -> Encoding toJSONList :: [Option a] -> Value toEncodingList :: [Option a] -> Encoding | |
ToJSON a => ToJSON (Identity a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Identity a -> Encoding toJSONList :: [Identity a] -> Value toEncodingList :: [Identity a] -> Encoding | |
ToJSON a => ToJSON (First a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: First a -> Encoding toJSONList :: [First a] -> Value toEncodingList :: [First a] -> Encoding | |
ToJSON a => ToJSON (Last a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Last a -> Encoding toJSONList :: [Last a] -> Value toEncodingList :: [Last a] -> Encoding | |
ToJSON a => ToJSON (Dual a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Dual a -> Encoding toJSONList :: [Dual a] -> Value toEncodingList :: [Dual a] -> Encoding | |
ToJSON a => ToJSON (NonEmpty a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: NonEmpty a -> Encoding toJSONList :: [NonEmpty a] -> Value toEncodingList :: [NonEmpty a] -> Encoding | |
ToJSON a => ToJSON (IntMap a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: IntMap a -> Encoding toJSONList :: [IntMap a] -> Value toEncodingList :: [IntMap a] -> Encoding | |
ToJSON v => ToJSON (Tree v) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Tree v -> Encoding toJSONList :: [Tree v] -> Value toEncodingList :: [Tree v] -> Encoding | |
ToJSON a => ToJSON (Seq a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Seq a -> Encoding toJSONList :: [Seq a] -> Value toEncodingList :: [Seq a] -> Encoding | |
ToJSON a => ToJSON (Set a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Set a -> Encoding toJSONList :: [Set a] -> Value toEncodingList :: [Set a] -> Encoding | |
(Vector Vector a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Vector a -> Value toEncoding :: Vector a -> Encoding toJSONList :: [Vector a] -> Value toEncodingList :: [Vector a] -> Encoding | |
ToJSON a => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Vector a -> Value toEncoding :: Vector a -> Encoding toJSONList :: [Vector a] -> Value toEncodingList :: [Vector a] -> Encoding | |
ToJSON a => ToJSON (DList a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: DList a -> Value toEncoding :: DList a -> Encoding toJSONList :: [DList a] -> Value toEncodingList :: [DList a] -> Encoding | |
ToJSON a => ToJSON (HashSet a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: HashSet a -> Value toEncoding :: HashSet a -> Encoding toJSONList :: [HashSet a] -> Value toEncodingList :: [HashSet a] -> Encoding | |
ToJSON a => ToJSON (Array a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Array a -> Value toEncoding :: Array a -> Encoding toJSONList :: [Array a] -> Value toEncodingList :: [Array a] -> Encoding | |
(Prim a, ToJSON a) => ToJSON (PrimArray a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: PrimArray a -> Value toEncoding :: PrimArray a -> Encoding toJSONList :: [PrimArray a] -> Value toEncodingList :: [PrimArray a] -> Encoding | |
ToJSON a => ToJSON (SmallArray a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: SmallArray a -> Value toEncoding :: SmallArray a -> Encoding toJSONList :: [SmallArray a] -> Value toEncodingList :: [SmallArray a] -> Encoding | |
(Prim a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Vector a -> Value toEncoding :: Vector a -> Encoding toJSONList :: [Vector a] -> Value toEncodingList :: [Vector a] -> Encoding | |
(Storable a, ToJSON a) => ToJSON (Vector a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Vector a -> Value toEncoding :: Vector a -> Encoding toJSONList :: [Vector a] -> Value toEncodingList :: [Vector a] -> Encoding | |
(ToJSON a, ToJSON b) => ToJSON (Either a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Either a b -> Encoding toJSONList :: [Either a b] -> Value toEncodingList :: [Either a b] -> Encoding | |
(ToJSON a, ToJSON b) => ToJSON (a, b) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b) -> Value toEncoding :: (a, b) -> Encoding toJSONList :: [(a, b)] -> Value toEncodingList :: [(a, b)] -> Encoding | |
ToJSON (Proxy a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Proxy a -> Encoding toJSONList :: [Proxy a] -> Value toEncodingList :: [Proxy a] -> Encoding | |
(ToJSON v, ToJSONKey k) => ToJSON (Map k v) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Map k v -> Encoding toJSONList :: [Map k v] -> Value toEncodingList :: [Map k v] -> Encoding | |
(ToJSON v, ToJSONKey k) => ToJSON (HashMap k v) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: HashMap k v -> Value toEncoding :: HashMap k v -> Encoding toJSONList :: [HashMap k v] -> Value toEncodingList :: [HashMap k v] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c) => ToJSON (a, b, c) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c) -> Value toEncoding :: (a, b, c) -> Encoding toJSONList :: [(a, b, c)] -> Value toEncodingList :: [(a, b, c)] -> Encoding | |
ToJSON a => ToJSON (Const a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Const a b -> Encoding toJSONList :: [Const a b] -> Value toEncodingList :: [Const a b] -> Encoding | |
(AesonOptions t, Generic a, GToJSON Zero (Rep a)) => ToJSON (CustomJSON t a) Source # | |
Defined in Deriving.Aeson Methods toJSON :: CustomJSON t a -> Value toEncoding :: CustomJSON t a -> Encoding toJSONList :: [CustomJSON t a] -> Value toEncodingList :: [CustomJSON t a] -> Encoding | |
ToJSON b => ToJSON (Tagged a b) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Tagged a b -> Value toEncoding :: Tagged a b -> Encoding toJSONList :: [Tagged a b] -> Value toEncodingList :: [Tagged a b] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d) => ToJSON (a, b, c, d) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d) -> Value toEncoding :: (a, b, c, d) -> Encoding toJSONList :: [(a, b, c, d)] -> Value toEncodingList :: [(a, b, c, d)] -> Encoding | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Product f g a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Product f g a -> Value toEncoding :: Product f g a -> Encoding toJSONList :: [Product f g a] -> Value toEncodingList :: [Product f g a] -> Encoding | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Sum f g a) | |
Defined in Data.Aeson.Types.ToJSON Methods toEncoding :: Sum f g a -> Encoding toJSONList :: [Sum f g a] -> Value toEncodingList :: [Sum f g a] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e) => ToJSON (a, b, c, d, e) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e) -> Value toEncoding :: (a, b, c, d, e) -> Encoding toJSONList :: [(a, b, c, d, e)] -> Value toEncodingList :: [(a, b, c, d, e)] -> Encoding | |
(ToJSON1 f, ToJSON1 g, ToJSON a) => ToJSON (Compose f g a) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: Compose f g a -> Value toEncoding :: Compose f g a -> Encoding toJSONList :: [Compose f g a] -> Value toEncodingList :: [Compose f g a] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f) => ToJSON (a, b, c, d, e, f) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f) -> Value toEncoding :: (a, b, c, d, e, f) -> Encoding toJSONList :: [(a, b, c, d, e, f)] -> Value toEncodingList :: [(a, b, c, d, e, f)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g) => ToJSON (a, b, c, d, e, f, g) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g) -> Value toEncoding :: (a, b, c, d, e, f, g) -> Encoding toJSONList :: [(a, b, c, d, e, f, g)] -> Value toEncodingList :: [(a, b, c, d, e, f, g)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h) => ToJSON (a, b, c, d, e, f, g, h) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h) -> Value toEncoding :: (a, b, c, d, e, f, g, h) -> Encoding toJSONList :: [(a, b, c, d, e, f, g, h)] -> Value toEncodingList :: [(a, b, c, d, e, f, g, h)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i) => ToJSON (a, b, c, d, e, f, g, h, i) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i) -> Value toEncoding :: (a, b, c, d, e, f, g, h, i) -> Encoding toJSONList :: [(a, b, c, d, e, f, g, h, i)] -> Value toEncodingList :: [(a, b, c, d, e, f, g, h, i)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j) => ToJSON (a, b, c, d, e, f, g, h, i, j) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j) -> Value toEncoding :: (a, b, c, d, e, f, g, h, i, j) -> Encoding toJSONList :: [(a, b, c, d, e, f, g, h, i, j)] -> Value toEncodingList :: [(a, b, c, d, e, f, g, h, i, j)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k) => ToJSON (a, b, c, d, e, f, g, h, i, j, k) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k) -> Value toEncoding :: (a, b, c, d, e, f, g, h, i, j, k) -> Encoding toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k)] -> Value toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Value toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l) -> Encoding toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l)] -> Value toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Value toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Encoding toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m)] -> Value toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m, ToJSON n) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Value toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Encoding toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] -> Value toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n)] -> Encoding | |
(ToJSON a, ToJSON b, ToJSON c, ToJSON d, ToJSON e, ToJSON f, ToJSON g, ToJSON h, ToJSON i, ToJSON j, ToJSON k, ToJSON l, ToJSON m, ToJSON n, ToJSON o) => ToJSON (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) | |
Defined in Data.Aeson.Types.ToJSON Methods toJSON :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Value toEncoding :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Encoding toJSONList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] -> Value toEncodingList :: [(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)] -> Encoding |
Representable types of kind *
.
This class is derivable in GHC with the DeriveGeneric
flag on.
A Generic
instance must satisfy the following laws:
from
.to
≡id
to
.from
≡id
Instances
Generic Bool | Since: base-4.6.0.0 |
Generic Ordering | Since: base-4.6.0.0 |
Generic () | Since: base-4.6.0.0 |
Generic ExitCode | |
Generic Fixity | Since: base-4.7.0.0 |
Generic Associativity | Since: base-4.7.0.0 |
Defined in GHC.Generics Associated Types type Rep Associativity :: Type -> Type # | |
Generic SourceUnpackedness | Since: base-4.9.0.0 |
Defined in GHC.Generics Associated Types type Rep SourceUnpackedness :: Type -> Type # Methods from :: SourceUnpackedness -> Rep SourceUnpackedness x # to :: Rep SourceUnpackedness x -> SourceUnpackedness # | |
Generic SourceStrictness | Since: base-4.9.0.0 |
Defined in GHC.Generics Associated Types type Rep SourceStrictness :: Type -> Type # Methods from :: SourceStrictness -> Rep SourceStrictness x # to :: Rep SourceStrictness x -> SourceStrictness # | |
Generic DecidedStrictness | Since: base-4.9.0.0 |
Defined in GHC.Generics Associated Types type Rep DecidedStrictness :: Type -> Type # Methods from :: DecidedStrictness -> Rep DecidedStrictness x # to :: Rep DecidedStrictness x -> DecidedStrictness # | |
Generic Value | |
Generic [a] | Since: base-4.6.0.0 |
Generic (Maybe a) | Since: base-4.6.0.0 |
Generic (Par1 p) | Since: base-4.7.0.0 |
Generic (Down a) | Since: base-4.12.0.0 |
Generic (NonEmpty a) | Since: base-4.6.0.0 |
Generic (Either a b) | Since: base-4.6.0.0 |
Generic (V1 p) | Since: base-4.9.0.0 |
Generic (U1 p) | Since: base-4.7.0.0 |
Generic (a, b) | Since: base-4.6.0.0 |
Generic (Proxy t) | Since: base-4.6.0.0 |
Generic (Rec1 f p) | Since: base-4.7.0.0 |
Generic (URec (Ptr ()) p) | Since: base-4.9.0.0 |
Generic (URec Char p) | Since: base-4.9.0.0 |
Generic (URec Double p) | Since: base-4.9.0.0 |
Generic (URec Float p) | |
Generic (URec Int p) | Since: base-4.9.0.0 |
Generic (URec Word p) | Since: base-4.9.0.0 |
Generic (a, b, c) | Since: base-4.6.0.0 |
Generic (K1 i c p) | Since: base-4.7.0.0 |
Generic ((f :+: g) p) | Since: base-4.7.0.0 |
Generic ((f :*: g) p) | Since: base-4.7.0.0 |
Generic (a, b, c, d) | Since: base-4.6.0.0 |
Generic (M1 i c f p) | Since: base-4.7.0.0 |
Generic ((f :.: g) p) | Since: base-4.7.0.0 |
Generic (a, b, c, d, e) | Since: base-4.6.0.0 |
Generic (a, b, c, d, e, f) | Since: base-4.6.0.0 |
Generic (a, b, c, d, e, f, g) | Since: base-4.6.0.0 |