digestive-functors-0.0.2.1: A general way to consume input using applicative functors

Text.Digestive.Forms

Synopsis

Documentation

class FormInput i f | i -> f whereSource

Class which all backends should implement. i is here the type that is used to represent a value uploaded by the client in the request

Methods

getInputString :: i -> Maybe StringSource

Parse the input into a string. This is used for simple text fields among other things

getInputText :: i -> Maybe TextSource

Parse the input value into Text. The default implementation uses 'T.pack . getInputString', a more efficient version may be implemented.

getInputFile :: i -> Maybe fSource

Get a file descriptor for an uploaded file

inputStringSource

Arguments

:: (Monad m, Functor m, FormInput i f) 
=> (FormId -> Maybe String -> v)

View constructor

-> Maybe String

Default value

-> Form m i e v String

Resulting form

inputReadSource

Arguments

:: (Monad m, Functor m, FormInput i f, Read a, Show a) 
=> (FormId -> Maybe String -> v)

View constructor

-> e

Error when no read

-> Maybe a

Default input

-> Form m i e v a

Resulting form

inputBoolSource

Arguments

:: (Monad m, Functor m, FormInput i f) 
=> (FormId -> Bool -> v)

View constructor

-> Bool

Default input

-> Form m i e v Bool

Resulting form

inputChoiceSource

Arguments

:: (Monad m, Functor m, FormInput i f, Monoid v, Eq a) 
=> (FormId -> String -> Bool -> a -> v)

Choice constructor

-> a

Default option

-> [a]

Choices

-> Form m i e v a

Resulting form

inputFileSource

Arguments

:: (Monad m, Functor m, FormInput i f) 
=> (FormId -> v)

View constructor

-> Form m i e v (Maybe f)

Resulting form