email-validate 2.1.3 → 2.2.0
raw patch · 3 files changed
+25/−15 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Text.Email.Parser: instance Constructor C1_0EmailAddress
- Text.Email.Parser: instance Data EmailAddress
- Text.Email.Parser: instance Datatype D1EmailAddress
- Text.Email.Parser: instance Eq EmailAddress
- Text.Email.Parser: instance Generic EmailAddress
- Text.Email.Parser: instance Ord EmailAddress
- Text.Email.Parser: instance Read EmailAddress
- Text.Email.Parser: instance Show EmailAddress
- Text.Email.Parser: instance Typeable EmailAddress
+ Text.Email.Parser: instance Data.Data.Data Text.Email.Parser.EmailAddress
+ Text.Email.Parser: instance GHC.Classes.Eq Text.Email.Parser.EmailAddress
+ Text.Email.Parser: instance GHC.Classes.Ord Text.Email.Parser.EmailAddress
+ Text.Email.Parser: instance GHC.Generics.Constructor Text.Email.Parser.C1_0EmailAddress
+ Text.Email.Parser: instance GHC.Generics.Datatype Text.Email.Parser.D1EmailAddress
+ Text.Email.Parser: instance GHC.Generics.Generic Text.Email.Parser.EmailAddress
+ Text.Email.Parser: instance GHC.Read.Read Text.Email.Parser.EmailAddress
+ Text.Email.Parser: instance GHC.Show.Show Text.Email.Parser.EmailAddress
+ Text.Email.Parser: unsafeEmailAddress :: ByteString -> ByteString -> EmailAddress
+ Text.Email.Validate: unsafeEmailAddress :: ByteString -> ByteString -> EmailAddress
Files
- email-validate.cabal +2/−2
- src/Text/Email/Parser.hs +8/−0
- src/Text/Email/Validate.hs +15/−13
email-validate.cabal view
@@ -1,5 +1,5 @@ name: email-validate -version: 2.1.3 +version: 2.2.0 license: BSD3 license-file: LICENSE author: George Pollard <porges@porg.es> @@ -19,7 +19,7 @@ source-repository this type: git location: git://github.com/Porges/email-validate-hs.git - tag: v2.1.3 + tag: v2.2.0 library build-depends:
src/Text/Email/Parser.hs view
@@ -5,6 +5,7 @@ , localPart , domainPart , EmailAddress + , unsafeEmailAddress , toByteString ) where @@ -24,6 +25,13 @@ -- | Represents an email address. data EmailAddress = EmailAddress ByteString ByteString deriving (Eq, Ord, Data, Typeable, Generic) + +-- | Creates an email address without validating it. +-- You should only use this when reading data from +-- somewhere it has already been validated (e.g. a +-- database). +unsafeEmailAddress :: ByteString -> ByteString -> EmailAddress +unsafeEmailAddress = EmailAddress instance Show EmailAddress where show = show . toByteString
src/Text/Email/Validate.hs view
@@ -1,21 +1,23 @@ module Text.Email.Validate - ( isValid - , validate - , emailAddress - , canonicalizeEmail - , EmailAddress -- re-exported - , localPart - , domainPart - , toByteString - ) + ( isValid + , validate + , emailAddress + , canonicalizeEmail + , EmailAddress -- re-exported + , unsafeEmailAddress + , localPart + , domainPart + , toByteString + ) where -import Control.Applicative ((<*)) +import Control.Applicative ((<*)) -import Data.ByteString (ByteString) -import Data.Attoparsec.ByteString (parseOnly, endOfInput) +import Data.Attoparsec.ByteString (endOfInput, parseOnly) +import Data.ByteString (ByteString) -import Text.Email.Parser (EmailAddress, toByteString, addrSpec, localPart, domainPart) +import Text.Email.Parser (EmailAddress(..), addrSpec, domainPart, + localPart, toByteString, unsafeEmailAddress) -- | Smart constructor for an email address emailAddress :: ByteString -> Maybe EmailAddress