packages feed

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 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