Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Adapted from Text.EmailAddress by Dennis Gosnell (see
https://hackage.haskell.org/package/emailaddress)
but
without all the dependencies (like postgresql-simple ...). Uses the email-validate
package,
instead.
- newtype EmailAddress = EmailAddress {}
- emailAddress :: ByteString -> Maybe EmailAddress
- emailAddressFromText :: Text -> Maybe EmailAddress
- emailAddressFromString :: String -> Maybe EmailAddress
- validate :: ByteString -> Either String EmailAddress
- validateFromText :: Text -> Either String EmailAddress
- validateFromString :: String -> Either String EmailAddress
- unsafeEmailAddress :: ByteString -> ByteString -> EmailAddress
Data Type
newtype EmailAddress Source #
wrapper around our implementation - EmailAddress
.
Eq EmailAddress Source # | |
Ord EmailAddress Source # | |
Read EmailAddress Source # |
|
Show EmailAddress Source # |
|
Create EmailAddress
emailAddress :: ByteString -> Maybe EmailAddress Source #
Wrapper around emailAddress
.
Similar to validate
, but returns Nothing
if the email address fails to
parse.
>>>
emailAddress "foo@gmail.com"
Just "foo@gmail.com">>>
emailAddress "not an email address"
Nothing
emailAddressFromText :: Text -> Maybe EmailAddress Source #
Create an EmailAddress
from a Text
value. See emailAddress
.
emailAddressFromString :: String -> Maybe EmailAddress Source #
Create an EmailAddress
from a String
value. See emailAddress
.
validation
validate :: ByteString -> Either String EmailAddress Source #
Wrapper around validate
.
>>>
validate "foo@gmail.com"
Right "foo@gmail.com">>>
import Data.Either (isLeft)
>>>
isLeft $ validate "not an email address"
True
validateFromText :: Text -> Either String EmailAddress Source #
Create an EmailAddress
from a Text
value. See validate
.
validateFromString :: String -> Either String EmailAddress Source #
Create an EmailAddress
from a String
value. See validate
.
Unsafe creation
:: ByteString | Local part |
-> ByteString | Domain part |
-> EmailAddress |
Wrapper around unsafeEmailAddress
.
Unsafely create an EmailAddress
from a local part and a domain part. The
first argument is the local part, and the second argument is the domain
part.
For example, in the email address foo@gmail.com
, the local part is foo
and the domain part is gmail.com
.
>>>
unsafeEmailAddress "foo" "gmail.com"
"foo@gmail.com"