hyperbole
Safe HaskellNone
LanguageGHC2021

Web.Hyperbole.HyperView.Hyper

Synopsis

Documentation

hyper :: (HyperViewHandled id ctx, ViewId id, ViewState id ~ (), ConcurrencyValue (Concurrency id)) => id -> View id () -> View ctx () Source #

Embed a HyperView into a page or another View

page :: Page es '[Message]
page = do
  pure $ do
    el "Unchanging Header"
    hyper Message1 $ messageView "Hello"
    hyper Message2 $ messageView "World"

hyperState :: (HyperViewHandled id ctx, ViewId id, ToJSON (ViewState id), ConcurrencyValue (Concurrency id)) => id -> ViewState id -> View id () -> View ctx () Source #

Embed a HyperView into a page or another View with a starting ViewState

page :: (Hyperbole :> es) => Page es '[Counter]
page = do
  pure $ do
    hyperState CounterState 10 viewCount

hyperUnsafe :: (ViewId id, ViewState id ~ ViewState id, ToJSON (ViewState id), ConcurrencyValue (Concurrency id)) => id -> ViewState id -> View id () -> View ctx () Source #