module Web.Hyperbole.Types.Client where import Data.Text (Text) import Web.Hyperbole.Data.Cookie (Cookies) import Web.Hyperbole.Data.QueryData as QueryData import Web.Hyperbole.Types.Request data Client = Client { Client -> RequestId requestId :: RequestId , Client -> Cookies session :: Cookies , Client -> Maybe QueryData query :: Maybe QueryData , Client -> Maybe Text pageTitle :: Maybe Text } clientSetPageTitle :: Text -> Client -> Client clientSetPageTitle :: Text -> Client -> Client clientSetPageTitle Text t Client{Cookies session :: Client -> Cookies session :: Cookies session, Maybe QueryData query :: Client -> Maybe QueryData query :: Maybe QueryData query, RequestId requestId :: Client -> RequestId requestId :: RequestId requestId} = Client{pageTitle :: Maybe Text pageTitle = Text -> Maybe Text forall a. a -> Maybe a Just Text t, session :: Cookies session = Cookies session, Maybe QueryData query :: Maybe QueryData query :: Maybe QueryData query, RequestId requestId :: RequestId requestId :: RequestId requestId} clientModCookies :: (Cookies -> Cookies) -> Client -> Client clientModCookies :: (Cookies -> Cookies) -> Client -> Client clientModCookies Cookies -> Cookies f Client{Cookies session :: Client -> Cookies session :: Cookies session, Maybe QueryData query :: Client -> Maybe QueryData query :: Maybe QueryData query, RequestId requestId :: Client -> RequestId requestId :: RequestId requestId, Maybe Text pageTitle :: Client -> Maybe Text pageTitle :: Maybe Text pageTitle} = Client{session :: Cookies session = Cookies -> Cookies f Cookies session, Maybe QueryData query :: Maybe QueryData query :: Maybe QueryData query, RequestId requestId :: RequestId requestId :: RequestId requestId, Maybe Text pageTitle :: Maybe Text pageTitle :: Maybe Text pageTitle} clientSetQuery :: QueryData -> Client -> Client clientSetQuery :: QueryData -> Client -> Client clientSetQuery QueryData q Client{Cookies session :: Client -> Cookies session :: Cookies session, RequestId requestId :: Client -> RequestId requestId :: RequestId requestId, Maybe Text pageTitle :: Client -> Maybe Text pageTitle :: Maybe Text pageTitle} = Client{query :: Maybe QueryData query = QueryData -> Maybe QueryData forall a. a -> Maybe a Just QueryData q, Cookies session :: Cookies session :: Cookies session, RequestId requestId :: RequestId requestId :: RequestId requestId, Maybe Text pageTitle :: Maybe Text pageTitle :: Maybe Text pageTitle}