-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Web user interface for the hledger accounting system
--   
--   A simple web user interface for the hledger accounting system,
--   providing a more modern UI than the command-line or terminal
--   interfaces. It can be used as a local single-user UI, or as a
--   multi-user UI for viewing/adding/editing on the web.
--   
--   hledger is a robust, cross-platform set of tools for tracking money,
--   time, or any other commodity, using double-entry accounting and a
--   simple, editable file format, with command-line, terminal and web
--   interfaces. It is a Haskell rewrite of Ledger, and one of the leading
--   implementations of Plain Text Accounting. Read more at:
--   <a>https://hledger.org</a>
@package hledger-web
@version 1.43.2

module Hledger.Web.WebOptions
packageversion :: PackageVersionString

-- | The name of this program's executable.
progname :: ProgramName

-- | Generate the version string for this program. The template haskell
--   call is here rather than in Hledger.Cli.Version to avoid wasteful
--   recompilation.
prognameandversion :: String
binaryinfo :: HledgerBinaryInfo
webflags :: [Flag RawOpts]
webmode :: Mode RawOpts
data ServerMode
ServeBrowse :: ServerMode
Serve :: ServerMode
ServeJson :: ServerMode
data WebOpts
WebOpts :: !ServerMode -> !Maybe String -> !String -> !Int -> !String -> !Maybe String -> !AccessLevel -> !CliOpts -> !Maybe String -> WebOpts
[server_mode_] :: WebOpts -> !ServerMode
[cors_] :: WebOpts -> !Maybe String
[host_] :: WebOpts -> !String
[port_] :: WebOpts -> !Int
[base_url_] :: WebOpts -> !String
[file_url_] :: WebOpts -> !Maybe String
[allow_] :: WebOpts -> !AccessLevel
[cliopts_] :: WebOpts -> !CliOpts
[socket_] :: WebOpts -> !Maybe String
defwebopts :: WebOpts
rawOptsToWebOpts :: RawOpts -> IO WebOpts
servermodeopt :: RawOpts -> ServerMode
checkWebOpts :: WebOpts -> WebOpts
getHledgerWebOpts :: IO WebOpts
data Permission

-- | allow viewing things (read only)
ViewPermission :: Permission

-- | allow adding transactions, or more generally allow appending text to
--   input files
AddPermission :: Permission

-- | allow editing input files
EditPermission :: Permission
parsePermission :: ByteString -> Either Text Permission

-- | Convert to the lower case permission name.
showPermission :: Permission -> String

-- | For the --allow option: how much access to allow to hledger-web users
--   ?
data AccessLevel

-- | view permission only
ViewAccess :: AccessLevel

-- | view and add permissions
AddAccess :: AccessLevel

-- | view, add and edit permissions
EditAccess :: AccessLevel

-- | the permissions specified by the X-Sandstorm-Permissions HTTP request
--   header
SandstormAccess :: AccessLevel
parseAccessLevel :: String -> Either String AccessLevel

-- | Convert an --allow access level to the permissions used internally.
--   SandstormAccess generates an empty list, to be filled in later.
accessLevelToPermissions :: AccessLevel -> [Permission]
simplePolicyWithOrigin :: Origin -> CorsResourcePolicy
corsPolicyFromString :: String -> Middleware
corsPolicy :: WebOpts -> Application -> Application
instance GHC.Internal.Enum.Bounded Hledger.Web.WebOptions.AccessLevel
instance GHC.Internal.Enum.Bounded Hledger.Web.WebOptions.Permission
instance Data.Default.Internal.Default Hledger.Web.WebOptions.WebOpts
instance GHC.Internal.Enum.Enum Hledger.Web.WebOptions.AccessLevel
instance GHC.Internal.Enum.Enum Hledger.Web.WebOptions.Permission
instance GHC.Classes.Eq Hledger.Web.WebOptions.AccessLevel
instance GHC.Classes.Eq Hledger.Web.WebOptions.Permission
instance GHC.Classes.Eq Hledger.Web.WebOptions.ServerMode
instance GHC.Classes.Ord Hledger.Web.WebOptions.AccessLevel
instance GHC.Classes.Ord Hledger.Web.WebOptions.Permission
instance GHC.Internal.Show.Show Hledger.Web.WebOptions.AccessLevel
instance GHC.Internal.Show.Show Hledger.Web.WebOptions.Permission
instance GHC.Internal.Show.Show Hledger.Web.WebOptions.ServerMode
instance GHC.Internal.Show.Show Hledger.Web.WebOptions.WebOpts

module Hledger.Web.Import
array :: ToJSON a => [a] -> Value
warp :: YesodDispatch site => Int -> site -> IO ()
class RenderRoute site => Yesod site
approot :: Yesod site => Approot site
catchHandlerExceptions :: (Yesod site, MonadUnliftIO m) => site -> m a -> (SomeException -> m a) -> m a
errorHandler :: Yesod site => ErrorResponse -> HandlerFor site TypedContent
defaultLayout :: Yesod site => WidgetFor site () -> HandlerFor site Html
urlParamRenderOverride :: Yesod site => site -> Route site -> [(Text, Text)] -> Maybe Builder
isAuthorized :: Yesod site => Route site -> Bool -> HandlerFor site AuthResult
isWriteRequest :: Yesod site => Route site -> HandlerFor site Bool
authRoute :: Yesod site => site -> Maybe (Route site)
cleanPath :: Yesod site => site -> [Text] -> Either [Text] [Text]
joinPath :: Yesod site => site -> Text -> [Text] -> [(Text, Text)] -> Builder
addStaticContent :: Yesod site => Text -> Text -> ByteString -> HandlerFor site (Maybe (Either Text (Route site, [(Text, Text)])))
maximumContentLength :: Yesod site => site -> Maybe (Route site) -> Maybe Word64
maximumContentLengthIO :: Yesod site => site -> Maybe (Route site) -> IO (Maybe Word64)
makeLogger :: Yesod site => site -> IO Logger
messageLoggerSource :: Yesod site => site -> Logger -> Loc -> LogSource -> LogLevel -> LogStr -> IO ()
jsLoader :: Yesod site => site -> ScriptLoadPosition site
jsAttributes :: Yesod site => site -> [(Text, Text)]
jsAttributesHandler :: Yesod site => HandlerFor site [(Text, Text)]
makeSessionBackend :: Yesod site => site -> IO (Maybe SessionBackend)
fileUpload :: Yesod site => site -> RequestBodyLength -> FileUpload
shouldLogIO :: Yesod site => site -> LogSource -> LogLevel -> IO Bool
yesodMiddleware :: (Yesod site, ToTypedContent res) => HandlerFor site res -> HandlerFor site res
yesodWithInternalState :: Yesod site => site -> Maybe (Route site) -> (InternalState -> IO a) -> IO a
defaultMessageWidget :: Yesod site => Html -> HtmlUrl (Route site) -> WidgetFor site ()
data Extra
Extra :: Text -> Maybe Text -> Maybe Text -> Extra
[extraCopyright] :: Extra -> Text

-- | Google Analytics
[extraAnalytics] :: Extra -> Maybe Text
[extraStaticRoot] :: Extra -> Maybe Text
class (Show BackendKey backend, Read BackendKey backend, Eq BackendKey backend, Ord BackendKey backend, PersistCore backend, PersistField BackendKey backend, ToJSON BackendKey backend, FromJSON BackendKey backend) => PersistStoreRead backend
get :: forall record (m :: Type -> Type). (PersistStoreRead backend, MonadIO m, PersistRecordBackend record backend) => Key record -> ReaderT backend m (Maybe record)
getMany :: forall record (m :: Type -> Type). (PersistStoreRead backend, MonadIO m, PersistRecordBackend record backend) => [Key record] -> ReaderT backend m (Map (Key record) record)
type Application = Request -> Response -> IO ResponseReceived -> IO ResponseReceived
defaultCsrfCookieName :: ByteString
defaultCsrfHeaderName :: CI ByteString
data Header
AddCookie :: !SetCookie -> Header
DeleteCookie :: !ByteString -> !ByteString -> Header
Header :: !CI ByteString -> !ByteString -> Header
data Either a b
Left :: a -> Either a b
Right :: b -> Either a b
data Bool
False :: Bool
True :: Bool
data Value
Object :: !Object -> Value
Array :: !Array -> Value
String :: !Text -> Value
Number :: !Scientific -> Value
Bool :: !Bool -> Value
Null :: Value
data Char
data Double
data Float
data Int
data Word
data Ordering
LT :: Ordering
EQ :: Ordering
GT :: Ordering
data Maybe a
Nothing :: Maybe a
Just :: a -> Maybe a
class a ~# b => (a :: k) ~ (b :: k)
data Integer
(.) :: (b -> c) -> (a -> b) -> a -> c
class Num a
(+) :: Num a => a -> a -> a
(-) :: Num a => a -> a -> a
(*) :: Num a => a -> a -> a
negate :: Num a => a -> a
abs :: Num a => a -> a
signum :: Num a => a -> a
fromInteger :: Num a => Integer -> a
class Applicative m => Monad (m :: Type -> Type)
(>>=) :: Monad m => m a -> (a -> m b) -> m b
(>>) :: Monad m => m a -> m b -> m b
return :: Monad m => a -> m a
when :: Applicative f => Bool -> f () -> f ()
type String = [Char]
data Text
data IO a
parseExtra :: DefaultEnv -> Object -> Parser Extra
data ByteString
class Default a
def :: Default a => a
fromMaybe :: a -> Maybe a -> a

-- | The default IP address to listen on. May be overridden with --host.
defhost :: String

-- | The default TCP port to listen on. May be overridden with --port.
defport :: Int
defbaseurl :: String -> Int -> String
fromRight :: b -> Either a b -> b
data family Route a
mkYesodDispatch :: String -> [ResourceTree String] -> Q [Dec]
class forall a. () => Functor p a => Bifunctor (p :: Type -> Type -> Type)
bimap :: Bifunctor p => (a -> b) -> (c -> d) -> p a c -> p b d
first :: Bifunctor p => (a -> b) -> p a c -> p b c
second :: Bifunctor p => (b -> c) -> p a b -> p a c
class Foldable (t :: Type -> Type)
fold :: (Foldable t, Monoid m) => t m -> m
foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
foldMap' :: (Foldable t, Monoid m) => (a -> m) -> t a -> m
foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b
foldr' :: Foldable t => (a -> b -> b) -> b -> t a -> b
foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b
foldl' :: Foldable t => (b -> a -> b) -> b -> t a -> b
foldr1 :: Foldable t => (a -> a -> a) -> t a -> a
foldl1 :: Foldable t => (a -> a -> a) -> t a -> a
toList :: Foldable t => t a -> [a]
null :: Foldable t => t a -> Bool
length :: Foldable t => t a -> Int
elem :: (Foldable t, Eq a) => a -> t a -> Bool
maximum :: (Foldable t, Ord a) => t a -> a
minimum :: (Foldable t, Ord a) => t a -> a
sum :: (Foldable t, Num a) => t a -> a
product :: (Foldable t, Num a) => t a -> a
unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
class (Functor t, Foldable t) => Traversable (t :: Type -> Type)
traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a)
mapM :: (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
sequence :: (Traversable t, Monad m) => t (m a) -> m (t a)
data Void
type Markup = MarkupM ()

-- | The site argument for your application. This can be a good place to
--   keep settings and values requiring initialization before your
--   application starts running, such as database connections. Every
--   handler will have access to the data present here.
data App
App :: AppConfig DefaultEnv Extra -> Static -> Manager -> WebOpts -> IORef Journal -> App
[settings] :: App -> AppConfig DefaultEnv Extra

-- | Settings for static file serving.
[getStatic] :: App -> Static
[httpManager] :: App -> Manager
[appOpts] :: App -> WebOpts

-- | the current journal, filtered by the initial command line query but
--   ignoring any depth limit.
[appJournal] :: App -> IORef Journal
data Permission

-- | allow viewing things (read only)
ViewPermission :: Permission

-- | allow adding transactions, or more generally allow appending text to
--   input files
AddPermission :: Permission

-- | allow editing input files
EditPermission :: Permission

-- | A bundle of data useful for hledger-web request handlers and
--   templates.
data ViewData
VD :: WebOpts -> Day -> Journal -> Text -> Query -> [QueryOpt] -> [Permission] -> ViewData

-- | the command-line options at startup
[opts] :: ViewData -> WebOpts

-- | today's date (for queries containing relative dates)
[today] :: ViewData -> Day

-- | the up-to-date parsed unfiltered journal -- XXX rename
[j] :: ViewData -> Journal

-- | the current "q" request parameter
[qparam] :: ViewData -> Text

-- | a query parsed from the q parameter
[q] :: ViewData -> Query

-- | query options parsed from the q parameter
[qopts] :: ViewData -> [QueryOpt]

-- | permissions enabled for this request (by --allow and/or
--   X-Sandstorm-Permissions)
[perms] :: ViewData -> [Permission]
class Functor f => Applicative (f :: Type -> Type)
pure :: Applicative f => a -> f a
(<*>) :: Applicative f => f (a -> b) -> f a -> f b
liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c
(*>) :: Applicative f => f a -> f b -> f b
(<*) :: Applicative f => f a -> f b -> f a
join :: Monad m => m (m a) -> m a
unless :: Applicative f => Bool -> f () -> f ()
for :: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
newtype Day
ModifiedJulianDay :: Integer -> Day
[toModifiedJulianDay] :: Day -> Integer
type FilePath = String

-- | The file path on your machine where static files can be found.
--   StaticFiles.hs uses this (must be separate for TH reasons).
staticDir :: FilePath
widgetFile :: String -> Q Exp
type Html = Markup
data PersistUpdate
Assign :: PersistUpdate
Add :: PersistUpdate
Subtract :: PersistUpdate
Multiply :: PersistUpdate
Divide :: PersistUpdate
BackendSpecificUpdate :: Text -> PersistUpdate
development :: Bool
staticSite :: IO Static
isJust :: Maybe a -> Bool
type Handler = HandlerFor App
type Widget = WidgetFor App ()
find :: Foldable t => (a -> Bool) -> t a -> Maybe a
for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
manualurl :: Text
production :: Bool
not :: Bool -> Bool
hledgerorgurl :: Text
class Semigroup a
(<>) :: Semigroup a => a -> a -> a
(++) :: [a] -> [a] -> [a]
class Eq a
(==) :: Eq a => a -> a -> Bool
(/=) :: Eq a => a -> a -> Bool
class Show a
showsPrec :: Show a => Int -> a -> ShowS
show :: Show a => a -> String
showList :: Show a => [a] -> ShowS

-- | The base URL for static files. As you can see by the default value,
--   this can simply be "static" appended to your application root. A
--   powerful optimization can be serving static files from a separate
--   domain name. This allows you to use a web server optimized for static
--   files, more easily set expires and cache values, and avoid possibly
--   costly transference of cookies on static files.
--   
--   If you change the resource pattern for StaticR in App.hs, (or
--   staticDir above), you will have to make a corresponding change here.
--   
--   To see how this value is used, see urlRenderOverride in App.hs
--   
--   XXX Does not respect --file-url #2139
staticRoot :: AppConfig DefaultEnv Extra -> Text
($) :: (a -> b) -> a -> b

-- | Settings for <a>widgetFile</a>, such as which template languages to
--   support and default Hamlet settings.
widgetFileSettings :: WidgetFileSettings
(<$>) :: Functor f => (a -> b) -> f a -> f b
(.:) :: FromJSON a => Object -> Key -> Parser a
($!) :: (a -> b) -> a -> b
(=<<) :: Monad m => (a -> m b) -> m a -> m b
asTypeOf :: a -> a -> a
const :: a -> b -> a
flip :: (a -> b -> c) -> b -> a -> c
id :: a -> a
until :: (a -> Bool) -> (a -> a) -> a -> a
either :: (a -> c) -> (b -> c) -> Either a b -> c
all :: Foldable t => (a -> Bool) -> t a -> Bool
and :: Foldable t => t Bool -> Bool
any :: Foldable t => (a -> Bool) -> t a -> Bool
concat :: Foldable t => t [a] -> [a]
concatMap :: Foldable t => (a -> [b]) -> t a -> [b]
mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
notElem :: (Foldable t, Eq a) => a -> t a -> Bool
or :: Foldable t => t Bool -> Bool
sequence_ :: (Foldable t, Monad m) => t (m a) -> m ()
maybe :: b -> (a -> b) -> Maybe a -> b
lines :: String -> [String]
unlines :: [String] -> String
unwords :: [String] -> String
words :: String -> [String]
curry :: ((a, b) -> c) -> a -> b -> c
fst :: (a, b) -> a
snd :: (a, b) -> b
uncurry :: (a -> b -> c) -> (a, b) -> c
error :: HasCallStack => [Char] -> a
errorWithoutStackTrace :: [Char] -> a
undefined :: HasCallStack => a
ioError :: IOError -> IO a
userError :: String -> IOError
(!!) :: HasCallStack => [a] -> Int -> a
break :: (a -> Bool) -> [a] -> ([a], [a])
cycle :: HasCallStack => [a] -> [a]
drop :: Int -> [a] -> [a]
dropWhile :: (a -> Bool) -> [a] -> [a]
iterate :: (a -> a) -> a -> [a]
lookup :: Eq a => a -> [(a, b)] -> Maybe b
repeat :: a -> [a]
replicate :: Int -> a -> [a]
reverse :: [a] -> [a]
scanl :: (b -> a -> b) -> b -> [a] -> [b]
scanl1 :: (a -> a -> a) -> [a] -> [a]
scanr :: (a -> b -> b) -> b -> [a] -> [b]
scanr1 :: (a -> a -> a) -> [a] -> [a]
span :: (a -> Bool) -> [a] -> ([a], [a])
splitAt :: Int -> [a] -> ([a], [a])
take :: Int -> [a] -> [a]
takeWhile :: (a -> Bool) -> [a] -> [a]
unzip :: [(a, b)] -> ([a], [b])
unzip3 :: [(a, b, c)] -> ([a], [b], [c])
zip3 :: [a] -> [b] -> [c] -> [(a, b, c)]
zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d]
subtract :: Num a => a -> a -> a
lex :: ReadS String
readParen :: Bool -> ReadS a -> ReadS a
(^) :: (Num a, Integral b) => a -> b -> a
(^^) :: (Fractional a, Integral b) => a -> b -> a
even :: Integral a => a -> Bool
gcd :: Integral a => a -> a -> a
lcm :: Integral a => a -> a -> a
odd :: Integral a => a -> Bool
showChar :: Char -> ShowS
showParen :: Bool -> ShowS -> ShowS
showString :: String -> ShowS
shows :: Show a => a -> ShowS
appendFile :: FilePath -> String -> IO ()
getChar :: IO Char
getContents :: IO String
getLine :: IO String
interact :: (String -> String) -> IO ()
putChar :: Char -> IO ()
putStr :: String -> IO ()
putStrLn :: String -> IO ()
readIO :: Read a => String -> IO a
readLn :: Read a => IO a
read :: Read a => String -> a
reads :: Read a => ReadS a
(&&) :: Bool -> Bool -> Bool
(||) :: Bool -> Bool -> Bool
class Functor (f :: Type -> Type)
fmap :: Functor f => (a -> b) -> f a -> f b
(<$) :: Functor f => a -> f b -> f a
class Bounded a
minBound :: Bounded a => a
maxBound :: Bounded a => a
class Enum a
succ :: Enum a => a -> a
pred :: Enum a => a -> a
toEnum :: Enum a => Int -> a
fromEnum :: Enum a => a -> Int
enumFrom :: Enum a => a -> [a]
enumFromThen :: Enum a => a -> a -> [a]
enumFromTo :: Enum a => a -> a -> [a]
enumFromThenTo :: Enum a => a -> a -> a -> [a]
class Fractional a => Floating a
pi :: Floating a => a
exp :: Floating a => a -> a
log :: Floating a => a -> a
sqrt :: Floating a => a -> a
(**) :: Floating a => a -> a -> a
logBase :: Floating a => a -> a -> a
sin :: Floating a => a -> a
cos :: Floating a => a -> a
tan :: Floating a => a -> a
asin :: Floating a => a -> a
acos :: Floating a => a -> a
atan :: Floating a => a -> a
sinh :: Floating a => a -> a
cosh :: Floating a => a -> a
tanh :: Floating a => a -> a
asinh :: Floating a => a -> a
acosh :: Floating a => a -> a
atanh :: Floating a => a -> a
class (RealFrac a, Floating a) => RealFloat a
floatRadix :: RealFloat a => a -> Integer
floatDigits :: RealFloat a => a -> Int
floatRange :: RealFloat a => a -> (Int, Int)
decodeFloat :: RealFloat a => a -> (Integer, Int)
encodeFloat :: RealFloat a => Integer -> Int -> a
exponent :: RealFloat a => a -> Int
significand :: RealFloat a => a -> a
scaleFloat :: RealFloat a => Int -> a -> a
isNaN :: RealFloat a => a -> Bool
isInfinite :: RealFloat a => a -> Bool
isDenormalized :: RealFloat a => a -> Bool
isNegativeZero :: RealFloat a => a -> Bool
isIEEE :: RealFloat a => a -> Bool
atan2 :: RealFloat a => a -> a -> a
type IOError = IOException
class Read a
readsPrec :: Read a => Int -> ReadS a
readList :: Read a => ReadS [a]
class Num a => Fractional a
(/) :: Fractional a => a -> a -> a
recip :: Fractional a => a -> a
fromRational :: Fractional a => Rational -> a
class (Real a, Enum a) => Integral a
quot :: Integral a => a -> a -> a
rem :: Integral a => a -> a -> a
div :: Integral a => a -> a -> a
mod :: Integral a => a -> a -> a
quotRem :: Integral a => a -> a -> (a, a)
divMod :: Integral a => a -> a -> (a, a)
toInteger :: Integral a => a -> Integer
class (Real a, Fractional a) => RealFrac a
properFraction :: (RealFrac a, Integral b) => a -> (b, a)
truncate :: (RealFrac a, Integral b) => a -> b
round :: (RealFrac a, Integral b) => a -> b
ceiling :: (RealFrac a, Integral b) => a -> b
floor :: (RealFrac a, Integral b) => a -> b
type ShowS = String -> String
type ReadS a = String -> [(a, String)]
class Eq a => Ord a
compare :: Ord a => a -> a -> Ordering
(<) :: Ord a => a -> a -> Bool
(<=) :: Ord a => a -> a -> Bool
(>) :: Ord a => a -> a -> Bool
(>=) :: Ord a => a -> a -> Bool
max :: Ord a => a -> a -> a
min :: Ord a => a -> a -> a
otherwise :: Bool
map :: (a -> b) -> [a] -> [b]
class Semigroup a => Monoid a
mempty :: Monoid a => a
mappend :: Monoid a => a -> a -> a
mconcat :: Monoid a => [a] -> a
zip :: [a] -> [b] -> [(a, b)]
filter :: (a -> Bool) -> [a] -> [a]
realToFrac :: (Real a, Fractional b) => a -> b
fromIntegral :: (Integral a, Num b) => a -> b
class (Num a, Ord a) => Real a
toRational :: Real a => a -> Rational
type Rational = Ratio Integer
print :: Show a => a -> IO ()
data PersistFilter
Eq :: PersistFilter
Ne :: PersistFilter
Gt :: PersistFilter
Lt :: PersistFilter
Ge :: PersistFilter
Le :: PersistFilter
In :: PersistFilter
NotIn :: PersistFilter
BackendSpecificFilter :: Text -> PersistFilter
catMaybes :: [Maybe a] -> [a]
fromJust :: HasCallStack => Maybe a -> a
isNothing :: Maybe a -> Bool
listToMaybe :: [a] -> Maybe a
mapMaybe :: (a -> Maybe b) -> [a] -> [b]
maybeToList :: Maybe a -> [a]
class Monad m => MonadFail (m :: Type -> Type)
fail :: MonadFail m => String -> m a
class (PersistCore backend, PersistStoreRead backend) => PersistQueryRead backend
selectSourceRes :: forall record (m1 :: Type -> Type) (m2 :: Type -> Type). (PersistQueryRead backend, PersistRecordBackend record backend, MonadIO m1, MonadIO m2) => [Filter record] -> [SelectOpt record] -> ReaderT backend m1 (Acquire (ConduitM () (Entity record) m2 ()))
selectFirst :: forall (m :: Type -> Type) record. (PersistQueryRead backend, MonadIO m, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ReaderT backend m (Maybe (Entity record))
selectKeysRes :: forall (m1 :: Type -> Type) (m2 :: Type -> Type) record. (PersistQueryRead backend, MonadIO m1, MonadIO m2, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ReaderT backend m1 (Acquire (ConduitM () (Key record) m2 ()))
count :: forall (m :: Type -> Type) record. (PersistQueryRead backend, MonadIO m, PersistRecordBackend record backend) => [Filter record] -> ReaderT backend m Int
exists :: forall (m :: Type -> Type) record. (PersistQueryRead backend, MonadIO m, PersistRecordBackend record backend) => [Filter record] -> ReaderT backend m Bool
mapAccumL :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
mapAccumR :: Traversable t => (s -> a -> (s, b)) -> s -> t a -> (s, t b)
class (Show BackendKey backend, Read BackendKey backend, Eq BackendKey backend, Ord BackendKey backend, PersistStoreRead backend, PersistField BackendKey backend, ToJSON BackendKey backend, FromJSON BackendKey backend) => PersistStoreWrite backend
insert :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend, SafeToInsert record) => record -> ReaderT backend m (Key record)
insert_ :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend, SafeToInsert record) => record -> ReaderT backend m ()
insertMany :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend, SafeToInsert record) => [record] -> ReaderT backend m [Key record]
insertMany_ :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend, SafeToInsert record) => [record] -> ReaderT backend m ()
insertEntityMany :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => [Entity record] -> ReaderT backend m ()
insertKey :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => Key record -> record -> ReaderT backend m ()
repsert :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => Key record -> record -> ReaderT backend m ()
repsertMany :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => [(Key record, record)] -> ReaderT backend m ()
replace :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => Key record -> record -> ReaderT backend m ()
delete :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => Key record -> ReaderT backend m ()
update :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => Key record -> [Update record] -> ReaderT backend m ()
updateGet :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => Key record -> [Update record] -> ReaderT backend m record
class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type)
mzero :: MonadPlus m => m a
mplus :: MonadPlus m => m a -> m a -> m a
class forall (m :: Type -> Type). Monad m => Monad t m => MonadTrans (t :: Type -> Type -> Type -> Type)
lift :: (MonadTrans t, Monad m) => m a -> t m a
object :: [Pair] -> Value
class FromJSON a
parseJSON :: FromJSON a => Value -> Parser a
parseJSONList :: FromJSON a => Value -> Parser [a]
omittedField :: FromJSON a => Maybe a
(.=) :: (KeyValue e kv, ToJSON v) => Key -> v -> kv
class ToJSON a
toJSON :: ToJSON a => a -> Value
toEncoding :: ToJSON a => a -> Encoding
toJSONList :: ToJSON a => [a] -> Value
toEncodingList :: ToJSON a => [a] -> Encoding
omitField :: ToJSON a => a -> Bool
class MonadIO m => MonadResource (m :: Type -> Type)
liftResourceT :: MonadResource m => ResourceT IO a -> m a
class Monad m => MonadIO (m :: Type -> Type)
liftIO :: MonadIO m => IO a -> m a
data Content
ContentBuilder :: !Builder -> !Maybe Int -> Content
ContentSource :: !ConduitT () (Flush Builder) (ResourceT IO) () -> Content
ContentFile :: !FilePath -> !Maybe FilePart -> Content
ContentDontEvaluate :: !Content -> Content
hamlet :: QuasiQuoter
shamlet :: QuasiQuoter
xhamlet :: QuasiQuoter
type Env = Map Text [Text]
type HtmlUrl url = Render url -> Html
data UTCTime
UTCTime :: Day -> DiffTime -> UTCTime
[utctDay] :: UTCTime -> Day
[utctDayTime] :: UTCTime -> DiffTime
class PersistConfig c where {
    type PersistConfigBackend c :: Type -> Type -> Type -> Type;
    type PersistConfigPool c;
}
loadConfig :: PersistConfig c => Value -> Parser c
applyEnv :: PersistConfig c => c -> IO c
createPoolConfig :: PersistConfig c => c -> IO (PersistConfigPool c)
runPool :: (PersistConfig c, MonadUnliftIO m) => c -> PersistConfigBackend c m a -> PersistConfigPool c -> m a
data HandlerFor site a
ap :: Monad m => m (a -> b) -> m a -> m b
liftM :: Monad m => (a1 -> r) -> m a1 -> m r
liftM2 :: Monad m => (a1 -> a2 -> r) -> m a1 -> m a2 -> m r
liftM3 :: Monad m => (a1 -> a2 -> a3 -> r) -> m a1 -> m a2 -> m a3 -> m r
liftM4 :: Monad m => (a1 -> a2 -> a3 -> a4 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m r
liftM5 :: Monad m => (a1 -> a2 -> a3 -> a4 -> a5 -> r) -> m a1 -> m a2 -> m a3 -> m a4 -> m a5 -> m r
type Year = Integer
data LocalTime
LocalTime :: Day -> TimeOfDay -> LocalTime
[localDay] :: LocalTime -> Day
[localTimeOfDay] :: LocalTime -> TimeOfDay
isLeapYear :: Year -> Bool
parseTimeMultipleM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> [(String, String)] -> m t
defaultTimeLocale :: TimeLocale
showGregorian :: Day -> String
class Ord p => DayPeriod p
periodFirstDay :: DayPeriod p => p -> Day
periodLastDay :: DayPeriod p => p -> Day
dayPeriod :: DayPeriod p => Day -> p
data TimeOfDay
TimeOfDay :: Int -> Int -> Pico -> TimeOfDay
[todHour] :: TimeOfDay -> Int
[todMin] :: TimeOfDay -> Int
[todSec] :: TimeOfDay -> Pico
foldlM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
check :: forall (m :: Type -> Type) msg a. (Monad m, RenderMessage (HandlerSite m) msg) => (a -> Either msg a) -> Field m a -> Field m a
data CalendarDiffDays
CalendarDiffDays :: Integer -> Integer -> CalendarDiffDays
[cdMonths] :: CalendarDiffDays -> Integer
[cdDays] :: CalendarDiffDays -> Integer
addDays :: Integer -> Day -> Day
diffDays :: Day -> Day -> Integer
pattern April :: MonthOfYear
pattern August :: MonthOfYear
pattern BeforeCommonEra :: Integer -> Year
pattern CommonEra :: Integer -> Year
type DayOfMonth = Int
pattern December :: MonthOfYear
pattern February :: MonthOfYear
pattern January :: MonthOfYear
pattern July :: MonthOfYear
pattern June :: MonthOfYear
pattern March :: MonthOfYear
pattern May :: MonthOfYear
type MonthOfYear = Int
pattern November :: MonthOfYear
pattern October :: MonthOfYear
pattern September :: MonthOfYear
pattern YearMonthDay :: Year -> MonthOfYear -> DayOfMonth -> Day
addGregorianDurationClip :: CalendarDiffDays -> Day -> Day
addGregorianDurationRollOver :: CalendarDiffDays -> Day -> Day
addGregorianMonthsClip :: Integer -> Day -> Day
addGregorianMonthsRollOver :: Integer -> Day -> Day
addGregorianYearsClip :: Integer -> Day -> Day
addGregorianYearsRollOver :: Integer -> Day -> Day
diffGregorianDurationClip :: Day -> Day -> CalendarDiffDays
diffGregorianDurationRollOver :: Day -> Day -> CalendarDiffDays
fromGregorian :: Year -> MonthOfYear -> DayOfMonth -> Day
fromGregorianValid :: Year -> MonthOfYear -> DayOfMonth -> Maybe Day
gregorianMonthLength :: Year -> MonthOfYear -> DayOfMonth
toGregorian :: Day -> (Year, MonthOfYear, DayOfMonth)
data DiffTime
utcToLocalTime :: TimeZone -> UTCTime -> LocalTime
utc :: TimeZone
data DayOfWeek
Monday :: DayOfWeek
Tuesday :: DayOfWeek
Wednesday :: DayOfWeek
Thursday :: DayOfWeek
Friday :: DayOfWeek
Saturday :: DayOfWeek
Sunday :: DayOfWeek
data NominalDiffTime
newtype UniversalTime
ModJulianDate :: Rational -> UniversalTime
[getModJulianDate] :: UniversalTime -> Rational
class FormatTime t
formatTime :: FormatTime t => TimeLocale -> String -> t -> String
data TimeLocale
TimeLocale :: [(String, String)] -> [(String, String)] -> (String, String) -> String -> String -> String -> String -> [TimeZone] -> TimeLocale
[wDays] :: TimeLocale -> [(String, String)]
[months] :: TimeLocale -> [(String, String)]
[amPm] :: TimeLocale -> (String, String)
[dateTimeFmt] :: TimeLocale -> String
[dateFmt] :: TimeLocale -> String
[timeFmt] :: TimeLocale -> String
[time12Fmt] :: TimeLocale -> String
[knownTimeZones] :: TimeLocale -> [TimeZone]
data CalendarDiffTime
CalendarDiffTime :: Integer -> NominalDiffTime -> CalendarDiffTime
[ctMonths] :: CalendarDiffTime -> Integer
[ctTime] :: CalendarDiffTime -> NominalDiffTime
ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime
data TimeZone
TimeZone :: Int -> Bool -> String -> TimeZone
[timeZoneMinutes] :: TimeZone -> Int
[timeZoneSummerOnly] :: TimeZone -> Bool
[timeZoneName] :: TimeZone -> String
data ZonedTime
ZonedTime :: LocalTime -> TimeZone -> ZonedTime
[zonedTimeToLocalTime] :: ZonedTime -> LocalTime
[zonedTimeZone] :: ZonedTime -> TimeZone
utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime
zonedTimeToUTC :: ZonedTime -> UTCTime
iso8601DateFormat :: Maybe String -> String
rfc822DateFormat :: String
class ParseTime t
localTimeToUT1 :: Rational -> LocalTime -> UniversalTime
localTimeToUTC :: TimeZone -> LocalTime -> UTCTime
parseTimeM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> String -> String -> m t
parseTimeOrError :: ParseTime t => Bool -> TimeLocale -> String -> String -> t
readPTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadP t
readSTime :: ParseTime t => Bool -> TimeLocale -> String -> ReadS t
midnight :: TimeOfDay
minutesToTimeZone :: Int -> TimeZone
addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime
diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime
dayFractionToTimeOfDay :: Rational -> TimeOfDay
localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
timeOfDayToDayFraction :: TimeOfDay -> Rational
timeOfDayToTime :: TimeOfDay -> DiffTime
timeToTimeOfDay :: DiffTime -> TimeOfDay
utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
addLocalTime :: NominalDiffTime -> LocalTime -> LocalTime
diffLocalTime :: LocalTime -> LocalTime -> NominalDiffTime
getCurrentTime :: IO UTCTime
getTimeZone :: UTCTime -> IO TimeZone
getZonedTime :: IO ZonedTime
utcToLocalZonedTime :: UTCTime -> IO ZonedTime
filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a]
foldM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
zipWithM :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c]
zipWithM_ :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m ()
foldrM :: (Foldable t, Monad m) => (a -> b -> m b) -> b -> t a -> m b
foldM_ :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m ()
forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)
forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
replicateM :: Applicative m => Int -> m a -> m [a]
readIntegral :: Num a => String -> Maybe a
void :: Functor f => f a -> f ()
class MonadIO m => MonadUnliftIO (m :: Type -> Type)
withRunInIO :: MonadUnliftIO m => ((forall a. () => m a -> IO a) -> IO b) -> m b
data LogLevel
LevelDebug :: LogLevel
LevelInfo :: LogLevel
LevelWarn :: LogLevel
LevelError :: LogLevel
LevelOther :: Text -> LogLevel
class Monad m => MonadLogger (m :: Type -> Type)
logDebug :: Q Exp
logDebugS :: Q Exp
logError :: Q Exp
logErrorS :: Q Exp
logInfo :: Q Exp
logInfoS :: Q Exp
logOther :: Text -> Q Exp
logOtherS :: Q Exp
logWarn :: Q Exp
logWarnS :: Q Exp
class (PersistField Key record, ToJSON Key record, FromJSON Key record, Show Key record, Read Key record, Eq Key record, Ord Key record) => PersistEntity record where {
    type PersistEntityBackend record;
    data Key record;
    data EntityField record :: Type -> Type;
    data Unique record;
}
keyToValues :: PersistEntity record => Key record -> [PersistValue]
keyFromValues :: PersistEntity record => [PersistValue] -> Either Text (Key record)
persistIdField :: PersistEntity record => EntityField record (Key record)
entityDef :: PersistEntity record => proxy record -> EntityDef
persistFieldDef :: PersistEntity record => EntityField record typ -> FieldDef
toPersistFields :: PersistEntity record => record -> [PersistValue]
fromPersistValues :: PersistEntity record => [PersistValue] -> Either Text record
tabulateEntityA :: (PersistEntity record, Applicative f) => (forall a. () => EntityField record a -> f a) -> f (Entity record)
tabulateEntityApply :: (PersistEntity record, Apply f) => (forall a. () => EntityField record a -> f a) -> f (Entity record)
persistUniqueKeys :: PersistEntity record => record -> [Unique record]
persistUniqueToFieldNames :: PersistEntity record => Unique record -> NonEmpty (FieldNameHS, FieldNameDB)
persistUniqueToValues :: PersistEntity record => Unique record -> [PersistValue]
fieldLens :: PersistEntity record => EntityField record field -> forall (f :: Type -> Type). Functor f => (field -> f field) -> Entity record -> f (Entity record)
keyFromRecordM :: PersistEntity record => Maybe (record -> Key record)
data family Key record
seq :: a -> b -> b
class (PersistUniqueRead backend, PersistStoreWrite backend) => PersistUniqueWrite backend
deleteBy :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend) => Unique record -> ReaderT backend m ()
insertUnique :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend, SafeToInsert record) => record -> ReaderT backend m (Maybe (Key record))
insertUnique_ :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend, SafeToInsert record) => record -> ReaderT backend m (Maybe ())
upsert :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend, OnlyOneUniqueKey record, SafeToInsert record) => record -> [Update record] -> ReaderT backend m (Entity record)
upsertBy :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend, SafeToInsert record) => Unique record -> record -> [Update record] -> ReaderT backend m (Entity record)
putMany :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend, SafeToInsert record) => [record] -> ReaderT backend m ()
guard :: Alternative f => Bool -> f ()
type Attr = Text
type CssUrl url = url -> [(Text, Text)] -> Text -> Css
data SubHandlerFor sub master a
data WidgetFor site a
class (MonadResource m, MonadLogger m) => MonadHandler (m :: Type -> Type) where {
    type HandlerSite (m :: Type -> Type);
    type SubHandlerSite (m :: Type -> Type);
}
liftHandler :: MonadHandler m => HandlerFor (HandlerSite m) a -> m a
liftSubHandler :: MonadHandler m => SubHandlerFor (SubHandlerSite m) (HandlerSite m) a -> m a
class MonadHandler m => MonadWidget (m :: Type -> Type)
liftWidget :: MonadWidget m => WidgetFor (HandlerSite m) a -> m a
type family HandlerSite (m :: Type -> Type)
type family SubHandlerSite (m :: Type -> Type)
class Yesod site => YesodDispatch site
yesodDispatch :: YesodDispatch site => YesodRunnerEnv site -> Application
class ToContent a => ToTypedContent a
toTypedContent :: ToTypedContent a => a -> TypedContent
notFound :: MonadHandler m => m a
yesodRunner :: (ToTypedContent res, Yesod site) => HandlerFor site res -> YesodRunnerEnv site -> Maybe (Route site) -> Application
data TypedContent
TypedContent :: !ContentType -> !Content -> TypedContent
class RenderRoute a => ParseRoute a
parseRoute :: ParseRoute a => ([Text], [(Text, Text)]) -> Maybe (Route a)
class Eq Route a => RenderRoute a
renderRoute :: RenderRoute a => Route a -> ([Text], [(Text, Text)])
newtype LiteApp
LiteApp :: (Method -> [Text] -> Maybe (LiteHandler TypedContent)) -> LiteApp
[unLiteApp] :: LiteApp -> Method -> [Text] -> Maybe (LiteHandler TypedContent)
dispatchTo :: ToTypedContent a => LiteHandler a -> Writer LiteApp ()
liteApp :: Writer LiteApp () -> LiteApp
onMethod :: Method -> Writer LiteApp () -> Writer LiteApp ()
onStatic :: Text -> Writer LiteApp () -> Writer LiteApp ()
withDynamic :: PathPiece p => (p -> Writer LiteApp ()) -> Writer LiteApp ()
withDynamicMulti :: PathMultiPiece ps => (ps -> Writer LiteApp ()) -> Writer LiteApp ()
type LiteHandler = HandlerFor LiteApp
type LiteWidget = WidgetFor LiteApp
guessApproot :: Approot site
data AuthResult
Authorized :: AuthResult
AuthenticationRequired :: AuthResult
Unauthorized :: !Text -> AuthResult
newtype SessionBackend
SessionBackend :: (Request -> IO (SessionMap, SaveSession)) -> SessionBackend
[sbLoadSession] :: SessionBackend -> Request -> IO (SessionMap, SaveSession)
data FileUpload
FileUploadMemory :: !BackEnd ByteString -> FileUpload
FileUploadDisk :: !InternalState -> BackEnd FilePath -> FileUpload
FileUploadSource :: !BackEnd (ConduitT () ByteString (ResourceT IO) ()) -> FileUpload
data FileInfo
type SessionMap = Map Text ByteString
setTitle :: MonadWidget m => Html -> m ()
data ErrorResponse
NotFound :: ErrorResponse
InternalError :: !Text -> ErrorResponse
InvalidArgs :: ![Text] -> ErrorResponse
NotAuthenticated :: ErrorResponse
PermissionDenied :: !Text -> ErrorResponse
BadMethod :: !Method -> ErrorResponse
data ScriptLoadPosition master
BottomOfBody :: ScriptLoadPosition master
BottomOfHeadBlocking :: ScriptLoadPosition master
BottomOfHeadAsync :: !BottomOfHeadAsync master -> ScriptLoadPosition master
data YesodRequest
YesodRequest :: ![(Text, Text)] -> ![(Text, Text)] -> !Request -> ![Text] -> !Maybe Text -> !SessionMap -> ![ContentType] -> YesodRequest
[reqGetParams] :: YesodRequest -> ![(Text, Text)]
[reqCookies] :: YesodRequest -> ![(Text, Text)]
[reqWaiRequest] :: YesodRequest -> !Request
[reqLangs] :: YesodRequest -> ![Text]
[reqToken] :: YesodRequest -> !Maybe Text
[reqSession] :: YesodRequest -> !SessionMap
[reqAccept] :: YesodRequest -> ![ContentType]
class PathPiece s
fromPathPiece :: PathPiece s => Text -> Maybe s
toPathPiece :: PathPiece s => s -> Text
class PathMultiPiece s
fromPathMultiPiece :: PathMultiPiece s => [Text] -> Maybe s
toPathMultiPiece :: PathMultiPiece s => s -> [Text]
class RenderRoute a => RouteAttrs a
routeAttrs :: RouteAttrs a => Route a -> Set Text
type RepHtml = Html
newtype WaiSubsiteWithAuth
WaiSubsiteWithAuth :: Application -> WaiSubsiteWithAuth
[runWaiSubsiteWithAuth] :: WaiSubsiteWithAuth -> Application
newtype WaiSubsite
WaiSubsite :: Application -> WaiSubsite
[runWaiSubsite] :: WaiSubsite -> Application
data Approot master
ApprootRelative :: Approot master
ApprootStatic :: !Text -> Approot master
ApprootMaster :: !master -> Text -> Approot master
ApprootRequest :: !master -> Request -> Text -> Approot master
type BottomOfHeadAsync master = [Text] -> Maybe HtmlUrl Route master -> HtmlUrl Route master
type ContentType = ByteString
newtype CssBuilder
CssBuilder :: Builder -> CssBuilder
[unCssBuilder] :: CssBuilder -> Builder
newtype DontFullyEvaluate a
DontFullyEvaluate :: a -> DontFullyEvaluate a
[unDontFullyEvaluate] :: DontFullyEvaluate a -> a
data PageContent url
PageContent :: !Html -> !Maybe Text -> !HtmlUrl url -> !HtmlUrl url -> PageContent url
[pageTitle] :: PageContent url -> !Html
[pageDescription] :: PageContent url -> !Maybe Text
[pageHead] :: PageContent url -> !HtmlUrl url
[pageBody] :: PageContent url -> !HtmlUrl url
newtype RepJson
RepJson :: Content -> RepJson
newtype RepPlain
RepPlain :: Content -> RepPlain
newtype RepXml
RepXml :: Content -> RepXml
type RequestBodyContents = ([(Text, Text)], [(Text, FileInfo)])
type Texts = [Text]
type JavascriptUrl url = url -> [(Text, Text)] -> Text -> Javascript
data Field (m :: Type -> Type) a
Field :: ([Text] -> [FileInfo] -> m (Either (SomeMessage (HandlerSite m)) (Maybe a))) -> FieldViewFunc m a -> Enctype -> Field (m :: Type -> Type) a
[fieldParse] :: Field (m :: Type -> Type) a -> [Text] -> [FileInfo] -> m (Either (SomeMessage (HandlerSite m)) (Maybe a))
[fieldView] :: Field (m :: Type -> Type) a -> FieldViewFunc m a
[fieldEnctype] :: Field (m :: Type -> Type) a -> Enctype
isLeft :: Either a b -> Bool
asum :: (Foldable t, Alternative f) => t (f a) -> f a
msum :: (Foldable t, MonadPlus m) => t (m a) -> m a
sequenceA_ :: (Foldable t, Applicative f) => t (f a) -> f ()
traverse_ :: (Foldable t, Applicative f) => (a -> f b) -> t a -> f ()
class YesodSubDispatch sub master
yesodSubDispatch :: YesodSubDispatch sub master => YesodSubRunnerEnv sub master -> Application
hledger_css :: StaticRoute
hledger_js :: StaticRoute
css_bootstrap_datepicker_standalone_min_css :: StaticRoute
css_bootstrap_theme_css :: StaticRoute
css_bootstrap_theme_css_map :: StaticRoute
css_bootstrap_theme_min_css :: StaticRoute
css_bootstrap_css :: StaticRoute
css_bootstrap_css_map :: StaticRoute
css_bootstrap_min_css :: StaticRoute
fonts_glyphicons_halflings_regular_eot :: StaticRoute
fonts_glyphicons_halflings_regular_svg :: StaticRoute
fonts_glyphicons_halflings_regular_ttf :: StaticRoute
fonts_glyphicons_halflings_regular_woff :: StaticRoute
js_bootstrap_datepicker_min_js :: StaticRoute
js_bootstrap_js :: StaticRoute
js_bootstrap_min_js :: StaticRoute
js_excanvas_js :: StaticRoute
js_excanvas_min_js :: StaticRoute
js_jquery_cookie_js :: StaticRoute
js_jquery_flot_canvas_js :: StaticRoute
js_jquery_flot_canvas_min_js :: StaticRoute
js_jquery_flot_categories_js :: StaticRoute
js_jquery_flot_categories_min_js :: StaticRoute
js_jquery_flot_crosshair_js :: StaticRoute
js_jquery_flot_crosshair_min_js :: StaticRoute
js_jquery_flot_errorbars_js :: StaticRoute
js_jquery_flot_errorbars_min_js :: StaticRoute
js_jquery_flot_fillbetween_js :: StaticRoute
js_jquery_flot_fillbetween_min_js :: StaticRoute
js_jquery_flot_image_js :: StaticRoute
js_jquery_flot_image_min_js :: StaticRoute
js_jquery_flot_js :: StaticRoute
js_jquery_flot_min_js :: StaticRoute
js_jquery_flot_navigate_js :: StaticRoute
js_jquery_flot_navigate_min_js :: StaticRoute
js_jquery_flot_pie_js :: StaticRoute
js_jquery_flot_pie_min_js :: StaticRoute
js_jquery_flot_resize_js :: StaticRoute
js_jquery_flot_resize_min_js :: StaticRoute
js_jquery_flot_selection_js :: StaticRoute
js_jquery_flot_selection_min_js :: StaticRoute
js_jquery_flot_stack_js :: StaticRoute
js_jquery_flot_stack_min_js :: StaticRoute
js_jquery_flot_symbol_js :: StaticRoute
js_jquery_flot_symbol_min_js :: StaticRoute
js_jquery_flot_threshold_js :: StaticRoute
js_jquery_flot_threshold_min_js :: StaticRoute
js_jquery_flot_time_js :: StaticRoute
js_jquery_flot_time_min_js :: StaticRoute
js_jquery_flot_tooltip_js :: StaticRoute
js_jquery_flot_tooltip_min_js :: StaticRoute
js_jquery_hotkeys_js :: StaticRoute
js_jquery_js :: StaticRoute
js_jquery_min_js :: StaticRoute
js_jquery_url_js :: StaticRoute
js_typeahead_bundle_js :: StaticRoute
js_typeahead_bundle_min_js :: StaticRoute
respond :: (Monad m, ToContent a) => ContentType -> a -> m TypedContent
data family Unique record
toJsonText :: ToJSON j => j -> Text
data Update record
Update :: EntityField record typ -> typ -> PersistUpdate -> Update record
[updateField] :: Update record -> EntityField record typ
[updateValue] :: Update record -> typ
[updateUpdate] :: Update record -> PersistUpdate
BackendUpdate :: BackendSpecificUpdate (PersistEntityBackend record) record -> Update record
data SelectOpt record
Asc :: EntityField record typ -> SelectOpt record
Desc :: EntityField record typ -> SelectOpt record
OffsetBy :: Int -> SelectOpt record
LimitTo :: Int -> SelectOpt record
insertBy :: forall record backend (m :: Type -> Type). (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend record backend, AtLeastOneUniqueKey record, SafeToInsert record) => record -> ReaderT backend m (Either (Entity record) (Key record))
fromLeft :: a -> Either a b -> a
isRight :: Either a b -> Bool
lefts :: [Either a b] -> [a]
partitionEithers :: [Either a b] -> ([a], [b])
rights :: [Either a b] -> [b]
(<$!>) :: Monad m => (a -> b) -> m a -> m b
(<=<) :: Monad m => (b -> m c) -> (a -> m b) -> a -> m c
(>=>) :: Monad m => (a -> m b) -> (b -> m c) -> a -> m c
forever :: Applicative f => f a -> f b
mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c])
mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a
replicateM_ :: Applicative m => Int -> m a -> m ()
type Form a = Html -> MForm Handler (FormResult a, Widget)
data Fragment a b
(:#:) :: a -> b -> Fragment a b
data Option a
Option :: Text -> a -> Text -> Option a
[optionDisplay] :: Option a -> Text
[optionInternalValue] :: Option a -> a
[optionExternalValue] :: Option a -> Text
periodAllDays :: DayPeriod p => p -> [Day]
periodFromDay :: DayPeriod p => Day -> (p, Int)
periodLength :: DayPeriod p => p -> Int
periodToDay :: DayPeriod p => p -> Int -> Day
periodToDayValid :: DayPeriod p => p -> Int -> Maybe Day
nominalDay :: NominalDiffTime
nominalDiffTimeToSeconds :: NominalDiffTime -> Pico
secondsToNominalDiffTime :: Pico -> NominalDiffTime
data FormResult a
FormMissing :: FormResult a
FormFailure :: [Text] -> FormResult a
FormSuccess :: a -> FormResult a
toHtml :: ToMarkup a => a -> Html
preEscapedToMarkup :: ToMarkup a => a -> Markup
(!=.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Filter v
(*=.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Update v
(+=.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Update v
(-=.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Update v
(/<-.) :: forall v typ. PersistField typ => EntityField v typ -> [typ] -> Filter v
(/=.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Update v
(<-.) :: forall v typ. PersistField typ => EntityField v typ -> [typ] -> Filter v
(<.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Filter v
(<=.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Filter v
(=.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Update v
(==.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Filter v
(>.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Filter v
(>=.) :: forall v typ. PersistField typ => EntityField v typ -> typ -> Filter v
limitOffsetOrder :: PersistEntity val => [SelectOpt val] -> (Int, Int, [SelectOpt val])
listToJSON :: [PersistValue] -> Text
mapToJSON :: [(Text, PersistValue)] -> Text
(||.) :: [Filter v] -> [Filter v] -> [Filter v]
entityIdFromJSON :: (PersistEntity record, FromJSON record) => Value -> Parser (Entity record)
entityIdToJSON :: (PersistEntity record, ToJSON record) => Entity record -> Value
entityValues :: PersistEntity record => Entity record -> [PersistValue]
fromPersistValueJSON :: FromJSON a => PersistValue -> Either Text a
keyValueEntityFromJSON :: (PersistEntity record, FromJSON record) => Value -> Parser (Entity record)
keyValueEntityToJSON :: (PersistEntity record, ToJSON record) => Entity record -> Value
tabulateEntity :: PersistEntity record => (forall a. () => EntityField record a -> a) -> Entity record
toPersistValueJSON :: ToJSON a => a -> PersistValue
getPersistMap :: PersistValue -> Either Text [(Text, PersistValue)]
selectKeys :: forall record backend (m :: Type -> Type). (PersistQueryRead backend, MonadResource m, PersistRecordBackend record backend, MonadReader backend m) => [Filter record] -> [SelectOpt record] -> ConduitM () (Key record) m ()
selectKeysList :: forall record backend (m :: Type -> Type). (MonadIO m, PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ReaderT backend m [Key record]
selectList :: forall record backend (m :: Type -> Type). (MonadIO m, PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ReaderT backend m [Entity record]
selectSource :: forall record backend (m :: Type -> Type). (PersistQueryRead backend, MonadResource m, PersistRecordBackend record backend, MonadReader backend m) => [Filter record] -> [SelectOpt record] -> ConduitM () (Entity record) m ()
belongsTo :: forall ent1 ent2 backend (m :: Type -> Type). (PersistStoreRead backend, PersistEntity ent1, PersistRecordBackend ent2 backend, MonadIO m) => (ent1 -> Maybe (Key ent2)) -> ent1 -> ReaderT backend m (Maybe ent2)
belongsToJust :: forall ent1 ent2 backend (m :: Type -> Type). (PersistStoreRead backend, PersistEntity ent1, PersistRecordBackend ent2 backend, MonadIO m) => (ent1 -> Key ent2) -> ent1 -> ReaderT backend m ent2
getEntity :: forall e backend (m :: Type -> Type). (PersistStoreRead backend, PersistRecordBackend e backend, MonadIO m) => Key e -> ReaderT backend m (Maybe (Entity e))
getJust :: forall record backend (m :: Type -> Type). (PersistStoreRead backend, PersistRecordBackend record backend, MonadIO m) => Key record -> ReaderT backend m record
getJustEntity :: forall record backend (m :: Type -> Type). (PersistEntityBackend record ~ BaseBackend backend, MonadIO m, PersistEntity record, PersistStoreRead backend) => Key record -> ReaderT backend m (Entity record)
insertEntity :: forall e backend (m :: Type -> Type). (PersistStoreWrite backend, PersistRecordBackend e backend, SafeToInsert e, MonadIO m, HasCallStack) => e -> ReaderT backend m (Entity e)
insertRecord :: forall record backend (m :: Type -> Type). (PersistEntityBackend record ~ BaseBackend backend, PersistEntity record, MonadIO m, PersistStoreWrite backend, SafeToInsert record, HasCallStack) => record -> ReaderT backend m record
liftPersist :: (MonadIO m, MonadReader backend m) => ReaderT backend IO b -> m b
withBaseBackend :: forall backend (m :: Type -> Type) a. HasPersistBackend backend => ReaderT (BaseBackend backend) m a -> ReaderT backend m a
withCompatibleBackend :: forall sup sub (m :: Type -> Type) a. BackendCompatible sup sub => ReaderT sup m a -> ReaderT sub m a
checkUnique :: forall record backend (m :: Type -> Type). (MonadIO m, PersistRecordBackend record backend, PersistUniqueRead backend) => record -> ReaderT backend m (Maybe (Unique record))
checkUniqueUpdateable :: forall record backend (m :: Type -> Type). (MonadIO m, PersistRecordBackend record backend, PersistUniqueRead backend) => Entity record -> ReaderT backend m (Maybe (Unique record))
getByValue :: forall record (m :: Type -> Type) backend. (MonadIO m, PersistUniqueRead backend, PersistRecordBackend record backend, AtLeastOneUniqueKey record) => record -> ReaderT backend m (Maybe (Entity record))
insertUniqueEntity :: forall record backend (m :: Type -> Type). (MonadIO m, PersistRecordBackend record backend, PersistUniqueWrite backend, SafeToInsert record) => record -> ReaderT backend m (Maybe (Entity record))
onlyOneUniqueDef :: (OnlyOneUniqueKey record, Monad proxy) => proxy record -> UniqueDef
onlyUnique :: forall record backend (m :: Type -> Type). (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend record backend, OnlyOneUniqueKey record) => record -> ReaderT backend m (Unique record)
replaceUnique :: forall record backend (m :: Type -> Type). (MonadIO m, Eq (Unique record), PersistRecordBackend record backend, PersistUniqueWrite backend) => Key record -> record -> ReaderT backend m (Maybe (Unique record))
getEntityComments :: EntityDef -> Maybe Text
getEntityDBName :: EntityDef -> EntityNameDB
getEntityExtra :: EntityDef -> Map Text [[Text]]
getEntityFields :: EntityDef -> [FieldDef]
getEntityFieldsDatabase :: EntityDef -> [FieldDef]
getEntityForeignDefs :: EntityDef -> [ForeignDef]
getEntityHaskellName :: EntityDef -> EntityNameHS
getEntityId :: EntityDef -> EntityIdDef
getEntityIdField :: EntityDef -> Maybe FieldDef
getEntityKeyFields :: EntityDef -> NonEmpty FieldDef
getEntitySpan :: EntityDef -> Maybe SourceSpan
getEntityUniques :: EntityDef -> [UniqueDef]
getEntityUniquesNoPrimaryKey :: EntityDef -> [UniqueDef]
isEntitySum :: EntityDef -> Bool
overEntityFields :: ([FieldDef] -> [FieldDef]) -> EntityDef -> EntityDef
setEntityDBName :: EntityNameDB -> EntityDef -> EntityDef
setEntityId :: FieldDef -> EntityDef -> EntityDef
setEntityIdDef :: EntityIdDef -> EntityDef -> EntityDef
addFieldAttr :: FieldAttr -> FieldDef -> FieldDef
isFieldMaybe :: FieldDef -> Bool
isFieldNullable :: FieldDef -> IsNullable
overFieldAttrs :: ([FieldAttr] -> [FieldAttr]) -> FieldDef -> FieldDef
setFieldAttrs :: [FieldAttr] -> FieldDef -> FieldDef
fromPersistValueText :: PersistValue -> Either Text Text
derivePersistField :: String -> Q [Dec]
derivePersistFieldJSON :: String -> Q [Dec]
discoverEntities :: Q Exp
migrateModels :: [EntityDef] -> Migration
mkEntityDefList :: String -> [UnboundEntityDef] -> Q [Dec]
mkMigrate :: String -> [UnboundEntityDef] -> Q [Dec]
mkPersist :: MkPersistSettings -> [UnboundEntityDef] -> Q [Dec]
mkPersistSettings :: Type -> MkPersistSettings
mkPersistWith :: MkPersistSettings -> [EntityDef] -> [UnboundEntityDef] -> Q [Dec]
persistFieldFromEntity :: MkPersistSettings -> UnboundEntityDef -> Q [Dec]
persistFileWith :: PersistSettings -> FilePath -> Q Exp
persistLowerCase :: QuasiQuoter
persistManyFileWith :: PersistSettings -> [FilePath] -> Q Exp
persistUpperCase :: QuasiQuoter
persistWith :: PersistSettings -> QuasiQuoter
setImplicitIdDef :: ImplicitIdDef -> MkPersistSettings -> MkPersistSettings
share :: [[a] -> Q [Dec]] -> [a] -> Q [Dec]
sqlSettings :: MkPersistSettings
entitiesPrimary :: EntityDef -> NonEmpty FieldDef
entityPrimary :: EntityDef -> Maybe CompositeDef
fieldAttrsContainsNullable :: [FieldAttr] -> IsNullable
isFieldNotGenerated :: FieldDef -> Bool
isHaskellField :: FieldDef -> Bool
keyAndEntityFields :: EntityDef -> NonEmpty FieldDef
keyAndEntityFieldsDatabase :: EntityDef -> NonEmpty FieldDef
noCascade :: FieldCascade
parseFieldAttrs :: [Text] -> [FieldAttr]
renderCascadeAction :: CascadeAction -> Text
renderFieldCascade :: FieldCascade -> Text
cassius :: QuasiQuoter
renderCssUrl :: (url -> [(Text, Text)] -> Text) -> CssUrl url -> Text
julius :: QuasiQuoter
renderJavascriptUrl :: (url -> [(Text, Text)] -> Text) -> JavascriptUrl url -> Text
lucius :: QuasiQuoter
defMakeMessageOpts :: MakeMessageOpts
mkMessage :: String -> FilePath -> Lang -> Q [Dec]
mkMessageFor :: String -> String -> FilePath -> Lang -> Q [Dec]
mkMessageOpts :: MakeMessageOpts -> String -> String -> FilePath -> Lang -> Q [Dec]
mkMessageVariant :: String -> String -> FilePath -> Lang -> Q [Dec]
setConPrefix :: String -> MakeMessageOpts -> MakeMessageOpts
setGenType :: Bool -> MakeMessageOpts -> MakeMessageOpts
setTypeSuffix :: String -> MakeMessageOpts -> MakeMessageOpts
setUseRecordCons :: Bool -> MakeMessageOpts -> MakeMessageOpts
maybeAuthorized :: Yesod site => Route site -> Bool -> HandlerT site IO (Maybe (Route site))
runFakeHandler :: (Yesod site, MonadIO m) => SessionMap -> (site -> Logger) -> site -> HandlerT site IO a -> m (Either ErrorResponse a)
showIntegral :: Integral a => a -> String
unauthorizedI :: (MonadHandler m, RenderMessage (HandlerSite m) msg) => msg -> m AuthResult
yesodVersion :: String
breadcrumbs :: (YesodBreadcrumbs site, Show (Route site), Eq (Route site)) => HandlerFor site (Text, [(Route site, Text)])
authorizationCheck :: Yesod site => HandlerFor site ()
clientSessionBackend :: Key -> IO ClientSessionDateCache -> SessionBackend
csrfCheckMiddleware :: HandlerFor site res -> HandlerFor site Bool -> CI ByteString -> Text -> HandlerFor site res
csrfSetCookieMiddleware :: HandlerFor site res -> SetCookie -> HandlerFor site res
customizeSessionCookies :: (SetCookie -> SetCookie) -> SessionBackend -> SessionBackend
defaultClientSessionBackend :: Int -> FilePath -> IO SessionBackend
defaultCsrfCheckMiddleware :: Yesod site => HandlerFor site res -> HandlerFor site res
defaultCsrfMiddleware :: Yesod site => HandlerFor site res -> HandlerFor site res
defaultCsrfSetCookieMiddleware :: HandlerFor site res -> HandlerFor site res
defaultErrorHandler :: Yesod site => ErrorResponse -> HandlerFor site TypedContent
defaultMakeLogger :: IO Logger
defaultMessageLoggerSource :: (LogSource -> LogLevel -> IO Bool) -> Logger -> Loc -> LogSource -> LogLevel -> LogStr -> IO ()
defaultShouldLogIO :: LogSource -> LogLevel -> IO Bool
defaultYesodMiddleware :: Yesod site => HandlerFor site res -> HandlerFor site res
envClientSessionBackend :: Int -> String -> IO SessionBackend
formatLogMessage :: IO ZonedDate -> Loc -> LogSource -> LogLevel -> LogStr -> IO LogStr
getApprootText :: Approot site -> site -> Request -> Text
guessApprootOr :: Approot site -> Approot site
laxSameSiteSessions :: IO (Maybe SessionBackend) -> IO (Maybe SessionBackend)
loadClientSession :: Key -> IO ClientSessionDateCache -> ByteString -> Request -> IO (SessionMap, SaveSession)
sslOnlyMiddleware :: Int -> HandlerFor site res -> HandlerFor site res
sslOnlySessions :: IO (Maybe SessionBackend) -> IO (Maybe SessionBackend)
strictSameSiteSessions :: IO (Maybe SessionBackend) -> IO (Maybe SessionBackend)
widgetToPageContent :: Yesod site => WidgetFor site () -> HandlerFor site (PageContent (Route site))
contentTypeTypes :: ContentType -> (ByteString, ByteString)
emptyContent :: Content
repJson :: ToContent a => a -> RepJson
repPlain :: ToContent a => a -> RepPlain
repXml :: ToContent a => a -> RepXml
simpleContentType :: ContentType -> ContentType
typeAtom :: ContentType
typeCss :: ContentType
typeFlv :: ContentType
typeGif :: ContentType
typeHtml :: ContentType
typeJavascript :: ContentType
typeJpeg :: ContentType
typeJson :: ContentType
typeOctet :: ContentType
typeOgv :: ContentType
typePlain :: ContentType
typePng :: ContentType
typeRss :: ContentType
typeSvg :: ContentType
typeXml :: ContentType
defaultGen :: IO Int
defaultMiddlewaresNoLogging :: Middleware
getGetMaxExpires :: IO (IO Text)
mkDefaultMiddlewares :: Logger -> IO Middleware
toWaiApp :: YesodDispatch site => site -> IO Application
toWaiAppPlain :: YesodDispatch site => site -> IO Application
toWaiAppYre :: YesodDispatch site => YesodRunnerEnv site -> Application
warpDebug :: YesodDispatch site => Int -> site -> IO ()
warpEnv :: YesodDispatch site => site -> IO ()
addContentDispositionFileName :: MonadHandler m => Text -> m ()
addHeader :: MonadHandler m => Text -> Text -> m ()
addMessage :: MonadHandler m => Text -> Html -> m ()
addMessageI :: (MonadHandler m, RenderMessage (HandlerSite m) msg) => Text -> msg -> m ()
alreadyExpired :: MonadHandler m => m ()
badMethod :: MonadHandler m => m a
cacheByGet :: (MonadHandler m, Typeable a) => ByteString -> m (Maybe a)
cacheBySet :: (MonadHandler m, Typeable a) => ByteString -> a -> m ()
cacheGet :: (MonadHandler m, Typeable a) => m (Maybe a)
cacheSeconds :: MonadHandler m => Int -> m ()
cacheSet :: (MonadHandler m, Typeable a) => a -> m ()
cached :: (MonadHandler m, Typeable a) => m a -> m a
cachedBy :: (MonadHandler m, Typeable a) => ByteString -> m a -> m a
checkCsrfHeaderNamed :: MonadHandler m => CI ByteString -> m ()
checkCsrfHeaderOrParam :: (MonadHandler m, MonadLogger m) => CI ByteString -> Text -> m ()
checkCsrfParamNamed :: MonadHandler m => Text -> m ()
clearSession :: MonadHandler m => m ()
clearUltDest :: MonadHandler m => m ()
defaultCsrfParamName :: Text
deleteCookie :: MonadHandler m => Text -> Text -> m ()
deleteSession :: MonadHandler m => Text -> m ()
expiresAt :: MonadHandler m => UTCTime -> m ()
fileSource :: forall (m :: Type -> Type). MonadResource m => FileInfo -> ConduitT () ByteString m ()
fileSourceByteString :: MonadResource m => FileInfo -> m ByteString
forkHandler :: (SomeException -> HandlerFor site ()) -> HandlerFor site () -> HandlerFor site ()
getCurrentRoute :: MonadHandler m => m (Maybe (Route (HandlerSite m)))
getExpires :: MonadIO m => Int -> m UTCTime
getMessage :: MonadHandler m => m (Maybe Html)
getMessageRender :: (MonadHandler m, RenderMessage (HandlerSite m) message) => m (message -> Text)
getMessages :: MonadHandler m => m [(Text, Html)]
getPostParams :: MonadHandler m => m [(Text, Text)]
getRequest :: MonadHandler m => m YesodRequest
getRouteToParent :: MonadHandler m => m (Route (SubHandlerSite m) -> Route (HandlerSite m))
getSession :: MonadHandler m => m SessionMap
getSubCurrentRoute :: MonadHandler m => m (Maybe (Route (SubHandlerSite m)))
getSubYesod :: MonadHandler m => m (SubHandlerSite m)
getUrlRender :: MonadHandler m => m (Route (HandlerSite m) -> Text)
getUrlRenderParams :: MonadHandler m => m (Route (HandlerSite m) -> [(Text, Text)] -> Text)
getYesod :: MonadHandler m => m (HandlerSite m)
getsYesod :: MonadHandler m => (HandlerSite m -> a) -> m a
giveUrlRenderer :: MonadHandler m => ((Route (HandlerSite m) -> [(Text, Text)] -> Text) -> output) -> m output
hamletToRepHtml :: MonadHandler m => HtmlUrl (Route (HandlerSite m)) -> m Html
handlerToIO :: MonadIO m => HandlerFor site (HandlerFor site a -> m a)
hasValidCsrfHeaderNamed :: MonadHandler m => CI ByteString -> m Bool
hasValidCsrfParamNamed :: MonadHandler m => Text -> m Bool
invalidArgs :: MonadHandler m => [Text] -> m a
invalidArgsI :: (MonadHandler m, RenderMessage (HandlerSite m) msg) => [msg] -> m a
languages :: MonadHandler m => m [Text]
lookupBasicAuth :: MonadHandler m => m (Maybe (Text, Text))
lookupBearerAuth :: MonadHandler m => m (Maybe Text)
lookupCookie :: MonadHandler m => Text -> m (Maybe Text)
lookupCookies :: MonadHandler m => Text -> m [Text]
lookupFile :: MonadHandler m => Text -> m (Maybe FileInfo)
lookupFiles :: MonadHandler m => Text -> m [FileInfo]
lookupGetParam :: MonadHandler m => Text -> m (Maybe Text)
lookupGetParams :: MonadHandler m => Text -> m [Text]
lookupHeader :: MonadHandler m => CI ByteString -> m (Maybe ByteString)
lookupHeaders :: MonadHandler m => CI ByteString -> m [ByteString]
lookupPostParam :: (MonadResource m, MonadHandler m) => Text -> m (Maybe Text)
lookupPostParams :: (MonadResource m, MonadHandler m) => Text -> m [Text]
lookupSession :: MonadHandler m => Text -> m (Maybe Text)
lookupSessionBS :: MonadHandler m => Text -> m (Maybe ByteString)
neverExpires :: MonadHandler m => m ()
newIdent :: MonadHandler m => m Text
notAuthenticated :: MonadHandler m => m a
notModified :: MonadHandler m => m a
permissionDenied :: MonadHandler m => Text -> m a
permissionDeniedI :: (RenderMessage (HandlerSite m) msg, MonadHandler m) => msg -> m a
provideRep :: (Monad m, HasContentType a) => m a -> Writer (Endo [ProvidedRep m]) ()
provideRepType :: (Monad m, ToContent a) => ContentType -> m a -> Writer (Endo [ProvidedRep m]) ()
rawRequestBody :: forall (m :: Type -> Type) i. MonadHandler m => ConduitT i ByteString m ()
redirect :: (MonadHandler m, RedirectUrl (HandlerSite m) url) => url -> m a
redirectToPost :: (MonadHandler m, RedirectUrl (HandlerSite m) url) => url -> m a
redirectUltDest :: (RedirectUrl (HandlerSite m) url, MonadHandler m) => url -> m a
redirectWith :: (MonadHandler m, RedirectUrl (HandlerSite m) url) => Status -> url -> m a
replaceOrAddHeader :: MonadHandler m => Text -> Text -> m ()
respondSource :: ContentType -> ConduitT () (Flush Builder) (HandlerFor site) () -> HandlerFor site TypedContent
runRequestBody :: MonadHandler m => m RequestBodyContents
selectRep :: MonadHandler m => Writer (Endo [ProvidedRep m]) () -> m TypedContent
sendChunk :: forall (m :: Type -> Type) a i. (Monad m, ToFlushBuilder a) => a -> ConduitT i (Flush Builder) m ()
sendChunkBS :: forall (m :: Type -> Type) i. Monad m => ByteString -> ConduitT i (Flush Builder) m ()
sendChunkHtml :: forall (m :: Type -> Type) i. Monad m => Html -> ConduitT i (Flush Builder) m ()
sendChunkLBS :: forall (m :: Type -> Type) i. Monad m => ByteString -> ConduitT i (Flush Builder) m ()
sendChunkLazyText :: forall (m :: Type -> Type) i. Monad m => Text -> ConduitT i (Flush Builder) m ()
sendChunkText :: forall (m :: Type -> Type) i. Monad m => Text -> ConduitT i (Flush Builder) m ()
sendFile :: MonadHandler m => ContentType -> FilePath -> m a
sendFilePart :: MonadHandler m => ContentType -> FilePath -> Integer -> Integer -> m a
sendFlush :: forall (m :: Type -> Type) i. Monad m => ConduitT i (Flush Builder) m ()
sendRawResponse :: (MonadHandler m, MonadUnliftIO m) => (ConduitT () ByteString IO () -> ConduitT ByteString Void IO () -> m ()) -> m a
sendRawResponseNoConduit :: (MonadHandler m, MonadUnliftIO m) => (IO ByteString -> (ByteString -> IO ()) -> m ()) -> m a
sendResponse :: (MonadHandler m, ToTypedContent c) => c -> m a
sendResponseCreated :: MonadHandler m => Route (HandlerSite m) -> m a
sendResponseNoContent :: MonadHandler m => m a
sendResponseStatus :: (MonadHandler m, ToTypedContent c) => Status -> c -> m a
sendStatusJSON :: (MonadHandler m, ToJSON c) => Status -> c -> m a
sendWaiApplication :: MonadHandler m => Application -> m b
sendWaiResponse :: MonadHandler m => Response -> m b
setCookie :: MonadHandler m => SetCookie -> m ()
setCsrfCookie :: MonadHandler m => m ()
setCsrfCookieWithCookie :: MonadHandler m => SetCookie -> m ()
setEtag :: MonadHandler m => Text -> m ()
setHeader :: MonadHandler m => Text -> Text -> m ()
setLanguage :: MonadHandler m => Text -> m ()
setMessage :: MonadHandler m => Html -> m ()
setMessageI :: (MonadHandler m, RenderMessage (HandlerSite m) msg) => msg -> m ()
setSession :: MonadHandler m => Text -> Text -> m ()
setSessionBS :: MonadHandler m => Text -> ByteString -> m ()
setUltDest :: (MonadHandler m, RedirectUrl (HandlerSite m) url) => url -> m ()
setUltDestCurrent :: MonadHandler m => m ()
setUltDestReferer :: MonadHandler m => m ()
setWeakEtag :: MonadHandler m => Text -> m ()
waiRequest :: MonadHandler m => m Request
withUrlRenderer :: MonadHandler m => ((Route (HandlerSite m) -> [(Text, Text)] -> Text) -> output) -> m output
yesodRender :: Yesod y => y -> ResolvedApproot -> Route y -> [(Text, Text)] -> Text
clientSessionDateCacher :: NominalDiffTime -> IO (IO ClientSessionDateCache, IO ())
mkYesod :: String -> [ResourceTree String] -> Q [Dec]
mkYesodData :: String -> [ResourceTree String] -> Q [Dec]
mkYesodDataOpts :: RouteOpts -> String -> [ResourceTree String] -> Q [Dec]
mkYesodDispatchOpts :: RouteOpts -> String -> [ResourceTree String] -> Q [Dec]
mkYesodOpts :: RouteOpts -> String -> [ResourceTree String] -> Q [Dec]
mkYesodSubData :: String -> [ResourceTree String] -> Q [Dec]
mkYesodSubDataOpts :: RouteOpts -> String -> [ResourceTree String] -> Q [Dec]
mkYesodSubDispatch :: [ResourceTree a] -> Q Exp
mkYesodWith :: [[String]] -> String -> [String] -> [ResourceTree String] -> Q [Dec]
formatRFC1123 :: UTCTime -> Text
formatRFC822 :: UTCTime -> Text
formatW3 :: UTCTime -> Text
acceptsJson :: MonadHandler m => m Bool
contentTypeHeaderIsJson :: ByteString -> Bool
defaultLayoutJson :: (Yesod site, ToJSON a) => WidgetFor site () -> HandlerFor site a -> HandlerFor site TypedContent
jsonEncodingOrRedirect :: (MonadHandler m, ToJSON a) => Route (HandlerSite m) -> a -> m Encoding
jsonOrRedirect :: (MonadHandler m, ToJSON a) => Route (HandlerSite m) -> a -> m Value
jsonToRepJson :: (Monad m, ToJSON a) => a -> m Value
parseCheckJsonBody :: (MonadHandler m, FromJSON a) => m (Result a)
parseInsecureJsonBody :: (MonadHandler m, FromJSON a) => m (Result a)
parseJsonBody :: (MonadHandler m, FromJSON a) => m (Result a)
parseJsonBody_ :: (MonadHandler m, FromJSON a) => m a
provideJson :: forall (m :: Type -> Type) a. (Monad m, ToJSON a) => a -> Writer (Endo [ProvidedRep m]) ()
requireCheckJsonBody :: (MonadHandler m, FromJSON a) => m a
requireInsecureJsonBody :: (MonadHandler m, FromJSON a) => m a
requireJsonBody :: (MonadHandler m, FromJSON a) => m a
returnJson :: (Monad m, ToJSON a) => a -> m Value
returnJsonEncoding :: (Monad m, ToJSON a) => a -> m Encoding
addScript :: MonadWidget m => Route (HandlerSite m) -> m ()
addScriptAttrs :: MonadWidget m => Route (HandlerSite m) -> [(Text, Text)] -> m ()
addScriptEither :: MonadWidget m => Either (Route (HandlerSite m)) Text -> m ()
addScriptRemote :: MonadWidget m => Text -> m ()
addScriptRemoteAttrs :: MonadWidget m => Text -> [(Text, Text)] -> m ()
addStylesheet :: MonadWidget m => Route (HandlerSite m) -> m ()
addStylesheetAttrs :: MonadWidget m => Route (HandlerSite m) -> [(Text, Text)] -> m ()
addStylesheetEither :: MonadWidget m => Either (Route (HandlerSite m)) Text -> m ()
addStylesheetRemote :: MonadWidget m => Text -> m ()
addStylesheetRemoteAttrs :: MonadWidget m => Text -> [(Text, Text)] -> m ()
asWidgetT :: forall site (m :: Type -> Type). WidgetT site m () -> WidgetT site m ()
handlerToWidget :: HandlerFor site a -> WidgetFor site a
ihamletToHtml :: (MonadHandler m, RenderMessage (HandlerSite m) message) => HtmlUrlI18n message (Route (HandlerSite m)) -> m Html
ihamletToRepHtml :: (MonadHandler m, RenderMessage (HandlerSite m) message) => HtmlUrlI18n message (Route (HandlerSite m)) -> m Html
setDescription :: MonadWidget m => Text -> m ()
setDescriptionI :: (MonadWidget m, RenderMessage (HandlerSite m) msg) => msg -> m ()
setDescriptionIdemp :: MonadWidget m => Text -> m ()
setDescriptionIdempI :: (MonadWidget m, RenderMessage (HandlerSite m) msg) => msg -> m ()
setOGImage :: MonadWidget m => Text -> m ()
setOGType :: MonadWidget m => Text -> m ()
setTitleI :: (MonadWidget m, RenderMessage (HandlerSite m) msg) => msg -> m ()
whamlet :: QuasiQuoter
whamletFile :: FilePath -> Q Exp
whamletFileWithSettings :: HamletSettings -> FilePath -> Q Exp
parseRoutes :: QuasiQuoter
parseRoutesFile :: FilePath -> Q Exp
parseRoutesFileNoCheck :: FilePath -> Q Exp
parseRoutesNoCheck :: QuasiQuoter
defaultOpts :: RouteOpts
setCreateResources :: Bool -> RouteOpts -> RouteOpts
setEqDerived :: Bool -> RouteOpts -> RouteOpts
setParameterizedSubroute :: Bool -> RouteOpts -> RouteOpts
setReadDerived :: Bool -> RouteOpts -> RouteOpts
setShowDerived :: Bool -> RouteOpts -> RouteOpts
boolField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Bool
checkBoxField :: forall (m :: Type -> Type). Monad m => Field m Bool
checkboxesField :: Eq a => HandlerFor site (OptionList a) -> Field (HandlerFor site) [a]
checkboxesField' :: Eq a => HandlerFor site (OptionList a) -> Field (HandlerFor site) [a]
checkboxesFieldList :: (Eq a, RenderMessage site msg) => [(msg, a)] -> Field (HandlerFor site) [a]
colorField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Text
datetimeLocalField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m LocalTime
dayField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Day
defaultFormMessage :: FormMessage -> Text
doubleField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Double
emailField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Text
fileAFormOpt :: forall (m :: Type -> Type). MonadHandler m => FieldSettings (HandlerSite m) -> AForm m (Maybe FileInfo)
fileAFormReq :: forall (m :: Type -> Type). (MonadHandler m, RenderMessage (HandlerSite m) FormMessage) => FieldSettings (HandlerSite m) -> AForm m FileInfo
fileField :: forall (m :: Type -> Type). Monad m => Field m FileInfo
hiddenField :: forall (m :: Type -> Type) p. (Monad m, PathPiece p, RenderMessage (HandlerSite m) FormMessage) => Field m p
htmlField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Html
intField :: forall (m :: Type -> Type) i. (Monad m, Integral i, RenderMessage (HandlerSite m) FormMessage) => Field m i
mkOptionList :: [Option a] -> OptionList a
mkOptionListGrouped :: [(Text, [Option a])] -> OptionList a
multiEmailField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m [Text]
multiSelectField :: Eq a => HandlerFor site (OptionList a) -> Field (HandlerFor site) [a]
multiSelectFieldList :: (Eq a, RenderMessage site msg) => [(msg, a)] -> Field (HandlerFor site) [a]
optionsEnum :: (MonadHandler m, Show a, Enum a, Bounded a) => m (OptionList a)
optionsPairs :: (MonadHandler m, RenderMessage (HandlerSite m) msg) => [(msg, a)] -> m (OptionList a)
optionsPairsGrouped :: (MonadHandler m, RenderMessage (HandlerSite m) msg) => [(msg, [(msg, a)])] -> m (OptionList a)
optionsPersist :: (YesodPersist site, PersistQueryRead backend, PathPiece (Key a), RenderMessage site msg, YesodPersistBackend site ~ backend, PersistRecordBackend a backend) => [Filter a] -> [SelectOpt a] -> (a -> msg) -> HandlerFor site (OptionList (Entity a))
optionsPersistKey :: (YesodPersist site, PersistQueryRead backend, PathPiece (Key a), RenderMessage site msg, backend ~ YesodPersistBackend site, PersistRecordBackend a backend) => [Filter a] -> [SelectOpt a] -> (a -> msg) -> HandlerFor site (OptionList (Key a))
parseDate :: String -> Either FormMessage Day
passwordField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Text
radioField :: (Eq a, RenderMessage site FormMessage) => HandlerFor site (OptionList a) -> Field (HandlerFor site) a
radioField' :: (Eq a, RenderMessage site FormMessage) => HandlerFor site (OptionList a) -> Field (HandlerFor site) a
radioFieldList :: (Eq a, RenderMessage site FormMessage, RenderMessage site msg) => [(msg, a)] -> Field (HandlerFor site) a
searchField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => AutoFocus -> Field m Text
selectField :: (Eq a, RenderMessage site FormMessage) => HandlerFor site (OptionList a) -> Field (HandlerFor site) a
selectFieldHelper :: (Eq a, RenderMessage site FormMessage) => (Text -> Text -> [(Text, Text)] -> WidgetFor site () -> WidgetFor site ()) -> (Text -> Text -> Bool -> WidgetFor site ()) -> (Text -> Text -> [(Text, Text)] -> Text -> Bool -> Text -> WidgetFor site ()) -> Maybe (Text -> WidgetFor site ()) -> HandlerFor site (OptionList a) -> Field (HandlerFor site) a
selectFieldList :: (Eq a, RenderMessage site FormMessage, RenderMessage site msg) => [(msg, a)] -> Field (HandlerFor site) a
selectFieldListGrouped :: (Eq a, RenderMessage site FormMessage, RenderMessage site msg) => [(msg, [(msg, a)])] -> Field (HandlerFor site) a
textField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Text
textareaField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Textarea
timeField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m TimeOfDay
timeFieldTypeText :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m TimeOfDay
timeFieldTypeTime :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m TimeOfDay
urlField :: forall (m :: Type -> Type). (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m Text
withRadioField :: (Eq a, RenderMessage site FormMessage) => (Text -> WidgetFor site () -> WidgetFor site ()) -> (Text -> Text -> Bool -> Text -> WidgetFor site () -> WidgetFor site ()) -> HandlerFor site (OptionList a) -> Field (HandlerFor site) a
aFormToForm :: forall (m :: Type -> Type) site a. (Monad m, HandlerSite m ~ site) => AForm m a -> MForm m (FormResult a, [FieldView site] -> [FieldView site])
addClass :: Text -> [(Text, Text)] -> [(Text, Text)]
aopt :: forall (m :: Type -> Type) a. MonadHandler m => Field m a -> FieldSettings (HandlerSite m) -> Maybe (Maybe a) -> AForm m (Maybe a)
areq :: forall site (m :: Type -> Type) a. (RenderMessage site FormMessage, HandlerSite m ~ site, MonadHandler m) => Field m a -> FieldSettings site -> Maybe a -> AForm m a
areqMsg :: forall site msg (m :: Type -> Type) a. (RenderMessage site msg, HandlerSite m ~ site, MonadHandler m) => Field m a -> FieldSettings site -> msg -> Maybe a -> AForm m a
askFiles :: forall (m :: Type -> Type). Monad m => MForm m (Maybe FileEnv)
askParams :: forall (m :: Type -> Type). Monad m => MForm m (Maybe Env)
checkBool :: forall (m :: Type -> Type) msg a. (Monad m, RenderMessage (HandlerSite m) msg) => (a -> Bool) -> msg -> Field m a -> Field m a
checkM :: (Monad m, RenderMessage (HandlerSite m) msg) => (a -> m (Either msg a)) -> Field m a -> Field m a
checkMMap :: (Monad m, RenderMessage (HandlerSite m) msg) => (a -> m (Either msg b)) -> (b -> a) -> Field m a -> Field m b
convertField :: forall (m :: Type -> Type) a b. Functor m => (a -> b) -> (b -> a) -> Field m a -> Field m b
customErrorMessage :: forall (m :: Type -> Type) a. Monad m => SomeMessage (HandlerSite m) -> Field m a -> Field m a
fieldSettingsLabel :: RenderMessage site msg => msg -> FieldSettings site
formToAForm :: forall (m :: Type -> Type) site a. (HandlerSite m ~ site, Monad m) => MForm m (FormResult a, [FieldView site]) -> AForm m a
generateFormGet :: MonadHandler m => (Markup -> MForm m a) -> m (a, Enctype)
generateFormGet' :: MonadHandler m => (Markup -> MForm m (FormResult a, xml)) -> m (xml, Enctype)
generateFormPost :: (RenderMessage (HandlerSite m) FormMessage, MonadHandler m) => (Markup -> MForm m (FormResult a, xml)) -> m (xml, Enctype)
identifyForm :: forall (m :: Type -> Type) a. Monad m => Text -> (Markup -> MForm m (FormResult a, WidgetFor (HandlerSite m) ())) -> Markup -> MForm m (FormResult a, WidgetFor (HandlerSite m) ())
mFormToWForm :: forall (m :: Type -> Type) site a. (MonadHandler m, HandlerSite m ~ site) => MForm m (a, FieldView site) -> WForm m a
mopt :: forall site (m :: Type -> Type) a. (site ~ HandlerSite m, MonadHandler m) => Field m a -> FieldSettings site -> Maybe (Maybe a) -> MForm m (FormResult (Maybe a), FieldView site)
mreq :: forall site (m :: Type -> Type) a. (RenderMessage site FormMessage, HandlerSite m ~ site, MonadHandler m) => Field m a -> FieldSettings site -> Maybe a -> MForm m (FormResult a, FieldView site)
mreqMsg :: forall site msg (m :: Type -> Type) a. (RenderMessage site msg, HandlerSite m ~ site, MonadHandler m) => Field m a -> FieldSettings site -> msg -> Maybe a -> MForm m (FormResult a, FieldView site)
newFormIdent :: forall (m :: Type -> Type). Monad m => MForm m Text
parseHelper :: (Monad m, RenderMessage site FormMessage) => (Text -> Either FormMessage a) -> [Text] -> [FileInfo] -> m (Either (SomeMessage site) (Maybe a))
parseHelperGen :: (Monad m, RenderMessage site msg) => (Text -> Either msg a) -> [Text] -> [FileInfo] -> m (Either (SomeMessage site) (Maybe a))
removeClass :: Text -> [(Text, Text)] -> [(Text, Text)]
renderBootstrap :: forall (m :: Type -> Type) a. Monad m => FormRender m a
renderBootstrap2 :: forall (m :: Type -> Type) a. Monad m => FormRender m a
renderDivs :: forall (m :: Type -> Type) a. Monad m => FormRender m a
renderDivsNoLabels :: forall (m :: Type -> Type) a. Monad m => FormRender m a
renderTable :: forall (m :: Type -> Type) a. Monad m => FormRender m a
runFormGet :: MonadHandler m => (Markup -> MForm m a) -> m (a, Enctype)
runFormPost :: (RenderMessage (HandlerSite m) FormMessage, MonadResource m, MonadHandler m) => (Markup -> MForm m (FormResult a, xml)) -> m ((FormResult a, xml), Enctype)
runFormPostNoToken :: MonadHandler m => (Markup -> MForm m a) -> m (a, Enctype)
wFormToAForm :: forall (m :: Type -> Type) a. MonadHandler m => WForm m (FormResult a) -> AForm m a
wFormToMForm :: forall (m :: Type -> Type) site a. (MonadHandler m, HandlerSite m ~ site) => WForm m a -> MForm m (a, [FieldView site])
wopt :: forall (m :: Type -> Type) site a. (MonadHandler m, HandlerSite m ~ site) => Field m a -> FieldSettings site -> Maybe (Maybe a) -> WForm m (FormResult (Maybe a))
wreq :: forall site (m :: Type -> Type) a. (RenderMessage site FormMessage, HandlerSite m ~ site, MonadHandler m) => Field m a -> FieldSettings site -> Maybe a -> WForm m (FormResult a)
wreqMsg :: forall site msg (m :: Type -> Type) a. (RenderMessage site msg, HandlerSite m ~ site, MonadHandler m) => Field m a -> FieldSettings site -> msg -> Maybe a -> WForm m (FormResult a)
iopt :: forall (m :: Type -> Type) a. Monad m => Field m a -> Text -> FormInput m (Maybe a)
ireq :: forall (m :: Type -> Type) a. (Monad m, RenderMessage (HandlerSite m) FormMessage) => Field m a -> Text -> FormInput m a
runInputGet :: MonadHandler m => FormInput m a -> m a
runInputGetResult :: MonadHandler m => FormInput m a -> m (FormResult a)
runInputPost :: MonadHandler m => FormInput m a -> m a
runInputPostResult :: MonadHandler m => FormInput m a -> m (FormResult a)
defaultGetDBRunner :: (IsSqlBackend backend, YesodPersistBackend site ~ backend) => (site -> Pool backend) -> HandlerFor site (DBRunner site, HandlerFor site ())
defaultRunDB :: PersistConfig c => (site -> c) -> (site -> PersistConfigPool c) -> PersistConfigBackend c (HandlerFor site) a -> HandlerFor site a
get404 :: forall (m :: Type -> Type) backend val. (MonadIO m, PersistStoreRead backend, PersistRecordBackend val backend) => Key val -> ReaderT backend m val
getBy404 :: forall backend val (m :: Type -> Type). (PersistUniqueRead backend, PersistRecordBackend val backend, MonadIO m) => Unique val -> ReaderT backend m (Entity val)
insert400 :: forall (m :: Type -> Type) backend val. (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend, SafeToInsert val) => val -> ReaderT backend m (Key val)
insert400_ :: forall (m :: Type -> Type) backend val. (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend, SafeToInsert val) => val -> ReaderT backend m ()
respondSourceDB :: YesodPersistRunner site => ContentType -> ConduitT () (Flush Builder) (YesodDB site) () -> HandlerFor site TypedContent
runDBSource :: YesodPersistRunner site => ConduitT () a (YesodDB site) () -> ConduitT () a (HandlerFor site) ()
type PersistQuery a = PersistQueryWrite a
type PersistStore a = PersistStoreWrite a
type PersistUnique a = PersistUniqueWrite a
type family PersistConfigBackend c :: Type -> Type -> Type -> Type
type family PersistConfigPool c
type family BackendSpecificFilter backend record
type family BackendSpecificUpdate backend record
data Entity record
Entity :: Key record -> record -> Entity record
[entityKey] :: Entity record -> Key record
[entityVal] :: Entity record -> record
data family EntityField record :: Type -> Type
data Filter record
Filter :: EntityField record typ -> FilterValue typ -> PersistFilter -> Filter record
[filterField] :: Filter record -> EntityField record typ
[filterValue] :: Filter record -> FilterValue typ
[filterFilter] :: Filter record -> PersistFilter
FilterAnd :: [Filter record] -> Filter record
FilterOr :: [Filter record] -> Filter record
BackendFilter :: BackendSpecificFilter (PersistEntityBackend record) record -> Filter record
data FilterValue typ
[FilterValue] :: forall typ. typ -> FilterValue typ
[FilterValues] :: forall typ. [typ] -> FilterValue typ
[UnsafeValue] :: forall a typ. PersistField a => a -> FilterValue typ
type family PersistEntityBackend record
class SafeToInsert a
class SymbolToField (sym :: Symbol) rec typ | sym rec -> typ
symbolToField :: SymbolToField sym rec typ => EntityField rec typ
newtype OverflowNatural
OverflowNatural :: Natural -> OverflowNatural
[unOverflowNatural] :: OverflowNatural -> Natural
class PersistField a
toPersistValue :: PersistField a => a -> PersistValue
fromPersistValue :: PersistField a => PersistValue -> Either Text a
class (PersistQueryRead backend, PersistStoreWrite backend) => PersistQueryWrite backend
updateWhere :: forall (m :: Type -> Type) record. (PersistQueryWrite backend, MonadIO m, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> ReaderT backend m ()
deleteWhere :: forall (m :: Type -> Type) record. (PersistQueryWrite backend, MonadIO m, PersistRecordBackend record backend) => [Filter record] -> ReaderT backend m ()
class BackendCompatible sup sub
projectBackend :: BackendCompatible sup sub => sub -> sup
class PersistCore backend where {
    data BackendKey backend;
}
data family BackendKey backend
class HasPersistBackend backend where {
    type BaseBackend backend;
}
persistBackend :: HasPersistBackend backend => backend -> BaseBackend backend
type family BaseBackend backend
class HasPersistBackend backend => IsPersistBackend backend
type PersistRecordBackend record backend = (PersistEntity record, PersistEntityBackend record ~ BaseBackend backend)
class (PersistEntity record, PersistEntityBackend record ~ backend, PersistCore backend) => ToBackendKey backend record
toBackendKey :: ToBackendKey backend record => Key record -> BackendKey backend
fromBackendKey :: ToBackendKey backend record => BackendKey backend -> Key record
class PersistEntity record => AtLeastOneUniqueKey record
requireUniquesP :: AtLeastOneUniqueKey record => record -> NonEmpty (Unique record)
type MultipleUniqueKeysError ty = 'Text "The entity " ':<>: 'ShowType ty ':<>: 'Text " has multiple unique keys." ':$$: 'Text "The function you are trying to call requires only a single " ':<>: 'Text "unique key." ':$$: 'Text "There is probably a variant of the function with 'By' " ':<>: 'Text "appended that will allow you to select a unique key " ':<>: 'Text "for the operation."
type NoUniqueKeysError ty = 'Text "The entity " ':<>: 'ShowType ty ':<>: 'Text " does not have any unique keys." ':$$: 'Text "The function you are trying to call requires a unique key " ':<>: 'Text "to be defined on the entity."
class PersistEntity record => OnlyOneUniqueKey record
onlyUniqueP :: OnlyOneUniqueKey record => record -> Unique record
class PersistStoreRead backend => PersistUniqueRead backend
getBy :: forall record (m :: Type -> Type). (PersistUniqueRead backend, MonadIO m, PersistRecordBackend record backend) => Unique record -> ReaderT backend m (Maybe (Entity record))
existsBy :: forall record (m :: Type -> Type). (PersistUniqueRead backend, MonadIO m, PersistRecordBackend record backend) => Unique record -> ReaderT backend m Bool
data ImplicitIdDef
newtype ConstraintNameDB
ConstraintNameDB :: Text -> ConstraintNameDB
[unConstraintNameDB] :: ConstraintNameDB -> Text
newtype ConstraintNameHS
ConstraintNameHS :: Text -> ConstraintNameHS
[unConstraintNameHS] :: ConstraintNameHS -> Text
class DatabaseName a
escapeWith :: DatabaseName a => (Text -> str) -> a -> str
newtype EntityNameDB
EntityNameDB :: Text -> EntityNameDB
[unEntityNameDB] :: EntityNameDB -> Text
newtype EntityNameHS
EntityNameHS :: Text -> EntityNameHS
[unEntityNameHS] :: EntityNameHS -> Text
newtype FieldNameDB
FieldNameDB :: Text -> FieldNameDB
[unFieldNameDB] :: FieldNameDB -> Text
newtype FieldNameHS
FieldNameHS :: Text -> FieldNameHS
[unFieldNameHS] :: FieldNameHS -> Text
data LiteralType
Escaped :: LiteralType
Unescaped :: LiteralType
DbSpecific :: LiteralType
data PersistValue
PersistText :: Text -> PersistValue
PersistByteString :: ByteString -> PersistValue
PersistInt64 :: Int64 -> PersistValue
PersistDouble :: Double -> PersistValue
PersistRational :: Rational -> PersistValue
PersistBool :: Bool -> PersistValue
PersistDay :: Day -> PersistValue
PersistTimeOfDay :: TimeOfDay -> PersistValue
PersistUTCTime :: UTCTime -> PersistValue
PersistNull :: PersistValue
PersistList :: [PersistValue] -> PersistValue
PersistMap :: [(Text, PersistValue)] -> PersistValue
PersistObjectId :: ByteString -> PersistValue
PersistArray :: [PersistValue] -> PersistValue
PersistLiteral_ :: LiteralType -> ByteString -> PersistValue
pattern PersistDbSpecific :: ByteString -> PersistValue
pattern PersistLiteral :: ByteString -> PersistValue
pattern PersistLiteralEscaped :: ByteString -> PersistValue
data EntityJSON
EntityJSON :: Name -> Name -> EntityJSON
[entityToJSON] :: EntityJSON -> Name
[entityFromJSON] :: EntityJSON -> Name
data MkPersistSettings
data CascadeAction
Cascade :: CascadeAction
Restrict :: CascadeAction
SetNull :: CascadeAction
SetDefault :: CascadeAction
data Checkmark
Active :: Checkmark
Inactive :: Checkmark
data CompositeDef
CompositeDef :: !NonEmpty FieldDef -> ![Attr] -> CompositeDef
[compositeFields] :: CompositeDef -> !NonEmpty FieldDef
[compositeAttrs] :: CompositeDef -> ![Attr]
data EmbedEntityDef
EmbedEntityDef :: EntityNameHS -> [EmbedFieldDef] -> EmbedEntityDef
[embeddedHaskell] :: EmbedEntityDef -> EntityNameHS
[embeddedFields] :: EmbedEntityDef -> [EmbedFieldDef]
data EmbedFieldDef
EmbedFieldDef :: FieldNameDB -> Maybe (Either SelfEmbed EntityNameHS) -> EmbedFieldDef
[emFieldDB] :: EmbedFieldDef -> FieldNameDB
[emFieldEmbed] :: EmbedFieldDef -> Maybe (Either SelfEmbed EntityNameHS)
data EntityDef
data EntityIdDef
EntityIdField :: !FieldDef -> EntityIdDef
EntityIdNaturalKey :: !CompositeDef -> EntityIdDef
type ExtraLine = [Text]
data FieldAttr
FieldAttrMaybe :: FieldAttr
FieldAttrNullable :: FieldAttr
FieldAttrMigrationOnly :: FieldAttr
FieldAttrSafeToRemove :: FieldAttr
FieldAttrNoreference :: FieldAttr
FieldAttrReference :: Text -> FieldAttr
FieldAttrConstraint :: Text -> FieldAttr
FieldAttrDefault :: Text -> FieldAttr
FieldAttrSqltype :: Text -> FieldAttr
FieldAttrMaxlen :: Integer -> FieldAttr
FieldAttrSql :: Text -> FieldAttr
FieldAttrOther :: Text -> FieldAttr
data FieldCascade
FieldCascade :: !Maybe CascadeAction -> !Maybe CascadeAction -> FieldCascade
[fcOnUpdate] :: FieldCascade -> !Maybe CascadeAction
[fcOnDelete] :: FieldCascade -> !Maybe CascadeAction
data FieldDef
FieldDef :: !FieldNameHS -> !FieldNameDB -> !FieldType -> !SqlType -> ![FieldAttr] -> !Bool -> !ReferenceDef -> !FieldCascade -> !Maybe Text -> !Maybe Text -> !Bool -> FieldDef
[fieldHaskell] :: FieldDef -> !FieldNameHS
[fieldDB] :: FieldDef -> !FieldNameDB
[fieldType] :: FieldDef -> !FieldType
[fieldSqlType] :: FieldDef -> !SqlType
[fieldAttrs] :: FieldDef -> ![FieldAttr]
[fieldStrict] :: FieldDef -> !Bool
[fieldReference] :: FieldDef -> !ReferenceDef
[fieldCascade] :: FieldDef -> !FieldCascade
[fieldComments] :: FieldDef -> !Maybe Text
[fieldGenerated] :: FieldDef -> !Maybe Text
[fieldIsImplicitIdColumn] :: FieldDef -> !Bool
data FieldType
FTTypeCon :: Maybe Text -> Text -> FieldType
FTLit :: FieldTypeLit -> FieldType
FTTypePromoted :: Text -> FieldType
FTApp :: FieldType -> FieldType -> FieldType
FTList :: FieldType -> FieldType
data ForeignDef
ForeignDef :: !EntityNameHS -> !EntityNameDB -> !ConstraintNameHS -> !ConstraintNameDB -> !FieldCascade -> ![(ForeignFieldDef, ForeignFieldDef)] -> ![Attr] -> Bool -> Bool -> ForeignDef
[foreignRefTableHaskell] :: ForeignDef -> !EntityNameHS
[foreignRefTableDBName] :: ForeignDef -> !EntityNameDB
[foreignConstraintNameHaskell] :: ForeignDef -> !ConstraintNameHS
[foreignConstraintNameDBName] :: ForeignDef -> !ConstraintNameDB
[foreignFieldCascade] :: ForeignDef -> !FieldCascade
[foreignFields] :: ForeignDef -> ![(ForeignFieldDef, ForeignFieldDef)]
[foreignAttrs] :: ForeignDef -> ![Attr]
[foreignNullable] :: ForeignDef -> Bool
[foreignToPrimary] :: ForeignDef -> Bool
type ForeignFieldDef = (FieldNameHS, FieldNameDB)
data IsNullable
Nullable :: !WhyNullable -> IsNullable
NotNullable :: IsNullable
data PersistException
PersistError :: Text -> PersistException
PersistMarshalError :: Text -> PersistException
PersistInvalidField :: Text -> PersistException
PersistForeignConstraintUnmet :: Text -> PersistException
PersistMongoDBError :: Text -> PersistException
PersistMongoDBUnsupported :: Text -> PersistException
data ReferenceDef
NoReference :: ReferenceDef
ForeignRef :: !EntityNameHS -> ReferenceDef
EmbedRef :: EntityNameHS -> ReferenceDef
SelfReference :: ReferenceDef
data SqlType
SqlString :: SqlType
SqlInt32 :: SqlType
SqlInt64 :: SqlType
SqlReal :: SqlType
SqlNumeric :: Word32 -> Word32 -> SqlType
SqlBool :: SqlType
SqlDay :: SqlType
SqlTime :: SqlType
SqlDayTime :: SqlType
SqlBlob :: SqlType
SqlOther :: Text -> SqlType
data UniqueDef
UniqueDef :: !ConstraintNameHS -> !ConstraintNameDB -> !NonEmpty (FieldNameHS, FieldNameDB) -> ![Attr] -> UniqueDef
[uniqueHaskell] :: UniqueDef -> !ConstraintNameHS
[uniqueDBName] :: UniqueDef -> !ConstraintNameDB
[uniqueFields] :: UniqueDef -> !NonEmpty (FieldNameHS, FieldNameDB)
[uniqueAttrs] :: UniqueDef -> ![Attr]
data UpdateException
KeyNotFound :: String -> UpdateException
UpsertError :: String -> UpdateException
data WhyNullable
ByMaybeAttr :: WhyNullable
ByNullableAttr :: WhyNullable
type Lang = Text
data MakeMessageOpts
class RenderMessage master message
renderMessage :: RenderMessage master message => master -> [Lang] -> message -> Text
data SomeMessage master
SomeMessage :: msg -> SomeMessage master
class ToMessage a
toMessage :: ToMessage a => a -> Text
class YesodBreadcrumbs site
breadcrumb :: YesodBreadcrumbs site => Route site -> HandlerFor site (Text, Maybe (Route site))
class ToTypedContent a => HasContentType a
getContentType :: (HasContentType a, Monad m) => m a -> ContentType
class ToContent a
toContent :: ToContent a => a -> Content
class ToFlushBuilder a
toFlushBuilder :: ToFlushBuilder a => a -> Flush Builder
type HandlerT site (m :: Type -> Type) = HandlerFor site
data ProvidedRep (m :: Type -> Type)
class RedirectUrl master a
toTextUrl :: (RedirectUrl master a, MonadHandler m, HandlerSite m ~ master) => a -> m Text
class ToWidget site a
toWidget :: (ToWidget site a, MonadWidget m, HandlerSite m ~ site) => a -> m ()
class ToWidgetBody site a
toWidgetBody :: (ToWidgetBody site a, MonadWidget m, HandlerSite m ~ site) => a -> m ()
class ToWidgetHead site a
toWidgetHead :: (ToWidgetHead site a, MonadWidget m, HandlerSite m ~ site) => a -> m ()
class ToWidgetMedia site a
toWidgetMedia :: (ToWidgetMedia site a, MonadWidget m, HandlerSite m ~ site) => Text -> a -> m ()
type WidgetT site (m :: Type -> Type) = WidgetFor site
data RouteOpts
type AutoFocus = Bool
data OptionList a
OptionList :: [Option a] -> (Text -> Maybe a) -> OptionList a
[olOptions] :: OptionList a -> [Option a]
[olReadExternal] :: OptionList a -> Text -> Maybe a
OptionListGrouped :: [(Text, [Option a])] -> (Text -> Maybe a) -> OptionList a
[olOptionsGrouped] :: OptionList a -> [(Text, [Option a])]
[olReadExternalGrouped] :: OptionList a -> Text -> Maybe a
newtype Textarea
Textarea :: Text -> Textarea
[unTextarea] :: Textarea -> Text
type FormRender (m :: Type -> Type) a = AForm m a -> Markup -> MForm m (FormResult a, WidgetFor HandlerSite m ())
newtype FormInput (m :: Type -> Type) a
FormInput :: (HandlerSite m -> [Text] -> Env -> FileEnv -> m (Either DText a)) -> FormInput (m :: Type -> Type) a
[unFormInput] :: FormInput (m :: Type -> Type) a -> HandlerSite m -> [Text] -> Env -> FileEnv -> m (Either DText a)
newtype AForm (m :: Type -> Type) a
AForm :: ((HandlerSite m, [Text]) -> Maybe (Env, FileEnv) -> Ints -> m (FormResult a, [FieldView (HandlerSite m)] -> [FieldView (HandlerSite m)], Ints, Enctype)) -> AForm (m :: Type -> Type) a
[unAForm] :: AForm (m :: Type -> Type) a -> (HandlerSite m, [Text]) -> Maybe (Env, FileEnv) -> Ints -> m (FormResult a, [FieldView (HandlerSite m)] -> [FieldView (HandlerSite m)], Ints, Enctype)
data Enctype
UrlEncoded :: Enctype
Multipart :: Enctype
data FieldSettings master
FieldSettings :: SomeMessage master -> Maybe (SomeMessage master) -> Maybe Text -> Maybe Text -> [(Text, Text)] -> FieldSettings master
[fsLabel] :: FieldSettings master -> SomeMessage master
[fsTooltip] :: FieldSettings master -> Maybe (SomeMessage master)
[fsId] :: FieldSettings master -> Maybe Text
[fsName] :: FieldSettings master -> Maybe Text
[fsAttrs] :: FieldSettings master -> [(Text, Text)]
data FieldView site
FieldView :: Markup -> Maybe Markup -> Text -> WidgetFor site () -> Maybe Markup -> Bool -> FieldView site
[fvLabel] :: FieldView site -> Markup
[fvTooltip] :: FieldView site -> Maybe Markup
[fvId] :: FieldView site -> Text
[fvInput] :: FieldView site -> WidgetFor site ()
[fvErrors] :: FieldView site -> Maybe Markup
[fvRequired] :: FieldView site -> Bool
type FieldViewFunc (m :: Type -> Type) a = Text -> Text -> [(Text, Text)] -> Either Text a -> Bool -> WidgetFor HandlerSite m ()
type FileEnv = Map Text [FileInfo]
data FormMessage
MsgInvalidInteger :: Text -> FormMessage
MsgInvalidNumber :: Text -> FormMessage
MsgInvalidEntry :: Text -> FormMessage
MsgInvalidUrl :: Text -> FormMessage
MsgInvalidEmail :: Text -> FormMessage
MsgInvalidTimeFormat :: FormMessage
MsgInvalidHour :: Text -> FormMessage
MsgInvalidMinute :: Text -> FormMessage
MsgInvalidSecond :: Text -> FormMessage
MsgInvalidDay :: FormMessage
MsgCsrfWarning :: FormMessage
MsgValueRequired :: FormMessage
MsgInputNotFound :: Text -> FormMessage
MsgSelectNone :: FormMessage
MsgInvalidBool :: Text -> FormMessage
MsgBoolYes :: FormMessage
MsgBoolNo :: FormMessage
MsgDelete :: FormMessage
MsgInvalidHexColorFormat :: Text -> FormMessage
MsgInvalidDatetimeFormat :: Text -> FormMessage
data Ints
IntCons :: Int -> Ints -> Ints
IntSingle :: Int -> Ints
type MForm (m :: Type -> Type) a = RWST (Maybe (Env, FileEnv), HandlerSite m, [Lang]) Enctype Ints m a
type WForm (m :: Type -> Type) a = MForm WriterT [FieldView HandlerSite m] m a
newtype DBRunner site
DBRunner :: (forall a. () => YesodDB site a -> HandlerFor site a) -> DBRunner site
[runDBRunner] :: DBRunner site -> forall a. () => YesodDB site a -> HandlerFor site a
type YesodDB site = ReaderT YesodPersistBackend site HandlerFor site
class Monad YesodDB site => YesodPersist site where {
    type YesodPersistBackend site;
}
runDB :: YesodPersist site => YesodDB site a -> HandlerFor site a
type family YesodPersistBackend site
class YesodPersist site => YesodPersistRunner site
getDBRunner :: YesodPersistRunner site => HandlerFor site (DBRunner site, HandlerFor site ())
type AppRoute = Route App
checkServerSideUiEnabled :: Handler ()

-- | Gather data used by handlers and templates in the current request.
getViewData :: Handler ViewData

-- | Find out if the sidebar should be visible. Show it, unless there is a
--   showsidebar cookie set to "0", or a ?sidebar=0 query parameter.
shouldShowSidebar :: Handler Bool

-- | Update our copy of the journal if the file changed. If there is an
--   error while reloading, keep the old one and return the error, and set
--   a ui message.
getCurrentJournal :: IORef Journal -> CliOpts -> Day -> Handler (Journal, Maybe String)

-- | In a request handler, check for the given permission and fail with a
--   message if it's not present.
require :: Permission -> Handler ()
fmapDefault :: Traversable t => (a -> b) -> t a -> t b
foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m
forAccumM :: (Monad m, Traversable t) => s -> t a -> (s -> a -> m (s, b)) -> m (s, t b)
mapAccumM :: (Monad m, Traversable t) => (s -> a -> m (s, b)) -> s -> t a -> m (s, t b)
calendarDay :: CalendarDiffDays
calendarMonth :: CalendarDiffDays
calendarWeek :: CalendarDiffDays
calendarYear :: CalendarDiffDays
scaleCalendarDiffDays :: Integer -> CalendarDiffDays -> CalendarDiffDays
dayOfWeek :: Day -> DayOfWeek
dayOfWeekDiff :: DayOfWeek -> DayOfWeek -> Int
firstDayOfWeekOnAfter :: DayOfWeek -> Day -> Day
weekAllDays :: DayOfWeek -> Day -> [Day]
weekFirstDay :: DayOfWeek -> Day -> Day
weekLastDay :: DayOfWeek -> Day -> Day
resourcesApp :: [ResourceTree String]
diffTimeToPicoseconds :: DiffTime -> Integer
picosecondsToDiffTime :: Integer -> DiffTime
secondsToDiffTime :: Integer -> DiffTime
getTime_resolution :: DiffTime
calendarTimeDays :: CalendarDiffDays -> CalendarDiffTime
calendarTimeTime :: NominalDiffTime -> CalendarDiffTime
scaleCalendarDiffTime :: Integer -> CalendarDiffTime -> CalendarDiffTime
daysAndTimeOfDayToTime :: Integer -> TimeOfDay -> NominalDiffTime
makeTimeOfDayValid :: Int -> Int -> Pico -> Maybe TimeOfDay
midday :: TimeOfDay
pastMidnight :: DiffTime -> TimeOfDay
sinceMidnight :: TimeOfDay -> DiffTime
timeToDaysAndTimeOfDay :: NominalDiffTime -> (Integer, TimeOfDay)
getCurrentTimeZone :: IO TimeZone
hoursToTimeZone :: Int -> TimeZone
timeZoneOffsetString :: TimeZone -> String
timeZoneOffsetString' :: Maybe Char -> TimeZone -> String


-- | Complete the definition of the web app begun in App.hs. This is always
--   done in two files for (TH?) reasons.
module Hledger.Web.Application
makeApplication :: WebOpts -> Journal -> AppConfig DefaultEnv Extra -> IO Application
makeApp :: AppConfig DefaultEnv Extra -> WebOpts -> IO App
makeAppWith :: Journal -> AppConfig DefaultEnv Extra -> WebOpts -> IO App
instance Yesod.Core.Class.Dispatch.YesodDispatch Hledger.Web.App.App


-- | Test suite for hledger-web.
--   
--   Dev notes:
--   
--   <a>http://hspec.github.io/writing-specs.html</a>
--   
--   
--   <a>https://hackage.haskell.org/package/yesod-test-1.6.10/docs/Yesod-Test.html</a>
--   
--   "The best way to see an example project using yesod-test is to create
--   a scaffolded Yesod project: stack new projectname yesodweb/sqlite (See
--   <a>https://github.com/commercialhaskell/stack-templates/wiki#yesod</a>
--   for the full list of Yesod templates)"
--   
--   These tests don't exactly match the production code path, eg these
--   bits are missing:
--   
--   withJournalDo copts (web wopts) -- extra withJournalDo logic
--   (journalTransform..) ... -- query logic, more options logic let
--   depthlessinitialq = filterQuery (not . queryIsDepth) . _rsQuery .
--   reportspec_ $ cliopts_ wopts j' = filterJournalTransactions
--   depthlessinitialq j h = host_ wopts p = port_ wopts u = base_url_
--   wopts staticRoot = T.pack <a>$</a> file_url_ wopts appconfig =
--   AppConfig{appEnv = Development ,appHost = fromString h ,appPort = p
--   ,appRoot = T.pack u ,appExtra = Extra "" Nothing staticRoot }
--   
--   The production code path, when called in this test context, which I
--   guess is using yesod's dev mode, needs to read
--   .<i>config</i>settings.yml and fails without it (loadConfig).
module Hledger.Web.Test

-- | Run hledger-web's built-in tests using the hspec test runner.
hledgerWebTest :: IO ()


-- | hledger-web - a basic but robust web UI and JSON API server for
--   hledger.
--   
--   SPDX-License-Identifier: GPL-3.0-or-later Copyright (c) 2007-2025
--   (each year in this range) Simon Michael <a>simon@joyful.com</a> and
--   contributors.
--   
--   This program is free software: you can redistribute it and/or modify
--   it under the terms of the GNU General Public License as published by
--   the Free Software Foundation, either version 3 of the License, or (at
--   your option) any later version.
--   
--   This program is distributed in the hope that it will be useful, but
--   WITHOUT ANY WARRANTY; without even the implied warranty of
--   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
--   General Public License for more details. You should have received a
--   copy of the GNU General Public License along with this program. If
--   not, see <a>https://www.gnu.org/licenses/</a>.
module Hledger.Web.Main
hledgerWebDev :: IO (Int, Application)
hledgerWebMain :: IO ()

-- | The hledger web command.
web :: WebOpts -> Journal -> IO ()


-- | This is the root module of the <tt>hledger-web</tt> package, providing
--   hledger's web user interface and JSON API. The main function and
--   command-line options are exported.
--   
--   <h2>See also:</h2>
--   
--   <ul>
--   <li>hledger-lib:Hledger</li>
--   <li>hledger:Hledger.Cli</li>
--   <li><a>The README files</a></li>
--   <li><a>The high-level developer docs</a></li>
--   </ul>
module Hledger.Web
