Module

Polyform.Input.Http

#Value

type Value = Array (Maybe String)

This representation should cover all possible http query values: ?field, ?field=, ?field=value, ?field=value1&field=value2

#Query

#StringErr

type StringErr e = (scalar :: NonEmpty Array String, required :: Unit | e)

#OptStringErr

type OptStringErr e = (scalar :: NonEmpty Array String | e)

#EmailInput

type EmailInput attrs err = EmailInput attrs String (StringErr err)

#OptEmailInput

type OptEmailInput attrs err = OptEmailInput attrs String (OptStringErr err)

#SearchInput

type SearchInput attrs err = SearchInput attrs String (StringErr err)

#OptSearchInput

type OptSearchInput attrs err = OptSearchInput attrs String (OptStringErr err)

#PasswordInput

type PasswordInput attrs err = PasswordInput attrs String (StringErr err)

#OptPasswordInput

#TelInput

type TelInput attrs err = TelInput attrs String (StringErr err)

#OptTelInput

type OptTelInput attrs err = OptTelInput attrs String (OptStringErr err)

#TextInput

type TextInput attrs err = TextInput attrs String (StringErr err)

#OptTextInput

type OptTextInput attrs err = OptTextInput attrs String (OptStringErr err)

#UrlInput

type UrlInput attrs err = UrlInput attrs String (StringErr err)

#OptUrlInput

type OptUrlInput attrs err = OptUrlInput attrs String (OptStringErr err)

#textInputValidation

textInputValidation :: forall attrs err m. Monad m => { minlength :: Maybe Int, maxlength :: Maybe Int | attrs } -> Validation m (Array (Variant (TextInputErr (StringErr err)))) Value String

#IntErr

type IntErr err = StringErr (int :: String | err)

#intInputValidation

intInputValidation :: forall attrs err m. Monad m => { min :: Maybe Int, max :: Maybe Int | attrs } -> Validation m (Array (Variant (IntInputErr (IntErr err)))) Value Int

#fromFieldCoerce

fromFieldCoerce :: forall attrs e form m v v'. Monad m => Monoid e => (v -> v') -> ({ value :: V e v, name :: String | attrs } -> form) -> { value :: V e v, name :: String | attrs } -> Validation m e Value v -> Component m form Query v'

XXX: Drop this "coerce" version

#fromField

fromField :: forall attrs e form m v. Monad m => Monoid e => ({ value :: V e v, name :: String | attrs } -> form) -> { value :: V e v, name :: String | attrs } -> Validation m e Value v -> Component m form Query v

Modules