Safe Haskell | None |
---|
This module mostly meant for internal usage, and might change between minor releases.
- type Form v m a = FormTree m v m a
- data FormTree t v m a where
- Ref :: Ref -> FormTree t v m a -> FormTree t v m a
- Pure :: Field v a -> FormTree t v m a
- App :: FormTree t v m (b -> a) -> FormTree t v m b -> FormTree t v m a
- Map :: (b -> m (Result v a)) -> FormTree t v m b -> FormTree t v m a
- Monadic :: t (FormTree t v m a) -> FormTree t v m a
- List :: DefaultList (FormTree t v m a) -> FormTree t v m [Int] -> FormTree t v m [a]
- data SomeForm v m = forall a . SomeForm (FormTree Identity v m a)
- type Ref = Text
- transform :: Monad m => (a -> m (Result v b)) -> FormTree t v m a -> FormTree t v m b
- monadic :: m (Form v m a) -> Form v m a
- toFormTree :: Monad m => Form v m a -> m (FormTree Identity v m a)
- children :: FormTree Identity v m a -> [SomeForm v m]
- (.:) :: Monad m => Text -> Form v m a -> Form v m a
- getRef :: FormTree Identity v m a -> Maybe Ref
- lookupForm :: Path -> FormTree Identity v m a -> [SomeForm v m]
- lookupList :: Path -> FormTree Identity v m a -> SomeForm v m
- toField :: FormTree Identity v m a -> Maybe (SomeField v)
- queryField :: Path -> FormTree Identity v m a -> (forall b. Field v b -> c) -> c
- eval :: Monad m => Method -> Env m -> FormTree Identity v m a -> m (Result [(Path, v)] a, [(Path, FormInput)])
- formMapView :: Monad m => (v -> w) -> FormTree Identity v m a -> FormTree Identity w m a
- debugFormPaths :: Monad m => FormTree Identity v m a -> [Path]
Documentation
type Form v m a = FormTree m v m aSource
Base type for a form.
The three type parameters are:
-
v
: the type for textual information, displayed to the user. For example, error messages are of this type.v
stands for view. -
m
: the monad in which validators operate. The classical example is when validating input requires access to a database, in which case thism
should be an instance ofMonadIO
. -
a
: the type of the value returned by the form, used for its Applicative instance.
data FormTree t v m a whereSource
Ref :: Ref -> FormTree t v m a -> FormTree t v m a | |
Pure :: Field v a -> FormTree t v m a | |
App :: FormTree t v m (b -> a) -> FormTree t v m b -> FormTree t v m a | |
Map :: (b -> m (Result v a)) -> FormTree t v m b -> FormTree t v m a | |
Monadic :: t (FormTree t v m a) -> FormTree t v m a | |
List :: DefaultList (FormTree t v m a) -> FormTree t v m [Int] -> FormTree t v m [a] |
eval :: Monad m => Method -> Env m -> FormTree Identity v m a -> m (Result [(Path, v)] a, [(Path, FormInput)])Source