web-rep-0.1.2: representations of a web pag

Safe HaskellNone
LanguageHaskell2010

Web.Page.Rep

Synopsis

Documentation

data Element Source #

Abstracted message event elements

Constructors

Element 

Fields

Instances
Eq Element Source # 
Instance details

Defined in Web.Page.Rep

Methods

(==) :: Element -> Element -> Bool #

(/=) :: Element -> Element -> Bool #

Show Element Source # 
Instance details

Defined in Web.Page.Rep

Generic Element Source # 
Instance details

Defined in Web.Page.Rep

Associated Types

type Rep Element :: Type -> Type #

Methods

from :: Element -> Rep Element x #

to :: Rep Element x -> Element #

ToJSON Element Source # 
Instance details

Defined in Web.Page.Rep

FromJSON Element Source # 
Instance details

Defined in Web.Page.Rep

type Rep Element Source # 
Instance details

Defined in Web.Page.Rep

type Rep Element = D1 (MetaData "Element" "Web.Page.Rep" "web-rep-0.1.2-DZZ9ljrqQSJ9eWvBqn9RmN" False) (C1 (MetaCons "Element" PrefixI True) (S1 (MetaSel (Just "element") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "value") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data RepF r a Source #

Constructors

Rep 

Fields

Instances
Bifunctor RepF Source # 
Instance details

Defined in Web.Page.Rep

Methods

bimap :: (a -> b) -> (c -> d) -> RepF a c -> RepF b d #

first :: (a -> b) -> RepF a c -> RepF b c #

second :: (b -> c) -> RepF a b -> RepF a c #

Biapplicative RepF Source # 
Instance details

Defined in Web.Page.Rep

Methods

bipure :: a -> b -> RepF a b #

(<<*>>) :: RepF (a -> b) (c -> d) -> RepF a c -> RepF b d #

biliftA2 :: (a -> b -> c) -> (d -> e -> f) -> RepF a d -> RepF b e -> RepF c f #

(*>>) :: RepF a b -> RepF c d -> RepF c d #

(<<*) :: RepF a b -> RepF c d -> RepF a b #

Functor (RepF r) Source # 
Instance details

Defined in Web.Page.Rep

Methods

fmap :: (a -> b) -> RepF r a -> RepF r b #

(<$) :: a -> RepF r b -> RepF r a #

Monoid r => Applicative (RepF r) Source # 
Instance details

Defined in Web.Page.Rep

Methods

pure :: a -> RepF r a #

(<*>) :: RepF r (a -> b) -> RepF r a -> RepF r b #

liftA2 :: (a -> b -> c) -> RepF r a -> RepF r b -> RepF r c #

(*>) :: RepF r a -> RepF r b -> RepF r b #

(<*) :: RepF r a -> RepF r b -> RepF r a #

Semigroup r => Semigroup (RepF r a) Source # 
Instance details

Defined in Web.Page.Rep

Methods

(<>) :: RepF r a -> RepF r a -> RepF r a #

sconcat :: NonEmpty (RepF r a) -> RepF r a #

stimes :: Integral b => b -> RepF r a -> RepF r a #

(Monoid a, Monoid r) => Monoid (RepF r a) Source # 
Instance details

Defined in Web.Page.Rep

Methods

mempty :: RepF r a #

mappend :: RepF r a -> RepF r a -> RepF r a #

mconcat :: [RepF r a] -> RepF r a #

type Rep a = RepF (Html ()) a Source #

oneRep :: (Monad m, MonadIO m) => Rep a -> (Rep a -> HashMap Text Text -> m ()) -> StateT (HashMap Text Text) m (HashMap Text Text, Either Text a) Source #

newtype SharedRepF m r a Source #

Constructors

SharedRep 

Fields

Instances
Functor m => Bifunctor (SharedRepF m) Source # 
Instance details

Defined in Web.Page.Rep

Methods

bimap :: (a -> b) -> (c -> d) -> SharedRepF m a c -> SharedRepF m b d #

first :: (a -> b) -> SharedRepF m a c -> SharedRepF m b c #

second :: (b -> c) -> SharedRepF m a b -> SharedRepF m a c #

Monad m => Biapplicative (SharedRepF m) Source # 
Instance details

Defined in Web.Page.Rep

Methods

bipure :: a -> b -> SharedRepF m a b #

(<<*>>) :: SharedRepF m (a -> b) (c -> d) -> SharedRepF m a c -> SharedRepF m b d #

biliftA2 :: (a -> b -> c) -> (d -> e -> f) -> SharedRepF m a d -> SharedRepF m b e -> SharedRepF m c f #

(*>>) :: SharedRepF m a b -> SharedRepF m c d -> SharedRepF m c d #

(<<*) :: SharedRepF m a b -> SharedRepF m c d -> SharedRepF m a b #

Functor m => Functor (SharedRepF m r) Source # 
Instance details

Defined in Web.Page.Rep

Methods

fmap :: (a -> b) -> SharedRepF m r a -> SharedRepF m r b #

(<$) :: a -> SharedRepF m r b -> SharedRepF m r a #

(Monad m, Monoid r) => Applicative (SharedRepF m r) Source # 
Instance details

Defined in Web.Page.Rep

Methods

pure :: a -> SharedRepF m r a #

(<*>) :: SharedRepF m r (a -> b) -> SharedRepF m r a -> SharedRepF m r b #

liftA2 :: (a -> b -> c) -> SharedRepF m r a -> SharedRepF m r b -> SharedRepF m r c #

(*>) :: SharedRepF m r a -> SharedRepF m r b -> SharedRepF m r b #

(<*) :: SharedRepF m r a -> SharedRepF m r b -> SharedRepF m r a #

type SharedRep m a = SharedRepF m (Html ()) a Source #

runOnce :: Monad m => SharedRep m a -> (Html () -> HashMap Text Text -> m ()) -> m (HashMap Text Text, Either Text a) Source #

listify :: Monad m => (Text -> a -> SharedRep m a) -> [Text] -> [a] -> SharedRep m [a] Source #

accordionListify :: Monad m => Maybe Text -> Text -> Maybe Text -> (Text -> a -> SharedRep m a) -> [Text] -> [a] -> SharedRep m [a] Source #

accordionListifyMaybe :: Monad m => Maybe Text -> Text -> (a -> SharedRep m a) -> (Bool -> SharedRep m Bool) -> [Text] -> [(Bool, a)] -> SharedRep m [(Bool, a)] Source #

listifyDefault :: Monad m => Maybe Text -> Text -> (Text -> a -> SharedRep m a) -> [a] -> SharedRep m [a] Source #

listifyMaybe :: Monad m => Maybe Text -> Text -> (Text -> Maybe a -> SharedRep m (Maybe a)) -> Int -> [a] -> SharedRep m [Maybe a] Source #

listifyMaybe' :: Monad m => Maybe Text -> Text -> (Bool -> SharedRep m Bool) -> (a -> SharedRep m a) -> Int -> a -> [a] -> SharedRep m [a] Source #

valueModel :: (FromJSON a, MonadState s m) => (a -> s -> s) -> Stream (Of Value) m () -> Stream (Of (Either Text s)) m () Source #

valueConsume :: s -> (Element -> s -> s) -> Cont IO (Committer IO (Either Text s)) -> Cont_ IO Value -> IO s Source #

consume an Element using a Committer and a Value continuation

sharedModel :: (FromJSON a, MonadState s m) => (s -> (s, Either Text b)) -> (a -> s -> s) -> Stream (Of Value) m () -> Stream (Of (Either Text (s, Either Text b))) m () Source #

sharedConsume :: (s -> (s, Either Text b)) -> s -> (Element -> s -> s) -> Cont IO (Committer IO (Either Text (s, Either Text b))) -> Cont_ IO Value -> IO s Source #