reflex-gadt-api-0.2.2.3: Interact with a GADT API in your reflex-dom application.
Safe HaskellNone
LanguageHaskell2010

Readme

Documentation

data Dog Source #

Instances

Instances details
FromJSON Dog Source # 
Instance details

Defined in Readme

ToJSON Dog Source # 
Instance details

Defined in Readme

Generic Dog Source # 
Instance details

Defined in Readme

Associated Types

type Rep Dog 
Instance details

Defined in Readme

type Rep Dog = D1 ('MetaData "Dog" "Readme" "reflex-gadt-api-0.2.2.3-inplace" 'False) (C1 ('MetaCons "Dog" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_dog_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "_dog_sighted") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime)) :*: (S1 ('MetaSel ('Just "_dog_suspicious") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "_dog_imageUri") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))))

Methods

from :: Dog -> Rep Dog x #

to :: Rep Dog x -> Dog #

type Rep Dog Source # 
Instance details

Defined in Readme

type Rep Dog = D1 ('MetaData "Dog" "Readme" "reflex-gadt-api-0.2.2.3-inplace" 'False) (C1 ('MetaCons "Dog" 'PrefixI 'True) ((S1 ('MetaSel ('Just "_dog_name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "_dog_sighted") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UTCTime)) :*: (S1 ('MetaSel ('Just "_dog_suspicious") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "_dog_imageUri") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)))))

data DogApi a where Source #

Instances

Instances details
(c [Dog], c [Dog], c (Maybe Dog), c (Either Text ()), c [Dog]) => Has (c :: Type -> Constraint) DogApi Source # 
Instance details

Defined in Readme

Methods

has :: DogApi a -> (c a => r) -> r #

argDict :: DogApi a -> Dict (c a) #

ToJSON Text => ToJSON (DogApi a) Source # 
Instance details

Defined in Readme

FromJSON Text => FromJSON (Some DogApi) Source # 
Instance details

Defined in Readme

newtype Token Source #

Constructors

Token 

Fields

Instances

Instances details
FromJSON Token Source # 
Instance details

Defined in Readme

ToJSON Token Source # 
Instance details

Defined in Readme

Generic Token Source # 
Instance details

Defined in Readme

Associated Types

type Rep Token 
Instance details

Defined in Readme

type Rep Token = D1 ('MetaData "Token" "Readme" "reflex-gadt-api-0.2.2.3-inplace" 'True) (C1 ('MetaCons "Token" 'PrefixI 'True) (S1 ('MetaSel ('Just "unToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

Methods

from :: Token -> Rep Token x #

to :: Rep Token x -> Token #

type Rep Token Source # 
Instance details

Defined in Readme

type Rep Token = D1 ('MetaData "Token" "Readme" "reflex-gadt-api-0.2.2.3-inplace" 'True) (C1 ('MetaCons "Token" 'PrefixI 'True) (S1 ('MetaSel ('Just "unToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

data CatApi a where Source #

Constructors

CatApi_Identify :: Text -> CatApi (Either Text Token) 
CatApi_DogApi :: forall a. Token -> DogApi a -> CatApi a 

Instances

Instances details
(c (Either Text Token), Has c DogApi) => Has (c :: Type -> Constraint) CatApi Source # 
Instance details

Defined in Readme

Methods

has :: CatApi a -> (c a => r) -> r #

argDict :: CatApi a -> Dict (c a) #

ToJSON Text => ToJSON (CatApi a) Source # 
Instance details

Defined in Readme

FromJSON Text => FromJSON (Some CatApi) Source # 
Instance details

Defined in Readme

type Catnet t (m :: Type -> Type) = RequesterT t CatApi (Either Text) m Source #

requestingJs :: forall t (m :: Type -> Type) a. (Reflex t, MonadFix m, Prerender t m) => Event t (Request (Client (Catnet t m)) a) -> Catnet t m (Event t (Response (Client (Catnet t m)) a)) Source #

login :: forall t (m :: Type -> Type). (DomBuilder t m, MonadHold t m, MonadFix m, Prerender t m) => Catnet t m (Event t Token) Source #

catnet :: forall t (m :: Type -> Type). (DomBuilder t m, MonadHold t m, MonadFix m, Prerender t m) => Token -> Catnet t m (Event t ()) Source #

showDog :: DomBuilder t m => Dog -> m () Source #

dogSighting :: forall t (m :: Type -> Type). (DomBuilder t m, MonadHold t m, PostBuild t m, Prerender t m, MonadFix m) => Token -> Catnet t m (Event t (Either Text ())) Source #

main :: IO () Source #