quantification-aeson-0.8: Rage against the quantification - integration with Aeson
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Exists.Aeson

Synopsis

Documentation

class FromJSONForall f where Source #

Methods

parseJSONForall :: Sing a -> Value -> Parser (f a) Source #

Instances

Instances details
(FromJSON1 f, FromJSONForall g) => FromJSONForall (Compose f g :: k -> Type) Source # 
Instance details

Defined in Data.Exists.Aeson

Methods

parseJSONForall :: forall (a :: k0). Sing a -> Value -> Parser (Compose f g a) Source #

class FromJSONForeach f where Source #

Methods

parseJSONForeach :: Sing a -> Value -> Parser (f a) Source #

Instances

Instances details
FromJSON a => FromJSONForeach (Const a :: k -> Type) Source # 
Instance details

Defined in Data.Exists.Aeson

Methods

parseJSONForeach :: forall (a0 :: k0). Sing a0 -> Value -> Parser (Const a a0) Source #

FromJSONForeach f => FromJSONForeach (ApplyForeach f :: k -> Type) Source # 
Instance details

Defined in Data.Exists.Aeson

Methods

parseJSONForeach :: forall (a :: k0). Sing a -> Value -> Parser (ApplyForeach f a) Source #

(FromJSON1 f, FromJSONForeach g) => FromJSONForeach (Compose f g :: k -> Type) Source # 
Instance details

Defined in Data.Exists.Aeson

Methods

parseJSONForeach :: forall (a :: k0). Sing a -> Value -> Parser (Compose f g a) Source #

class ToJSONForall f where Source #

Methods

toJSONForall :: f a -> Value Source #

Instances

Instances details
(ToJSON1 f, ToJSONForall g) => ToJSONForall (Compose f g :: k -> Type) Source # 
Instance details

Defined in Data.Exists.Aeson

Methods

toJSONForall :: forall (a :: k0). Compose f g a -> Value Source #

class ToJSONForeach f where Source #

Methods

toJSONForeach :: Sing a -> f a -> Value Source #

Instances

Instances details
ToJSON a => ToJSONForeach (Const a :: k -> Type) Source # 
Instance details

Defined in Data.Exists.Aeson

Methods

toJSONForeach :: forall (a0 :: k0). Sing a0 -> Const a a0 -> Value Source #

ToJSONForeach f => ToJSONForeach (ApplyForeach f :: k -> Type) Source # 
Instance details

Defined in Data.Exists.Aeson

Methods

toJSONForeach :: forall (a :: k0). Sing a -> ApplyForeach f a -> Value Source #

(ToJSON1 f, ToJSONForeach g) => ToJSONForeach (Compose f g :: k -> Type) Source # 
Instance details

Defined in Data.Exists.Aeson

Methods

toJSONForeach :: forall (a :: k0). Sing a -> Compose f g a -> Value Source #

data ToJSONKeyFunctionForall f Source #

Constructors

ToJSONKeyTextForall !(forall a. f a -> Key) !(forall a. f a -> Encoding' Key) 
ToJSONKeyValueForall !(forall a. f a -> Value) !(forall a. f a -> Encoding) 

data FromJSONKeyFunctionForeach f Source #

Constructors

FromJSONKeyTextParserForeach !(forall a. Sing a -> Key -> Parser (f a)) 
FromJSONKeyValueForeach !(forall a. Sing a -> Value -> Parser (f a)) 

class ToJSONSing k where Source #

Methods

toJSONSing :: forall (a :: k). Sing a -> Value Source #

class FromJSONSing k where Source #

Methods

parseJSONSing :: Value -> Parser (Exists (Sing :: k -> Type)) Source #

parseJSONMapForeachKey :: forall k (f :: k -> Type) (a :: k) v. (FromJSONKeyForeach f, OrdForeach f, Unreify k) => (Value -> Parser v) -> Sing a -> Value -> Parser (Map (f a) v) Source #

Parse a Map whose key type is higher-kinded. This only creates a valid Map if the OrdForeach instance agrees with the Ord instance.

Orphan instances

FromJSONExists f => FromJSON (Exists f) Source # 
Instance details

(FromJSONForeach f, FromJSONSing k) => FromJSON (Some f) Source # 
Instance details

(FromJSONKeyExists f, FromJSONExists f) => FromJSONKey (Exists f) Source # 
Instance details

ToJSONForall f => ToJSON (Exists f) Source # 
Instance details

(ToJSONForeach f, ToJSONSing k) => ToJSON (Some f) Source # 
Instance details

(ToJSONKeyForall f, ToJSONForall f) => ToJSONKey (Exists f) Source # 
Instance details

(FromJSONForeach f, Reify a) => FromJSON (ApplyForeach f a) Source # 
Instance details

(FromJSONKeyForeach f, Reify a) => FromJSONKey (ApplyForeach f a) Source # 
Instance details

(ToJSONForeach f, Reify a) => ToJSON (ApplyForeach f a) Source # 
Instance details

(ToJSONKeyForeach f, Reify a) => ToJSONKey (ApplyForeach f a) Source # 
Instance details