html-email-validate-0.2.0.0: Validating an email address against HTML standard

Safe HaskellSafe
LanguageHaskell2010

Text.Html.Email.Validate

Contents

Synopsis

Validating

isValidEmail :: Text -> Bool #

Validates given email. Email shouldn't have trailing or preceding spaces

>>> :set -XOverloadedStrings
>>> isValidEmail "name@example.com"
True
>>> isValidEmail "name@example..com"
False

Parsing

data EmailAddress #

Represents an email address

Constructors

EmailAddress 

Fields

Instances

Eq EmailAddress # 
Data EmailAddress # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> EmailAddress -> c EmailAddress #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c EmailAddress #

toConstr :: EmailAddress -> Constr #

dataTypeOf :: EmailAddress -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c EmailAddress) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c EmailAddress) #

gmapT :: (forall b. Data b => b -> b) -> EmailAddress -> EmailAddress #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> EmailAddress -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> EmailAddress -> r #

gmapQ :: (forall d. Data d => d -> u) -> EmailAddress -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> EmailAddress -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> EmailAddress -> m EmailAddress #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> EmailAddress -> m EmailAddress #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> EmailAddress -> m EmailAddress #

Ord EmailAddress # 
Read EmailAddress # 
Show EmailAddress # 
Generic EmailAddress # 

Associated Types

type Rep EmailAddress :: * -> * #

type Rep EmailAddress # 
type Rep EmailAddress = D1 (MetaData "EmailAddress" "Text.Html.Email.Validate" "html-email-validate-0.2.0.0-4nv55ZTZWpZCS80qs35sJw" False) (C1 (MetaCons "EmailAddress" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "localPart") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) (S1 (MetaSel (Just Symbol "domainPart") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))

emailToText :: EmailAddress -> Text #

Convert to text.

>>> emailToText $ EmailAddress "name" "example.com"
"name@example.com

parseEmail :: Text -> Either String EmailAddress #

Parce an email. Error messages aren't very helpful.

emailParser :: Parser EmailAddress #

Attoparsec parser.