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


-- | Web-based user interface for the hledger accounting system
--   
--   A simple web-based 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.27.1


-- | Settings are centralized, as much as possible, into this file. This
--   includes database connection settings, static file locations, etc. In
--   addition, you can configure a number of different aspects of Yesod by
--   overriding methods in the Yesod typeclass. That instance is declared
--   in the Foundation.hs file.
module Hledger.Web.Settings
development :: Bool
production :: Bool
hledgerorgurl :: Text
manualurl :: Text

-- | 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

-- | The location of static files on your system. This is a file system
--   path. The default value works properly with your scaffolded site.
staticDir :: FilePath

-- | The base URL for your 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. For more information,
--   please see:
--   <a>http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain</a>
--   
--   If you change the resource pattern for StaticR in Foundation.hs, you
--   will have to make a corresponding change here.
--   
--   To see how this value is used, see urlRenderOverride in Foundation.hs
staticRoot :: AppConfig DefaultEnv Extra -> Text

-- | Settings for <a>widgetFile</a>, such as which template languages to
--   support and default Hamlet settings.
widgetFileSettings :: WidgetFileSettings
widgetFile :: String -> Q Exp
data Extra
Extra :: Text -> Maybe Text -> Maybe Text -> Extra
[extraCopyright] :: Extra -> Text

-- | Google Analytics
[extraAnalytics] :: Extra -> Maybe Text
[extraStaticRoot] :: Extra -> Maybe Text
parseExtra :: DefaultEnv -> Object -> Parser Extra
instance GHC.Show.Show Hledger.Web.Settings.Extra

module Hledger.Web.Settings.StaticFiles
staticSite :: IO Static
js_typeahead_bundle_min_js :: StaticRoute
js_typeahead_bundle_js :: StaticRoute
js_jquery_url_js :: StaticRoute
js_jquery_min_js :: StaticRoute
js_jquery_js :: StaticRoute
js_jquery_hotkeys_js :: StaticRoute
js_jquery_flot_tooltip_min_js :: StaticRoute
js_jquery_flot_tooltip_js :: StaticRoute
js_jquery_flot_time_min_js :: StaticRoute
js_jquery_flot_time_js :: StaticRoute
js_jquery_flot_threshold_min_js :: StaticRoute
js_jquery_flot_threshold_js :: StaticRoute
js_jquery_flot_symbol_min_js :: StaticRoute
js_jquery_flot_symbol_js :: StaticRoute
js_jquery_flot_stack_min_js :: StaticRoute
js_jquery_flot_stack_js :: StaticRoute
js_jquery_flot_selection_min_js :: StaticRoute
js_jquery_flot_selection_js :: StaticRoute
js_jquery_flot_resize_min_js :: StaticRoute
js_jquery_flot_resize_js :: StaticRoute
js_jquery_flot_pie_min_js :: StaticRoute
js_jquery_flot_pie_js :: StaticRoute
js_jquery_flot_navigate_min_js :: StaticRoute
js_jquery_flot_navigate_js :: StaticRoute
js_jquery_flot_min_js :: StaticRoute
js_jquery_flot_js :: StaticRoute
js_jquery_flot_image_min_js :: StaticRoute
js_jquery_flot_image_js :: StaticRoute
js_jquery_flot_fillbetween_min_js :: StaticRoute
js_jquery_flot_fillbetween_js :: StaticRoute
js_jquery_flot_errorbars_min_js :: StaticRoute
js_jquery_flot_errorbars_js :: StaticRoute
js_jquery_flot_crosshair_min_js :: StaticRoute
js_jquery_flot_crosshair_js :: StaticRoute
js_jquery_flot_categories_min_js :: StaticRoute
js_jquery_flot_categories_js :: StaticRoute
js_jquery_flot_canvas_min_js :: StaticRoute
js_jquery_flot_canvas_js :: StaticRoute
js_jquery_cookie_js :: StaticRoute
js_excanvas_min_js :: StaticRoute
js_excanvas_js :: StaticRoute
js_bootstrap_min_js :: StaticRoute
js_bootstrap_js :: StaticRoute
js_bootstrap_datepicker_min_js :: StaticRoute
fonts_glyphicons_halflings_regular_woff :: StaticRoute
fonts_glyphicons_halflings_regular_ttf :: StaticRoute
fonts_glyphicons_halflings_regular_svg :: StaticRoute
fonts_glyphicons_halflings_regular_eot :: StaticRoute
css_bootstrap_min_css :: StaticRoute
css_bootstrap_css_map :: StaticRoute
css_bootstrap_css :: StaticRoute
css_bootstrap_theme_min_css :: StaticRoute
css_bootstrap_theme_css_map :: StaticRoute
css_bootstrap_theme_css :: StaticRoute
css_bootstrap_datepicker_standalone_min_css :: StaticRoute
hledger_js :: StaticRoute
hledger_css :: StaticRoute

module Hledger.Web.WebOptions
packageversion :: PackageVersion
progname :: ProgramName
prognameandversion :: VersionString
webflags :: [Flag RawOpts]
webmode :: Mode RawOpts
data WebOpts
WebOpts :: Bool -> Bool -> Maybe String -> String -> Int -> String -> Maybe String -> [Capability] -> Maybe (CI ByteString) -> CliOpts -> Maybe String -> WebOpts
[serve_] :: WebOpts -> Bool
[serve_api_] :: WebOpts -> Bool
[cors_] :: WebOpts -> Maybe String
[host_] :: WebOpts -> String
[port_] :: WebOpts -> Int
[base_url_] :: WebOpts -> String
[file_url_] :: WebOpts -> Maybe String
[capabilities_] :: WebOpts -> [Capability]
[capabilitiesHeader_] :: WebOpts -> Maybe (CI ByteString)
[cliopts_] :: WebOpts -> CliOpts
[socket_] :: WebOpts -> Maybe String
defwebopts :: WebOpts
rawOptsToWebOpts :: RawOpts -> IO WebOpts
checkWebOpts :: WebOpts -> WebOpts
getHledgerWebOpts :: IO WebOpts
data Capability
CapView :: Capability
CapAdd :: Capability
CapManage :: Capability
capabilityFromText :: Text -> Either Text Capability
capabilityFromBS :: ByteString -> Either ByteString Capability
simplePolicyWithOrigin :: Origin -> CorsResourcePolicy
corsPolicyFromString :: String -> Middleware
corsPolicy :: WebOpts -> Application -> Application
instance GHC.Show.Show Hledger.Web.WebOptions.Capability
instance GHC.Enum.Enum Hledger.Web.WebOptions.Capability
instance GHC.Enum.Bounded Hledger.Web.WebOptions.Capability
instance GHC.Classes.Ord Hledger.Web.WebOptions.Capability
instance GHC.Classes.Eq Hledger.Web.WebOptions.Capability
instance GHC.Show.Show Hledger.Web.WebOptions.WebOpts
instance Data.Default.Class.Default Hledger.Web.WebOptions.WebOpts

module Hledger.Web.Widget.Common
accountQuery :: AccountName -> Text
accountOnlyQuery :: AccountName -> Text

-- | Render a <a>BalanceReport</a> as html.
balanceReportAsHtml :: Eq r => (r, r) -> r -> Bool -> Journal -> Text -> [QueryOpt] -> BalanceReport -> HtmlUrl r

-- | Link to a topic in the manual.
helplink :: Text -> Text -> HtmlUrl r
mixedAmountAsHtml :: MixedAmount -> HtmlUrl a
fromFormSuccess :: Applicative m => m a -> FormResult a -> m a

-- | A helper for postEditR/postUploadR: check that the given text parses
--   as a Journal, and if so, write it to the given file, if the text has
--   changed. Or, return any error message encountered.
--   
--   As a convenience for data received from web forms, which does not have
--   normalised line endings, line endings will be normalised (to n) before
--   parsing.
--   
--   The file will be written (if changed) with the current system's native
--   line endings (see writeFileWithBackupIfChanged).
writeJournalTextIfValidAndChanged :: MonadHandler m => FilePath -> Text -> ExceptT String m ()
journalFile404 :: FilePath -> Journal -> HandlerFor m (FilePath, Text)
transactionFragment :: Journal -> Transaction -> String
removeDates :: Text -> [Text]
removeInacct :: Text -> [Text]
replaceInacct :: Text -> Text -> Text


-- | Define the web application's foundation, in the usual Yesod style. See
--   a default Yesod app's comments for more details of each part.
module Hledger.Web.Foundation

-- | 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
[appJournal] :: App -> IORef Journal
type Handler = HandlerFor App
type Widget = WidgetFor App ()

-- | defines things like: type Handler = HandlerFor App -- HandlerT App IO,
--   <a>https://www.yesodweb.com/book/routing-and-handlers#routing-and-handlers_handler_monad</a>
--   type Widget = WidgetFor App () -- WidgetT App IO (),
--   <a>https://www.yesodweb.com/book/widgets</a>
resourcesApp :: [ResourceTree String]
type AppRoute = Route App
type Form a = Html -> MForm Handler (FormResult a, Widget)

-- | A bundle of data useful for hledger-web request handlers and
--   templates.
data ViewData
VD :: WebOpts -> Day -> Journal -> Text -> Query -> [QueryOpt] -> [Capability] -> 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
[j] :: ViewData -> Journal

-- | the current q parameter, the main query expression
[q] :: ViewData -> Text

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

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

-- | capabilities enabled for this request
[caps] :: ViewData -> [Capability]

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

-- | 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)
instance GHC.Read.Read (Yesod.Routes.Class.Route Hledger.Web.Foundation.App)
instance GHC.Classes.Eq (Yesod.Routes.Class.Route Hledger.Web.Foundation.App)
instance GHC.Show.Show (Yesod.Routes.Class.Route Hledger.Web.Foundation.App)
instance GHC.Show.Show Hledger.Web.Foundation.ViewData
instance Yesod.Core.Class.Yesod.Yesod Hledger.Web.Foundation.App
instance Yesod.Routes.Class.ParseRoute Hledger.Web.Foundation.App
instance Yesod.Routes.Class.RenderRoute Hledger.Web.Foundation.App
instance Yesod.Routes.Class.RouteAttrs Hledger.Web.Foundation.App
instance Text.Shakespeare.I18N.RenderMessage Hledger.Web.Foundation.App Yesod.Form.Types.FormMessage
instance GHC.Show.Show Text.Blaze.Internal.Markup

module Hledger.Web.Widget.AddForm
addForm :: Journal -> Day -> Markup -> MForm Handler (FormResult (Transaction, FilePath), Widget)
addModal :: Route App -> Journal -> Day -> Widget

module Hledger.Web.Import
(++) :: [a] -> [a] -> [a]
seq :: forall {r :: RuntimeRep} a (b :: TYPE r). a -> b -> b
filter :: (a -> Bool) -> [a] -> [a]
zip :: [a] -> [b] -> [(a, b)]
print :: Show a => a -> IO ()
fst :: (a, b) -> a
snd :: (a, b) -> b
otherwise :: Bool
map :: (a -> b) -> [a] -> [b]
($) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b
fromIntegral :: (Integral a, Num b) => a -> b
realToFrac :: (Real a, Fractional b) => a -> b
guard :: Alternative f => Bool -> f ()
join :: Monad m => m (m a) -> m 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 Eq a
(==) :: Eq a => a -> a -> Bool
(/=) :: Eq a => a -> a -> Bool
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 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 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
class Functor (f :: Type -> Type)
fmap :: Functor f => (a -> b) -> f a -> f b
(<$) :: Functor f => a -> f b -> f a
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 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
class Read a
readsPrec :: Read a => Int -> ReadS a
readList :: Read a => ReadS [a]
class (Num a, Ord a) => Real a
toRational :: Real a => a -> Rational
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
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
class Show a
showsPrec :: Show a => Int -> a -> ShowS
show :: Show a => a -> String
showList :: Show a => [a] -> ShowS
class Monad m => MonadFail (m :: Type -> Type)
fail :: MonadFail m => String -> m a
class Functor f => Applicative (f :: Type -> Type)
pure :: Applicative f => a -> f a
(<*>) :: Applicative f => f (a -> b) -> f a -> f b
(*>) :: Applicative f => f a -> f b -> f b
(<*) :: Applicative f => f a -> f b -> f a
class Foldable (t :: TYPE LiftedRep -> 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
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)
class Semigroup a
(<>) :: Semigroup a => a -> a -> a
class Semigroup a => Monoid a
mempty :: Monoid a => a
mappend :: Monoid a => a -> a -> a
mconcat :: Monoid a => [a] -> a
data Bool
False :: Bool
True :: Bool
type String = [Char]
data Char
data Double
data Float
data Int
data Integer
data Maybe a
Nothing :: Maybe a
Just :: a -> Maybe a
data Ordering
LT :: Ordering
EQ :: Ordering
GT :: Ordering
type Rational = Ratio Integer
data IO a
data Word
data Either a b
Left :: a -> Either a b
Right :: b -> Either a b
data Header
AddCookie :: !SetCookie -> Header
DeleteCookie :: !ByteString -> !ByteString -> Header
Header :: !CI ByteString -> !ByteString -> Header
defaultCsrfHeaderName :: CI ByteString
defaultCsrfCookieName :: ByteString
type Application = Request -> Response -> IO ResponseReceived -> IO ResponseReceived
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 ()
(<$>) :: Functor f => (a -> b) -> f a -> f b
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
uncurry :: (a -> b -> c) -> (a, b) -> c
($!) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b
(.) :: (b -> c) -> (a -> b) -> a -> c
(=<<) :: 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
error :: forall (r :: RuntimeRep) (a :: TYPE r). HasCallStack => [Char] -> a
errorWithoutStackTrace :: forall (r :: RuntimeRep) (a :: TYPE r). [Char] -> a
undefined :: forall (r :: RuntimeRep) (a :: TYPE r). HasCallStack => a
ioError :: IOError -> IO a
userError :: String -> IOError
(!!) :: [a] -> Int -> a
break :: (a -> Bool) -> [a] -> ([a], [a])
cycle :: [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
not :: Bool -> Bool
(||) :: Bool -> Bool -> Bool
type FilePath = String
type IOError = IOException
type ShowS = String -> String
type ReadS a = String -> [(a, String)]
class Default a
def :: Default a => a
catMaybes :: [Maybe a] -> [a]
fromJust :: HasCallStack => Maybe a -> a
fromMaybe :: a -> Maybe a -> a
isJust :: Maybe a -> Bool
isNothing :: Maybe a -> Bool
listToMaybe :: [a] -> Maybe a
mapMaybe :: (a -> Maybe b) -> [a] -> [b]
maybeToList :: Maybe a -> [a]
data Text
data ByteString
class (Alternative m, Monad m) => MonadPlus (m :: Type -> Type)
mzero :: MonadPlus m => m a
mplus :: MonadPlus m => m a -> m a -> m a
(.:) :: FromJSON a => Object -> Key -> Parser a
object :: [Pair] -> Value
class FromJSON a
parseJSON :: FromJSON a => Value -> Parser a
parseJSONList :: FromJSON a => Value -> Parser [a]
data Value
Object :: !Object -> Value
Array :: !Array -> Value
String :: !Text -> Value
Number :: !Scientific -> Value
Bool :: !Bool -> Value
Null :: Value
(.=) :: (KeyValue 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
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 Void
hamlet :: QuasiQuoter
shamlet :: QuasiQuoter
xhamlet :: QuasiQuoter
type Html = Markup
type HtmlUrl url = Render url -> Html
data UTCTime
UTCTime :: Day -> DiffTime -> UTCTime
[utctDay] :: UTCTime -> Day
[utctDayTime] :: UTCTime -> DiffTime
data family Route a
data HandlerFor site a
newtype Day
ModifiedJulianDay :: Integer -> Day
[toModifiedJulianDay] :: Day -> Integer
data DayOfWeek
Monday :: DayOfWeek
Tuesday :: DayOfWeek
Wednesday :: DayOfWeek
Thursday :: DayOfWeek
Friday :: DayOfWeek
Saturday :: DayOfWeek
Sunday :: DayOfWeek
data DiffTime
data LocalTime
LocalTime :: Day -> TimeOfDay -> LocalTime
[localDay] :: LocalTime -> Day
[localTimeOfDay] :: LocalTime -> TimeOfDay
data NominalDiffTime
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 TimeOfDay
TimeOfDay :: Int -> Int -> Pico -> TimeOfDay
[todHour] :: TimeOfDay -> Int
[todMin] :: TimeOfDay -> Int
[todSec] :: TimeOfDay -> Pico
data TimeZone
TimeZone :: Int -> Bool -> String -> TimeZone
[timeZoneMinutes] :: TimeZone -> Int
[timeZoneSummerOnly] :: TimeZone -> Bool
[timeZoneName] :: TimeZone -> String
newtype UniversalTime
ModJulianDate :: Rational -> UniversalTime
[getModJulianDate] :: UniversalTime -> Rational
utc :: TimeZone
class MonadTrans (t :: Type -> Type -> Type -> Type)
lift :: (MonadTrans t, Monad m) => m a -> t m a
class FormatTime t
data CalendarDiffDays
CalendarDiffDays :: Integer -> Integer -> CalendarDiffDays
[cdMonths] :: CalendarDiffDays -> Integer
[cdDays] :: CalendarDiffDays -> Integer
data CalendarDiffTime
CalendarDiffTime :: Integer -> NominalDiffTime -> CalendarDiffTime
[ctMonths] :: CalendarDiffTime -> Integer
[ctTime] :: CalendarDiffTime -> NominalDiffTime
type Year = Integer
data ZonedTime
ZonedTime :: LocalTime -> TimeZone -> ZonedTime
[zonedTimeToLocalTime] :: ZonedTime -> LocalTime
[zonedTimeZone] :: ZonedTime -> TimeZone
defaultTimeLocale :: TimeLocale
iso8601DateFormat :: Maybe String -> String
rfc822DateFormat :: String
parseTimeM :: (MonadFail m, ParseTime t) => Bool -> TimeLocale -> String -> String -> m t
parseTimeMultipleM :: (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
class ParseTime t
type MonthOfYear = Int
zonedTimeToUTC :: ZonedTime -> UTCTime
type DayOfMonth = Int
getZonedTime :: IO ZonedTime
utcToLocalZonedTime :: UTCTime -> IO ZonedTime
utcToZonedTime :: TimeZone -> UTCTime -> ZonedTime
utcToLocalTime :: TimeZone -> UTCTime -> LocalTime
localTimeToUTC :: TimeZone -> LocalTime -> UTCTime
addLocalTime :: NominalDiffTime -> LocalTime -> LocalTime
diffLocalTime :: LocalTime -> LocalTime -> NominalDiffTime
localTimeToUT1 :: Rational -> LocalTime -> UniversalTime
ut1ToLocalTime :: Rational -> UniversalTime -> LocalTime
showGregorian :: Day -> String
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)
isLeapYear :: Year -> Bool
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
when :: Applicative f => Bool -> f () -> f ()
class 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 MonadIO m => MonadUnliftIO (m :: Type -> Type)
withRunInIO :: MonadUnliftIO m => ((forall a. () => m a -> IO a) -> IO b) -> m b
data Extra
Extra :: Text -> Maybe Text -> Maybe Text -> Extra
[extraCopyright] :: Extra -> Text

-- | Google Analytics
[extraAnalytics] :: Extra -> Maybe Text
[extraStaticRoot] :: Extra -> Maybe Text
development :: Bool
production :: Bool
hledgerorgurl :: Text
manualurl :: Text

-- | 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

-- | The location of static files on your system. This is a file system
--   path. The default value works properly with your scaffolded site.
staticDir :: FilePath

-- | The base URL for your 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. For more information,
--   please see:
--   <a>http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain</a>
--   
--   If you change the resource pattern for StaticR in Foundation.hs, you
--   will have to make a corresponding change here.
--   
--   To see how this value is used, see urlRenderOverride in Foundation.hs
staticRoot :: AppConfig DefaultEnv Extra -> Text

-- | Settings for <a>widgetFile</a>, such as which template languages to
--   support and default Hamlet settings.
widgetFileSettings :: WidgetFileSettings
widgetFile :: String -> Q Exp
parseExtra :: DefaultEnv -> Object -> Parser Extra
asum :: (Foldable t, Alternative f) => t (f a) -> f a
find :: Foldable t => (a -> Bool) -> t a -> Maybe a
foldlM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
foldrM :: (Foldable t, Monad m) => (a -> b -> m b) -> b -> t a -> m b
forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
for_ :: (Foldable t, Applicative f) => t a -> (a -> f b) -> f ()
maximumBy :: Foldable t => (a -> a -> Ordering) -> t a -> a
minimumBy :: Foldable t => (a -> a -> Ordering) -> t a -> 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 ()
isLeft :: Either a b -> Bool
void :: Functor f => f a -> f ()
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)])
class YesodSubDispatch sub master
yesodSubDispatch :: YesodSubDispatch sub master => YesodSubRunnerEnv sub master -> Application
data TypedContent
TypedContent :: !ContentType -> !Content -> TypedContent
staticSite :: IO Static
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
class RenderRoute a => RouteAttrs a
routeAttrs :: RouteAttrs a => Route a -> Set Text
preEscapedToMarkup :: ToMarkup a => a -> Markup
type Markup = MarkupM ()
mapAndUnzipM :: Applicative m => (a -> m (b, c)) -> [a] -> m ([b], [c])
(<$!>) :: 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
filterM :: Applicative m => (a -> m Bool) -> [a] -> m [a]
foldM :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b
foldM_ :: (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m ()
forever :: Applicative f => f a -> f b
mfilter :: MonadPlus m => (a -> Bool) -> m a -> m a
replicateM :: Applicative m => Int -> m a -> m [a]
replicateM_ :: Applicative m => Int -> m a -> m ()
unless :: Applicative f => Bool -> f () -> f ()
zipWithM :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m [c]
zipWithM_ :: Applicative m => (a -> b -> m c) -> [a] -> [b] -> m ()
forM :: (Traversable t, Monad m) => t a -> (a -> m b) -> m (t b)
addDays :: Integer -> Day -> Day
diffDays :: Day -> Day -> Integer
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
data LogLevel
LevelDebug :: LogLevel
LevelInfo :: LogLevel
LevelWarn :: LogLevel
LevelError :: LogLevel
LevelOther :: Text -> LogLevel
class Monad m => MonadLogger (m :: Type -> Type)
type CssUrl url = url -> [(Text, Text)] -> Text -> Css
class (MonadResource m, MonadLogger m) => MonadHandler (m :: Type -> Type) where {
    type family HandlerSite (m :: Type -> Type);
    type family SubHandlerSite (m :: Type -> Type);
}
liftHandler :: MonadHandler m => HandlerFor (HandlerSite m) a -> m a
liftSubHandler :: MonadHandler m => SubHandlerFor (SubHandlerSite m) (HandlerSite m) a -> m a
type family HandlerSite (m :: Type -> Type)
type family SubHandlerSite (m :: Type -> Type)
class MonadHandler m => MonadWidget (m :: Type -> Type)
liftWidget :: MonadWidget m => WidgetFor (HandlerSite m) a -> m a
data SubHandlerFor sub master a
data WidgetFor site a
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 ()
newtype LiteApp
LiteApp :: (Method -> [Text] -> Maybe (LiteHandler TypedContent)) -> LiteApp
[unLiteApp] :: LiteApp -> Method -> [Text] -> Maybe (LiteHandler TypedContent)
type LiteHandler = HandlerFor LiteApp
type LiteWidget = WidgetFor LiteApp
class Yesod site => YesodDispatch site
yesodDispatch :: YesodDispatch site => YesodRunnerEnv site -> Application
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 ()
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)
class ToContent a => ToTypedContent a
toTypedContent :: ToTypedContent a => a -> TypedContent
data FileUpload
FileUploadMemory :: !BackEnd ByteString -> FileUpload
FileUploadDisk :: !InternalState -> BackEnd FilePath -> FileUpload
FileUploadSource :: !BackEnd (ConduitT () ByteString (ResourceT IO) ()) -> FileUpload
type SessionMap = Map Text ByteString
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
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]
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
data Content
ContentBuilder :: !Builder -> !Maybe Int -> Content
ContentSource :: !ConduitT () (Flush Builder) (ResourceT IO) () -> Content
ContentFile :: !FilePath -> !Maybe FilePart -> Content
ContentDontEvaluate :: !Content -> Content
type ContentType = ByteString
newtype CssBuilder
CssBuilder :: Builder -> CssBuilder
[unCssBuilder] :: CssBuilder -> Builder
newtype DontFullyEvaluate a
DontFullyEvaluate :: a -> DontFullyEvaluate a
[unDontFullyEvaluate] :: DontFullyEvaluate a -> a
data FileInfo
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
type RepHtml = Html
newtype RepJson
RepJson :: Content -> RepJson
newtype RepPlain
RepPlain :: Content -> RepPlain
newtype RepXml
RepXml :: Content -> RepXml
type RequestBodyContents = ([(Text, Text)], [(Text, FileInfo)])
type Texts = [Text]
newtype WaiSubsite
WaiSubsite :: Application -> WaiSubsite
[runWaiSubsite] :: WaiSubsite -> Application
newtype WaiSubsiteWithAuth
WaiSubsiteWithAuth :: Application -> WaiSubsiteWithAuth
[runWaiSubsiteWithAuth] :: WaiSubsiteWithAuth -> Application
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]
type JavascriptUrl url = url -> [(Text, Text)] -> Text -> Javascript
data Capability
CapView :: Capability
CapAdd :: Capability
CapManage :: Capability
fromLeft :: a -> Either a b -> a
fromRight :: b -> Either a b -> b
isRight :: Either a b -> Bool
lefts :: [Either a b] -> [a]
partitionEithers :: [Either a b] -> ([a], [b])
rights :: [Either a b] -> [b]
fmapDefault :: Traversable t => (a -> b) -> t a -> t b
foldMapDefault :: (Traversable t, Monoid m) => (a -> m) -> t a -> m
for :: (Traversable t, Applicative f) => t a -> (a -> f b) -> f (t b)
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)
unfoldr :: (b -> Maybe (a, b)) -> b -> [a]
toHtml :: ToMarkup a => a -> Html
(!=.) :: 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
toJsonText :: ToJSON j => j -> Text
(||.) :: [Filter v] -> [Filter v] -> [Filter v]
deleteCascadeWhere :: forall record backend (m :: Type -> Type). (MonadIO m, DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> ReaderT backend m ()
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
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, MonadIO m) => e -> ReaderT backend m (Entity e)
insertRecord :: forall record backend (m :: Type -> Type). (PersistEntityBackend record ~ BaseBackend backend, PersistEntity record, MonadIO m, PersistStoreWrite backend) => 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))
insertBy :: forall record backend (m :: Type -> Type). (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend record backend, AtLeastOneUniqueKey record) => record -> ReaderT backend m (Either (Entity record) (Key record))
insertUniqueEntity :: forall record backend (m :: Type -> Type). (MonadIO m, PersistRecordBackend record backend, PersistUniqueWrite backend) => 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
getEntityUniques :: 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
embedEntityDefs :: [EntityDef] -> [UnboundEntityDef] -> [UnboundEntityDef]
fieldError :: Text -> Text -> Text -> Text
lensPTH :: (s -> a) -> (s -> b -> t) -> Lens s t a b
migrateModels :: [EntityDef] -> Migration
mkDeleteCascade :: MkPersistSettings -> [UnboundEntityDef] -> Q [Dec]
mkEntityDefList :: String -> [UnboundEntityDef] -> Q [Dec]
mkMigrate :: String -> [UnboundEntityDef] -> Q [Dec]
mkPersist :: MkPersistSettings -> [UnboundEntityDef] -> Q [Dec]
mkPersistSettings :: Type -> MkPersistSettings
mkPersistWith :: MkPersistSettings -> [EntityDef] -> [UnboundEntityDef] -> Q [Dec]
mkSave :: String -> [EntityDef] -> Q [Dec]
parseReferences :: PersistSettings -> Text -> Q Exp
persistFieldFromEntity :: MkPersistSettings -> UnboundEntityDef -> Q [Dec]
persistFileWith :: PersistSettings -> FilePath -> Q Exp
persistLowerCase :: QuasiQuoter
persistManyFileWith :: PersistSettings -> [FilePath] -> Q Exp
persistUpperCase :: QuasiQuoter
persistWith :: PersistSettings -> QuasiQuoter
pkNewtype :: MkPersistSettings -> UnboundEntityDef -> Bool
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
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
mkMessage :: String -> FilePath -> Lang -> Q [Dec]
mkMessageFor :: String -> String -> FilePath -> Lang -> Q [Dec]
mkMessageVariant :: String -> String -> FilePath -> Lang -> Q [Dec]
maybeAuthorized :: Yesod site => Route site -> Bool -> HandlerT site IO (Maybe (Route site))
readIntegral :: Num a => String -> Maybe a
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
warp :: YesodDispatch site => Int -> site -> IO ()
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
notFound :: 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 ()
respond :: (Monad m, ToContent a) => ContentType -> a -> m TypedContent
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
yesodRunner :: (ToTypedContent res, Yesod site) => HandlerFor site res -> YesodRunnerEnv site -> Maybe (Route site) -> Application
clientSessionDateCacher :: NominalDiffTime -> IO (IO ClientSessionDateCache, IO ())
mkYesod :: String -> [ResourceTree String] -> Q [Dec]
mkYesodData :: String -> [ResourceTree String] -> Q [Dec]
mkYesodDispatch :: String -> [ResourceTree String] -> Q [Dec]
mkYesodSubData :: 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
array :: ToJSON a => [a] -> Value
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 ()
setTitle :: MonadWidget m => Html -> 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
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]
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
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
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)
check :: forall (m :: Type -> Type) msg a. (Monad m, RenderMessage (HandlerSite m) msg) => (a -> Either msg a) -> Field m a -> Field m a
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) => val -> ReaderT backend m (Key val)
insert400_ :: forall (m :: Type -> Type) backend val. (MonadIO m, PersistUniqueWrite backend, PersistRecordBackend val backend) => 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
class (PersistStoreWrite backend, PersistEntity record, BaseBackend backend ~ PersistEntityBackend record) => DeleteCascade record backend
deleteCascade :: forall (m :: Type -> Type). (DeleteCascade record backend, MonadIO m) => Key record -> ReaderT backend m ()
class PersistConfig c where {
    type family PersistConfigBackend c :: Type -> Type -> Type -> Type;
    type family 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
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
data family Key record
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 family PersistEntityBackend record;
    data family Key record;
    data family EntityField record :: Type -> Type;
    data family 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 -> [SomePersistField]
fromPersistValues :: PersistEntity record => [PersistValue] -> Either Text 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)
type family PersistEntityBackend record
data family Unique record
data SelectOpt record
Asc :: EntityField record typ -> SelectOpt record
Desc :: EntityField record typ -> SelectOpt record
OffsetBy :: Int -> SelectOpt record
LimitTo :: Int -> SelectOpt record
class SymbolToField (sym :: Symbol) rec typ | sym rec -> typ
symbolToField :: SymbolToField sym rec typ => EntityField rec typ
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
newtype OverflowNatural
OverflowNatural :: Natural -> OverflowNatural
[unOverflowNatural] :: OverflowNatural -> Natural
class PersistField a
toPersistValue :: PersistField a => a -> PersistValue
fromPersistValue :: PersistField a => PersistValue -> Either Text a
data SomePersistField
SomePersistField :: a -> SomePersistField
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
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
data family BackendKey backend
type family BaseBackend backend
class HasPersistBackend backend where {
    type family BaseBackend backend;
}
persistBackend :: HasPersistBackend backend => backend -> BaseBackend backend
class HasPersistBackend backend => IsPersistBackend backend
class PersistCore backend where {
    data family BackendKey backend;
}
type PersistRecordBackend record backend = (PersistEntity record, PersistEntityBackend record ~ BaseBackend backend)
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)
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) => record -> ReaderT backend m (Key record)
insert_ :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => record -> ReaderT backend m ()
insertMany :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => [record] -> ReaderT backend m [Key record]
insertMany_ :: forall record (m :: Type -> Type). (PersistStoreWrite backend, MonadIO m, PersistRecordBackend record backend) => [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 (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))
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) => record -> ReaderT backend m (Maybe (Key record))
upsert :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend, OnlyOneUniqueKey record) => record -> [Update record] -> ReaderT backend m (Entity record)
upsertBy :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> ReaderT backend m (Entity record)
putMany :: forall record (m :: Type -> Type). (PersistUniqueWrite backend, MonadIO m, PersistRecordBackend record backend) => [record] -> ReaderT backend m ()
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 PersistLiteralEscaped :: ByteString -> PersistValue
pattern PersistLiteral :: ByteString -> PersistValue
pattern PersistDbSpecific :: ByteString -> PersistValue
data EntityJSON
EntityJSON :: Name -> Name -> EntityJSON
[entityToJSON] :: EntityJSON -> Name
[entityFromJSON] :: EntityJSON -> Name
data MkPersistSettings
type Attr = Text
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
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 PersistFilter
Eq :: PersistFilter
Ne :: PersistFilter
Gt :: PersistFilter
Lt :: PersistFilter
Ge :: PersistFilter
Le :: PersistFilter
In :: PersistFilter
NotIn :: PersistFilter
BackendSpecificFilter :: Text -> PersistFilter
data PersistUpdate
Assign :: PersistUpdate
Add :: PersistUpdate
Subtract :: PersistUpdate
Multiply :: PersistUpdate
Divide :: PersistUpdate
BackendSpecificUpdate :: Text -> PersistUpdate
data ReferenceDef
NoReference :: ReferenceDef
ForeignRef :: !EntityNameHS -> ReferenceDef
EmbedRef :: EntityNameHS -> ReferenceDef
CompositeRef :: CompositeDef -> 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
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
data Fragment a b
(:#:) :: a -> b -> Fragment a b
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
type AutoFocus = Bool
data Option a
Option :: Text -> a -> Text -> Option a
[optionDisplay] :: Option a -> Text
[optionInternalValue] :: Option a -> a
[optionExternalValue] :: Option a -> Text
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
type Env = Map Text [Text]
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
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
data FormResult a
FormMissing :: FormResult a
FormFailure :: [Text] -> FormResult a
FormSuccess :: a -> FormResult a
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 family 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 ())
nominalDay :: NominalDiffTime
nominalDiffTimeToSeconds :: NominalDiffTime -> Pico
secondsToNominalDiffTime :: Pico -> NominalDiffTime
calendarDay :: CalendarDiffDays
calendarMonth :: CalendarDiffDays
calendarWeek :: CalendarDiffDays
calendarYear :: CalendarDiffDays
scaleCalendarDiffDays :: Integer -> CalendarDiffDays -> CalendarDiffDays
dayOfWeek :: Day -> DayOfWeek
dayOfWeekDiff :: DayOfWeek -> DayOfWeek -> Int
firstDayOfWeekOnAfter :: DayOfWeek -> Day -> Day

-- | 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
[appJournal] :: App -> IORef Journal

-- | A bundle of data useful for hledger-web request handlers and
--   templates.
data ViewData
VD :: WebOpts -> Day -> Journal -> Text -> Query -> [QueryOpt] -> [Capability] -> 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
[j] :: ViewData -> Journal

-- | the current q parameter, the main query expression
[q] :: ViewData -> Text

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

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

-- | capabilities enabled for this request
[caps] :: ViewData -> [Capability]
type Form a = Html -> MForm Handler (FormResult a, Widget)
type AppRoute = Route App
type Widget = WidgetFor App ()
type Handler = HandlerFor App

-- | defines things like: type Handler = HandlerFor App -- HandlerT App IO,
--   <a>https://www.yesodweb.com/book/routing-and-handlers#routing-and-handlers_handler_monad</a>
--   type Widget = WidgetFor App () -- WidgetT App IO (),
--   <a>https://www.yesodweb.com/book/widgets</a>
resourcesApp :: [ResourceTree String]

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

-- | 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)
diffTimeToPicoseconds :: DiffTime -> Integer
picosecondsToDiffTime :: Integer -> DiffTime
secondsToDiffTime :: Integer -> DiffTime
getTime_resolution :: DiffTime
addUTCTime :: NominalDiffTime -> UTCTime -> UTCTime
diffUTCTime :: UTCTime -> UTCTime -> NominalDiffTime
getCurrentTime :: IO UTCTime
formatTime :: FormatTime t => TimeLocale -> String -> t -> String
calendarTimeDays :: CalendarDiffDays -> CalendarDiffTime
calendarTimeTime :: NominalDiffTime -> CalendarDiffTime
scaleCalendarDiffTime :: Integer -> CalendarDiffTime -> CalendarDiffTime
dayFractionToTimeOfDay :: Rational -> TimeOfDay
daysAndTimeOfDayToTime :: Integer -> TimeOfDay -> NominalDiffTime
localToUTCTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
makeTimeOfDayValid :: Int -> Int -> Pico -> Maybe TimeOfDay
midday :: TimeOfDay
midnight :: TimeOfDay
pastMidnight :: DiffTime -> TimeOfDay
sinceMidnight :: TimeOfDay -> DiffTime
timeOfDayToDayFraction :: TimeOfDay -> Rational
timeOfDayToTime :: TimeOfDay -> DiffTime
timeToDaysAndTimeOfDay :: NominalDiffTime -> (Integer, TimeOfDay)
timeToTimeOfDay :: DiffTime -> TimeOfDay
utcToLocalTimeOfDay :: TimeZone -> TimeOfDay -> (Integer, TimeOfDay)
getCurrentTimeZone :: IO TimeZone
getTimeZone :: UTCTime -> IO TimeZone
hoursToTimeZone :: Int -> TimeZone
minutesToTimeZone :: Int -> TimeZone
timeZoneOffsetString :: TimeZone -> String
timeZoneOffsetString' :: Maybe Char -> TimeZone -> String

module Hledger.Web.Handler.UploadR
getUploadR :: FilePath -> Handler ()
postUploadR :: FilePath -> Handler ()


-- | /register handlers.
module Hledger.Web.Handler.RegisterR

-- | The main journal/account register view, with accounts sidebar.
getRegisterR :: Handler Html
otherTransactionAccounts :: Query -> Query -> Transaction -> [Posting]
preferReal :: [Posting] -> [Posting]
elideRightDecorated :: Int -> [(Maybe d, Char)] -> [(Maybe d, Char)]
undecorateLinks :: [(Maybe acct, char)] -> [(acct, ([char], [char]))]
decorateLinks :: [(acct, ([char], [char]))] -> [(Maybe acct, char)]

-- | Generate javascript/html for a register balance line chart based on
--   the provided <a>AccountTransactionsReportItem</a>s.
registerChartHtml :: Text -> String -> [(CommoditySymbol, [AccountTransactionsReportItem])] -> HtmlUrl AppRoute
dayToJsTimestamp :: Day -> Integer

module Hledger.Web.Handler.MiscR
getVersionR :: Handler TypedContent
getAccountnamesR :: Handler TypedContent
getTransactionsR :: Handler TypedContent
getPricesR :: Handler TypedContent
getCommoditiesR :: Handler TypedContent
getAccountsR :: Handler TypedContent
getAccounttransactionsR :: Text -> Handler TypedContent
getDownloadR :: FilePath -> Handler TypedContent
getFaviconR :: MonadHandler m => m ()
getManageR :: Handler Html
getRobotsR :: MonadHandler m => m ()
getRootR :: Handler Html


-- | /journal handlers.
module Hledger.Web.Handler.JournalR

-- | The formatted journal view, with sidebar.
getJournalR :: Handler Html

module Hledger.Web.Handler.EditR
getEditR :: FilePath -> Handler ()
postEditR :: FilePath -> Handler ()

module Hledger.Web.Handler.AddR
getAddR :: Handler ()
postAddR :: Handler ()
putAddR :: Handler RepJson

module Hledger.Web.Application
makeApplication :: WebOpts -> Journal -> AppConfig DefaultEnv Extra -> IO Application
makeFoundation :: AppConfig DefaultEnv Extra -> WebOpts -> IO App
makeFoundationWith :: Journal -> AppConfig DefaultEnv Extra -> WebOpts -> IO App
instance Yesod.Core.Class.Dispatch.YesodDispatch Hledger.Web.Foundation.App

module Hledger.Web.Test
hledgerWebTest :: IO ()


-- | hledger-web - a hledger add-on providing a web interface. Copyright
--   (c) 2007-2020 Simon Michael <a>simon@joyful.com</a> Released under GPL
--   version 3 or later.
module Hledger.Web.Main
hledgerWebDev :: IO (Int, Application)
hledgerWebMain :: IO ()

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


-- | Re-export the modules of the hledger-web program.
module Hledger.Web
