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


-- | Validating an email address against HTML standard
--   
--   The library allows to validate and parse an email address as it's
--   defined in <a>HTML standard</a>. Note that HTML specification of a
--   valid email address is a 'willful violation' of RFC 5322. If you want
--   to validate an address against RFC 5322 you should use
--   <a>email-validate</a>.
@package html-email-validate
@version 0.2.0.0

module Text.Html.Email.Validate

-- | Validates given email. Email shouldn't have trailing or preceding
--   spaces
--   
--   <pre>
--   &gt;&gt;&gt; :set -XOverloadedStrings
--   
--   &gt;&gt;&gt; isValidEmail "name@example.com"
--   True
--   
--   &gt;&gt;&gt; isValidEmail "name@example..com"
--   False
--   </pre>
isValidEmail :: Text -> Bool

-- | Represents an email address
data EmailAddress
EmailAddress :: Text -> Text -> EmailAddress
[localPart] :: EmailAddress -> Text
[domainPart] :: EmailAddress -> Text

-- | Convert to text.
--   
--   <pre>
--   &gt;&gt;&gt; emailToText $ EmailAddress "name" "example.com"
--   "name@example.com
--   </pre>
emailToText :: EmailAddress -> Text

-- | Parce an email. Error messages aren't very helpful.
parseEmail :: Text -> Either String EmailAddress

-- | Attoparsec parser.
emailParser :: Parser EmailAddress
instance GHC.Generics.Generic Text.Html.Email.Validate.EmailAddress
instance Data.Data.Data Text.Html.Email.Validate.EmailAddress
instance GHC.Classes.Ord Text.Html.Email.Validate.EmailAddress
instance GHC.Classes.Eq Text.Html.Email.Validate.EmailAddress
instance GHC.Show.Show Text.Html.Email.Validate.EmailAddress
instance GHC.Read.Read Text.Html.Email.Validate.EmailAddress
