yesod-core-1.6.18.5: Creation of type-safe, RESTful web applications.

Safe HaskellNone
LanguageHaskell2010

Yesod.Core.Types

Synopsis

Documentation

type SaveSession Source #

Arguments

 = SessionMap

The session contents after running the handler

-> IO [Header] 

newtype SessionBackend Source #

Constructors

SessionBackend 

Fields

data YesodRequest Source #

The parsed request information. This type augments the standard WAI Request with additional information.

Constructors

YesodRequest 

Fields

data YesodResponse Source #

An augmented WAI Response. This can either be a standard Response, or a higher-level data structure which Yesod will turn into a Response.

type RequestBodyContents = ([(Text, Text)], [(Text, FileInfo)]) Source #

A tuple containing both the POST parameters and submitted files.

data FileInfo Source #

Constructors

FileInfo 

data Approot master Source #

How to determine the root of the application for constructing URLs.

Note that future versions of Yesod may add new constructors without bumping the major version number. As a result, you should not pattern match on Approot values.

Constructors

ApprootRelative

No application root.

ApprootStatic !Text 
ApprootMaster !(master -> Text) 
ApprootRequest !(master -> Request -> Text) 

type BottomOfHeadAsync master Source #

Arguments

 = [Text]

urls to load asynchronously

-> Maybe (HtmlUrl (Route master))

widget of js to run on async completion

-> HtmlUrl (Route master)

widget to insert at the bottom of head

type Texts = [Text] Source #

newtype WaiSubsite Source #

Wrap up a normal WAI application as a Yesod subsite. Ignore parent site's middleware and isAuthorized.

Constructors

WaiSubsite 
Instances
ParseRoute WaiSubsite Source # 
Instance details

Defined in Yesod.Core.Types

Methods

parseRoute :: ([Text], [(Text, Text)]) -> Maybe (Route WaiSubsite) Source #

RenderRoute WaiSubsite Source # 
Instance details

Defined in Yesod.Core.Types

Associated Types

data Route WaiSubsite :: Type Source #

Methods

renderRoute :: Route WaiSubsite -> ([Text], [(Text, Text)]) Source #

YesodSubDispatch WaiSubsite master Source # 
Instance details

Defined in Yesod.Core.Class.Dispatch

Eq (Route WaiSubsite) Source # 
Instance details

Defined in Yesod.Core.Types

Ord (Route WaiSubsite) Source # 
Instance details

Defined in Yesod.Core.Types

Read (Route WaiSubsite) Source # 
Instance details

Defined in Yesod.Core.Types

Show (Route WaiSubsite) Source # 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsite Source # 
Instance details

Defined in Yesod.Core.Types

newtype WaiSubsiteWithAuth Source #

Like WaiSubsite, but applies parent site's middleware and isAuthorized.

Since: 1.4.34

Instances
ParseRoute WaiSubsiteWithAuth Source # 
Instance details

Defined in Yesod.Core.Types

RenderRoute WaiSubsiteWithAuth Source # 
Instance details

Defined in Yesod.Core.Types

Associated Types

data Route WaiSubsiteWithAuth :: Type Source #

YesodSubDispatch WaiSubsiteWithAuth master Source # 
Instance details

Defined in Yesod.Core.Class.Dispatch

Eq (Route WaiSubsiteWithAuth) Source # 
Instance details

Defined in Yesod.Core.Types

Ord (Route WaiSubsiteWithAuth) Source # 
Instance details

Defined in Yesod.Core.Types

Read (Route WaiSubsiteWithAuth) Source # 
Instance details

Defined in Yesod.Core.Types

Show (Route WaiSubsiteWithAuth) Source # 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsiteWithAuth Source # 
Instance details

Defined in Yesod.Core.Types

data RunHandlerEnv child site Source #

Constructors

RunHandlerEnv 

Fields

data HandlerData child site Source #

Instances
MonadReader (HandlerData site site) (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: HandlerFor site (HandlerData site site) #

local :: (HandlerData site site -> HandlerData site site) -> HandlerFor site a -> HandlerFor site a #

reader :: (HandlerData site site -> a) -> HandlerFor site a #

MonadReader (HandlerData child master) (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: SubHandlerFor child master (HandlerData child master) #

local :: (HandlerData child master -> HandlerData child master) -> SubHandlerFor child master a -> SubHandlerFor child master a #

reader :: (HandlerData child master -> a) -> SubHandlerFor child master a #

data YesodRunnerEnv site Source #

Constructors

YesodRunnerEnv 

Fields

data YesodSubRunnerEnv sub parent Source #

Constructors

YesodSubRunnerEnv 

Fields

type ParentRunner parent = HandlerFor parent TypedContent -> YesodRunnerEnv parent -> Maybe (Route parent) -> Application Source #

newtype HandlerFor site a Source #

A generic handler monad, which can have a different subsite and master site. We define a newtype for better error message.

Constructors

HandlerFor 

Fields

Instances
Monad (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(>>=) :: HandlerFor site a -> (a -> HandlerFor site b) -> HandlerFor site b #

(>>) :: HandlerFor site a -> HandlerFor site b -> HandlerFor site b #

return :: a -> HandlerFor site a #

fail :: String -> HandlerFor site a #

Functor (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

fmap :: (a -> b) -> HandlerFor site a -> HandlerFor site b #

(<$) :: a -> HandlerFor site b -> HandlerFor site a #

Applicative (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

pure :: a -> HandlerFor site a #

(<*>) :: HandlerFor site (a -> b) -> HandlerFor site a -> HandlerFor site b #

liftA2 :: (a -> b -> c) -> HandlerFor site a -> HandlerFor site b -> HandlerFor site c #

(*>) :: HandlerFor site a -> HandlerFor site b -> HandlerFor site b #

(<*) :: HandlerFor site a -> HandlerFor site b -> HandlerFor site a #

MonadIO (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> HandlerFor site a #

MonadUnliftIO (HandlerFor site) Source #

Since: 1.4.38

Instance details

Defined in Yesod.Core.Types

Methods

withRunInIO :: ((forall a. HandlerFor site a -> IO a) -> IO b) -> HandlerFor site b #

MonadResource (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftResourceT :: ResourceT IO a -> HandlerFor site a #

PrimMonad (HandlerFor site) Source #

Since: 1.6.7

Instance details

Defined in Yesod.Core.Types

Associated Types

type PrimState (HandlerFor site) :: Type #

Methods

primitive :: (State# (PrimState (HandlerFor site)) -> (#State# (PrimState (HandlerFor site)), a#)) -> HandlerFor site a #

MonadThrow (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

throwM :: Exception e => e -> HandlerFor site a #

MonadLogger (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> HandlerFor site () #

MonadLoggerIO (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

askLoggerIO :: HandlerFor site (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) #

MonadHandler (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

Associated Types

type HandlerSite (HandlerFor site) :: Type Source #

type SubHandlerSite (HandlerFor site) :: Type Source #

MonadReader (HandlerData site site) (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: HandlerFor site (HandlerData site site) #

local :: (HandlerData site site -> HandlerData site site) -> HandlerFor site a -> HandlerFor site a #

reader :: (HandlerData site site -> a) -> HandlerFor site a #

type PrimState (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

type HandlerSite (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (HandlerFor site) = site
type SubHandlerSite (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (HandlerFor site) = site

data GHState Source #

Constructors

GHState 

Fields

type YesodApp = YesodRequest -> ResourceT IO YesodResponse Source #

An extension of the basic WAI Application datatype to provide extra features needed by Yesod. Users should never need to use this directly, as the HandlerT monad and template haskell code should hide it away.

newtype WidgetFor site a Source #

A generic widget, allowing specification of both the subsite and master site datatypes. While this is simply a WriterT, we define a newtype for better error messages.

Constructors

WidgetFor 

Fields

Instances
(site' ~ site, a ~ ()) => ToWidget site' (WidgetFor site a) Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidget :: (MonadWidget m, HandlerSite m ~ site') => WidgetFor site a -> m () Source #

Monad (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(>>=) :: WidgetFor site a -> (a -> WidgetFor site b) -> WidgetFor site b #

(>>) :: WidgetFor site a -> WidgetFor site b -> WidgetFor site b #

return :: a -> WidgetFor site a #

fail :: String -> WidgetFor site a #

Functor (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

fmap :: (a -> b) -> WidgetFor site a -> WidgetFor site b #

(<$) :: a -> WidgetFor site b -> WidgetFor site a #

Applicative (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

pure :: a -> WidgetFor site a #

(<*>) :: WidgetFor site (a -> b) -> WidgetFor site a -> WidgetFor site b #

liftA2 :: (a -> b -> c) -> WidgetFor site a -> WidgetFor site b -> WidgetFor site c #

(*>) :: WidgetFor site a -> WidgetFor site b -> WidgetFor site b #

(<*) :: WidgetFor site a -> WidgetFor site b -> WidgetFor site a #

MonadIO (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> WidgetFor site a #

MonadUnliftIO (WidgetFor site) Source #

Since: 1.4.38

Instance details

Defined in Yesod.Core.Types

Methods

withRunInIO :: ((forall a. WidgetFor site a -> IO a) -> IO b) -> WidgetFor site b #

MonadResource (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftResourceT :: ResourceT IO a -> WidgetFor site a #

PrimMonad (WidgetFor site) Source #

Since: 1.6.7

Instance details

Defined in Yesod.Core.Types

Associated Types

type PrimState (WidgetFor site) :: Type #

Methods

primitive :: (State# (PrimState (WidgetFor site)) -> (#State# (PrimState (WidgetFor site)), a#)) -> WidgetFor site a #

MonadThrow (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

throwM :: Exception e => e -> WidgetFor site a #

MonadLogger (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> WidgetFor site () #

MonadLoggerIO (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

askLoggerIO :: WidgetFor site (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) #

MonadWidget (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

Methods

liftWidget :: WidgetFor (HandlerSite (WidgetFor site)) a -> WidgetFor site a Source #

MonadHandler (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

Associated Types

type HandlerSite (WidgetFor site) :: Type Source #

type SubHandlerSite (WidgetFor site) :: Type Source #

MonadReader (WidgetData site) (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: WidgetFor site (WidgetData site) #

local :: (WidgetData site -> WidgetData site) -> WidgetFor site a -> WidgetFor site a #

reader :: (WidgetData site -> a) -> WidgetFor site a #

a ~ () => IsString (WidgetFor site a) Source #

A String can be trivially promoted to a widget.

For example, in a yesod-scaffold site you could use:

getHomeR = do defaultLayout "Widget text"
Instance details

Defined in Yesod.Core.Types

Methods

fromString :: String -> WidgetFor site a #

a ~ () => Semigroup (WidgetFor site a) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: WidgetFor site a -> WidgetFor site a -> WidgetFor site a #

sconcat :: NonEmpty (WidgetFor site a) -> WidgetFor site a #

stimes :: Integral b => b -> WidgetFor site a -> WidgetFor site a #

a ~ () => Monoid (WidgetFor site a) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

mempty :: WidgetFor site a #

mappend :: WidgetFor site a -> WidgetFor site a -> WidgetFor site a #

mconcat :: [WidgetFor site a] -> WidgetFor site a #

type PrimState (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

type HandlerSite (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (WidgetFor site) = site
type SubHandlerSite (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (WidgetFor site) = site

data WidgetData site Source #

Constructors

WidgetData 

Fields

Instances
MonadReader (WidgetData site) (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: WidgetFor site (WidgetData site) #

local :: (WidgetData site -> WidgetData site) -> WidgetFor site a -> WidgetFor site a #

reader :: (WidgetData site -> a) -> WidgetFor site a #

tellWidget :: GWData (Route site) -> WidgetFor site () Source #

type RY master = Route master -> [(Text, Text)] -> Text Source #

newtype CssBuilder Source #

Newtype wrapper allowing injection of arbitrary content into CSS.

Usage:

toWidget $ CssBuilder "p { color: red }"

Since: 1.1.3

Constructors

CssBuilder 
Instances
ToWidgetHead site CssBuilder Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidgetHead :: (MonadWidget m, HandlerSite m ~ site) => CssBuilder -> m () Source #

ToWidgetMedia site CssBuilder Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidgetMedia :: (MonadWidget m, HandlerSite m ~ site) => Text -> CssBuilder -> m () Source #

ToWidget site CssBuilder Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidget :: (MonadWidget m, HandlerSite m ~ site) => CssBuilder -> m () Source #

render ~ RY site => ToWidgetHead site (render -> CssBuilder) Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidgetHead :: (MonadWidget m, HandlerSite m ~ site) => (render -> CssBuilder) -> m () Source #

render ~ RY site => ToWidgetMedia site (render -> CssBuilder) Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidgetMedia :: (MonadWidget m, HandlerSite m ~ site) => Text -> (render -> CssBuilder) -> m () Source #

render ~ RY site => ToWidget site (render -> CssBuilder) Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidget :: (MonadWidget m, HandlerSite m ~ site) => (render -> CssBuilder) -> m () Source #

data PageContent url Source #

Content for a web page. By providing this datatype, we can easily create generic site templates, which would have the type signature:

PageContent url -> HtmlUrl url

Constructors

PageContent 

Fields

data Content Source #

Constructors

ContentBuilder !Builder !(Maybe Int)

The content and optional content length.

ContentSource !(ConduitT () (Flush Builder) (ResourceT IO) ()) 
ContentFile !FilePath !(Maybe FilePart) 
ContentDontEvaluate !Content 
Instances
IsString Content Source # 
Instance details

Defined in Yesod.Core.Types

Methods

fromString :: String -> Content #

ToContent Content Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent (ContentType, Content) Source # 
Instance details

Defined in Yesod.Core.Content

ToContent (ContentType, Content) Source # 
Instance details

Defined in Yesod.Core.Content

type RepHtml = Html Source #

Deprecated: Please use Html instead

newtype RepJson Source #

Constructors

RepJson Content 
Instances
ToTypedContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepJson Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

newtype RepPlain Source #

Constructors

RepPlain Content 
Instances
ToTypedContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

newtype RepXml Source #

Constructors

RepXml Content 
Instances
ToTypedContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepXml Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

data JSONResponse a where Source #

Wrapper around types so that Handlers can return a domain type, even when the data will eventually be encoded as JSON. Example usage in a type signature:

postSignupR :: Handler (JSONResponse CreateUserResponse)

And in the implementation:

return $ JSONResponse $ CreateUserResponse userId

Since: 1.6.14

Constructors

JSONResponse :: ToJSON a => a -> JSONResponse a 
Instances
ToTypedContent (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

ToContent (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

newtype DontFullyEvaluate a Source #

Prevents a response body from being fully evaluated before sending the request.

Since 1.1.0

Constructors

DontFullyEvaluate 

Fields

data ErrorResponse Source #

Responses to indicate some form of an error occurred.

Constructors

NotFound

The requested resource was not found. Examples of when this occurs include when an incorrect URL is used, or yesod-persistent's get404 doesn't find a value. HTTP status: 404.

InternalError !Text

Some sort of unexpected exception. If your application uses throwIO or error to throw an exception, this is the form it would take. HTTP status: 500.

InvalidArgs ![Text]

Indicates some sort of invalid or missing argument, like a missing query parameter or malformed JSON body. Examples Yesod functions that send this include requireCheckJsonBody and Yesod.Auth.GoogleEmail2. HTTP status: 400.

NotAuthenticated

Indicates the user is not logged in. This is thrown when isAuthorized returns AuthenticationRequired. HTTP code: 401.

PermissionDenied !Text

Indicates the user doesn't have permission to access the requested resource. This is thrown when isAuthorized returns Unauthorized. HTTP code: 403.

BadMethod !Method

Indicates the URL would have been valid if used with a different HTTP method (e.g. a GET was used, but only POST is handled.) HTTP code: 405.

Instances
Eq ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

Show ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

Generic ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

Associated Types

type Rep ErrorResponse :: Type -> Type #

NFData ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

Methods

rnf :: ErrorResponse -> () #

type Rep ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

data Header Source #

Headers to be added to a Result.

Constructors

AddCookie !SetCookie 
DeleteCookie !ByteString !ByteString

name and path

Header !(CI ByteString) !ByteString

key and value

Instances
Eq Header Source # 
Instance details

Defined in Yesod.Core.Types

Methods

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

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

Show Header Source # 
Instance details

Defined in Yesod.Core.Types

NFData Header Source # 
Instance details

Defined in Yesod.Core.Types

Methods

rnf :: Header -> () #

data Location url Source #

Constructors

Local !url 
Remote !Text 
Instances
Eq url => Eq (Location url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(==) :: Location url -> Location url -> Bool #

(/=) :: Location url -> Location url -> Bool #

Show url => Show (Location url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Location url -> ShowS #

show :: Location url -> String #

showList :: [Location url] -> ShowS #

newtype UniqueList x Source #

A diff list that does not directly enforce uniqueness. When creating a widget Yesod will use nub to make it unique.

Constructors

UniqueList ([x] -> [x]) 
Instances
Semigroup (UniqueList x) Source # 
Instance details

Defined in Yesod.Core.Types

Monoid (UniqueList x) Source # 
Instance details

Defined in Yesod.Core.Types

data Script url Source #

Constructors

Script 

Fields

Instances
Eq url => Eq (Script url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(==) :: Script url -> Script url -> Bool #

(/=) :: Script url -> Script url -> Bool #

Show url => Show (Script url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Script url -> ShowS #

show :: Script url -> String #

showList :: [Script url] -> ShowS #

data Stylesheet url Source #

Constructors

Stylesheet 

Fields

Instances
Eq url => Eq (Stylesheet url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(==) :: Stylesheet url -> Stylesheet url -> Bool #

(/=) :: Stylesheet url -> Stylesheet url -> Bool #

Show url => Show (Stylesheet url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Stylesheet url -> ShowS #

show :: Stylesheet url -> String #

showList :: [Stylesheet url] -> ShowS #

newtype Title Source #

Constructors

Title 

Fields

newtype Head url Source #

Constructors

Head (HtmlUrl url) 
Instances
Semigroup (Head url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: Head url -> Head url -> Head url #

sconcat :: NonEmpty (Head url) -> Head url #

stimes :: Integral b => b -> Head url -> Head url #

Monoid (Head url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

mempty :: Head url #

mappend :: Head url -> Head url -> Head url #

mconcat :: [Head url] -> Head url #

newtype Body url Source #

Constructors

Body (HtmlUrl url) 
Instances
Semigroup (Body url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: Body url -> Body url -> Body url #

sconcat :: NonEmpty (Body url) -> Body url #

stimes :: Integral b => b -> Body url -> Body url #

Monoid (Body url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

mempty :: Body url #

mappend :: Body url -> Body url -> Body url #

mconcat :: [Body url] -> Body url #

type CssBuilderUrl a = (a -> [(Text, Text)] -> Text) -> Builder Source #

data GWData a Source #

Constructors

GWData 
Instances
Semigroup (GWData a) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: GWData a -> GWData a -> GWData a #

sconcat :: NonEmpty (GWData a) -> GWData a #

stimes :: Integral b => b -> GWData a -> GWData a #

Monoid (GWData a) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

mempty :: GWData a #

mappend :: GWData a -> GWData a -> GWData a #

mconcat :: [GWData a] -> GWData a #

newtype SubHandlerFor sub master a Source #

A handler monad for subsite

Since: 1.6.0

Constructors

SubHandlerFor 

Fields

Instances
Monad (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(>>=) :: SubHandlerFor child master a -> (a -> SubHandlerFor child master b) -> SubHandlerFor child master b #

(>>) :: SubHandlerFor child master a -> SubHandlerFor child master b -> SubHandlerFor child master b #

return :: a -> SubHandlerFor child master a #

fail :: String -> SubHandlerFor child master a #

Functor (SubHandlerFor sub master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

fmap :: (a -> b) -> SubHandlerFor sub master a -> SubHandlerFor sub master b #

(<$) :: a -> SubHandlerFor sub master b -> SubHandlerFor sub master a #

Applicative (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

pure :: a -> SubHandlerFor child master a #

(<*>) :: SubHandlerFor child master (a -> b) -> SubHandlerFor child master a -> SubHandlerFor child master b #

liftA2 :: (a -> b -> c) -> SubHandlerFor child master a -> SubHandlerFor child master b -> SubHandlerFor child master c #

(*>) :: SubHandlerFor child master a -> SubHandlerFor child master b -> SubHandlerFor child master b #

(<*) :: SubHandlerFor child master a -> SubHandlerFor child master b -> SubHandlerFor child master a #

MonadIO (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> SubHandlerFor child master a #

MonadUnliftIO (SubHandlerFor child master) Source #

Since: 1.4.38

Instance details

Defined in Yesod.Core.Types

Methods

withRunInIO :: ((forall a. SubHandlerFor child master a -> IO a) -> IO b) -> SubHandlerFor child master b #

MonadResource (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftResourceT :: ResourceT IO a -> SubHandlerFor child master a #

MonadThrow (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

throwM :: Exception e => e -> SubHandlerFor child master a #

MonadLogger (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> SubHandlerFor child master () #

MonadLoggerIO (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

askLoggerIO :: SubHandlerFor child master (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) #

MonadHandler (SubHandlerFor sub master) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

Associated Types

type HandlerSite (SubHandlerFor sub master) :: Type Source #

type SubHandlerSite (SubHandlerFor sub master) :: Type Source #

MonadReader (HandlerData child master) (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: SubHandlerFor child master (HandlerData child master) #

local :: (HandlerData child master -> HandlerData child master) -> SubHandlerFor child master a -> SubHandlerFor child master a #

reader :: (HandlerData child master -> a) -> SubHandlerFor child master a #

type HandlerSite (SubHandlerFor sub master) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (SubHandlerFor sub master) = master
type SubHandlerSite (SubHandlerFor sub master) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (SubHandlerFor sub master) = sub