normalization-insensitive 2.0 → 2.0.0.1
raw patch · 4 files changed
+16/−8 lines, 4 filesdep ~HUnitdep ~criteriondep ~unicode-transformsPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: HUnit, criterion, unicode-transforms
API changes (from Hackage documentation)
Files
- CHANGELOG +6/−0
- Data/Unicode/NormalizationInsensitive/Internal.hs +7/−6
- README.markdown +1/−0
- normalization-insensitive.cabal +2/−2
CHANGELOG view
@@ -1,3 +1,9 @@+2.0.0.1++* Avoid using Data.ByteString.UTF8.Normalize, which was deprecated in+ unicode-transforms-0.2.0++ 2.0 * New package normalization-insensitive based on case-insensitive
Data/Unicode/NormalizationInsensitive/Internal.hs view
@@ -43,8 +43,10 @@ import qualified Data.ByteString.Lazy as BL ( ByteString, fromStrict, toStrict ) -- from text:-import qualified Data.Text as T ( Text, pack, unpack )-import qualified Data.Text.Lazy as TL ( Text, fromStrict, toStrict )+import qualified Data.Text as T ( Text, pack, unpack )+import qualified Data.Text.Encoding as T ( decodeUtf8With, encodeUtf8 )+import qualified Data.Text.Encoding.Error as T ( lenientDecode )+import qualified Data.Text.Lazy as TL ( Text, fromStrict, toStrict ) -- from deepseq: import Control.DeepSeq ( NFData, rnf, deepseq )@@ -53,7 +55,6 @@ import Data.Hashable ( Hashable, hashWithSalt ) -- from unicode-transforms:-import qualified Data.ByteString.UTF8.Normalize as B ( normalize ) import qualified Data.Text.Normalize as T ( normalize ) import Data.Unicode.Types ( NormalizationMode(NFC) ) @@ -84,7 +85,7 @@ mk :: Normalizable s => s -> NI s mk s = NI s (normalize s) --- | Constructs a 'NI' from an already normalized string-like+-- | Constructs an 'NI' from an already normalized string-like -- value. The given string is used both as the 'original' as well as -- the 'normalized'. --@@ -140,11 +141,11 @@ -- | Note that @normalize@ on @'B.ByteString's@ assumes UTF-8 encoded strings! instance Normalizable B.ByteString where- normalize = B.normalize mode+ normalize = T.encodeUtf8 . normalize . T.decodeUtf8With T.lenientDecode -- | Note that @normalize@ on @'BL.ByteString's@ assumes UTF-8 encoded strings! instance Normalizable BL.ByteString where- normalize = BL.fromStrict . B.normalize mode . BL.toStrict+ normalize = BL.fromStrict . normalize . BL.toStrict instance Normalizable String where normalize = T.unpack . T.normalize mode . T.pack
README.markdown view
@@ -1,4 +1,5 @@ [](https://travis-ci.org/ppelleti/normalization-insensitive)+[](https://ci.appveyor.com/project/ppelleti/normalization-insensitive/branch/master) The module `Data.Unicode.NormalizationInsensitive` provides the `NI` type constructor which can be parameterized by a string-like type like:
normalization-insensitive.cabal view
@@ -1,5 +1,5 @@ name: normalization-insensitive-version: 2.0+version: 2.0.0.1 cabal-version: >=1.8 build-type: Simple license: BSD3@@ -39,7 +39,7 @@ , text >= 0.3 && < 1.3 , deepseq >= 1.1 && < 1.5 , hashable >= 1.0 && < 1.3- , unicode-transforms >= 0.1.0.1 && < 1.2+ , unicode-transforms >= 0.1.0.1 && < 0.3 exposed-modules: Data.Unicode.NormalizationInsensitive , Data.Unicode.NormalizationInsensitive.Unsafe other-modules: Data.Unicode.NormalizationInsensitive.Internal