Safe Haskell | Safe-Inferred |
---|---|
Language | GHC2021 |
Web.Hyperbole.Effect.Query
Synopsis
- query :: (FromQuery a, Hyperbole :> es) => Eff es a
- setQuery :: (ToQuery a, Hyperbole :> es) => a -> Eff es ()
- modifyQuery :: (ToQuery a, FromQuery a, Default a, Hyperbole :> es) => (a -> a) -> Eff es a
- param :: (FromParam a, Hyperbole :> es) => Param -> Eff es a
- lookupParam :: (FromParam a, Hyperbole :> es) => Param -> Eff es (Maybe a)
- setParam :: (ToParam a, Hyperbole :> es) => Param -> a -> Eff es ()
- deleteParam :: Hyperbole :> es => Param -> Eff es ()
- queryParams :: Hyperbole :> es => Eff es QueryData
- modifyQueryData :: Hyperbole :> es => (QueryData -> QueryData) -> Eff es ()
Documentation
setQuery :: (ToQuery a, Hyperbole :> es) => a -> Eff es () Source #
Update the client's querystring to an encoded datatype. See ToQuery
instanceHyperView
Todos es where dataAction
Todos = SetSearch Text deriving (Generic,ViewAction
)update
(SetSearch term) = do let filters = Filters term setQuery filters todos <- loadTodos filters pure $ todosView todos
modifyQuery :: (ToQuery a, FromQuery a, Default a, Hyperbole :> es) => (a -> a) -> Eff es a Source #
lookupParam :: (FromParam a, Hyperbole :> es) => Param -> Eff es (Maybe a) Source #
Parse a single parameter from the query string if available
page :: (Hyperbole
:> es) =>Page
es '[Message] page = do prm <-lookupParam
"msg" let msg = fromMaybe "hello" prm pure $ dohyper
Message $ messageView msg
deleteParam :: Hyperbole :> es => Param -> Eff es () Source #
Delete a single parameter from the query string