smash-aeson-0.2.0.1: Aeson support for the smash library
Copyright(c) 2020-2022 Emily Pillmore
LicenseBSD-3-Clause
MaintainerEmily Pillmore <emilypi@cohomolo.gy>
StabilityExperimental
PortabilityCPP
Safe HaskellNone
LanguageHaskell2010

Data.Can.Aeson

Description

This module contains the Aeson instances for the Can datatype.

Orphan instances

ToJSON2 Can Source # 
Instance details

Methods

liftToJSON2 :: (a -> Value) -> ([a] -> Value) -> (b -> Value) -> ([b] -> Value) -> Can a b -> Value #

liftToJSONList2 :: (a -> Value) -> ([a] -> Value) -> (b -> Value) -> ([b] -> Value) -> [Can a b] -> Value #

liftToEncoding2 :: (a -> Encoding) -> ([a] -> Encoding) -> (b -> Encoding) -> ([b] -> Encoding) -> Can a b -> Encoding #

liftToEncodingList2 :: (a -> Encoding) -> ([a] -> Encoding) -> (b -> Encoding) -> ([b] -> Encoding) -> [Can a b] -> Encoding #

FromJSON2 Can Source # 
Instance details

Methods

liftParseJSON2 :: (Value -> Parser a) -> (Value -> Parser [a]) -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser (Can a b) #

liftParseJSONList2 :: (Value -> Parser a) -> (Value -> Parser [a]) -> (Value -> Parser b) -> (Value -> Parser [b]) -> Value -> Parser [Can a b] #

ToJSON a => ToJSON1 (Can a) Source # 
Instance details

Methods

liftToJSON :: (a0 -> Value) -> ([a0] -> Value) -> Can a a0 -> Value #

liftToJSONList :: (a0 -> Value) -> ([a0] -> Value) -> [Can a a0] -> Value #

liftToEncoding :: (a0 -> Encoding) -> ([a0] -> Encoding) -> Can a a0 -> Encoding #

liftToEncodingList :: (a0 -> Encoding) -> ([a0] -> Encoding) -> [Can a a0] -> Encoding #

FromJSON a => FromJSON1 (Can a) Source # 
Instance details

Methods

liftParseJSON :: (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser (Can a a0) #

liftParseJSONList :: (Value -> Parser a0) -> (Value -> Parser [a0]) -> Value -> Parser [Can a a0] #

(ToJSON a, ToJSON b) => ToJSON (Can a b) Source # 
Instance details

Methods

toJSON :: Can a b -> Value #

toEncoding :: Can a b -> Encoding #

toJSONList :: [Can a b] -> Value #

toEncodingList :: [Can a b] -> Encoding #

(FromJSON a, FromJSON b) => FromJSON (Can a b) Source # 
Instance details

Methods

parseJSON :: Value -> Parser (Can a b) #

parseJSONList :: Value -> Parser [Can a b] #