| 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
instanceHyperViewTodos es where dataActionTodos = 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) =>Pagees '[Message] page = do prm <-lookupParam"msg" let msg = fromMaybe "hello" prm pure $ dohyperMessage $ messageView msg
deleteParam :: Hyperbole :> es => Param -> Eff es () Source #
Delete a single parameter from the query string