packages feed

qr-imager 1.0.1.3 → 1.0.1.5

raw patch · 2 files changed

+11/−7 lines, 2 filesdep +splitdep −MissingHdep ~basePVP ok

version bump matches the API change (PVP)

Dependencies added: split

Dependencies removed: MissingH

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

qr-imager.cabal view
@@ -1,5 +1,5 @@ name:                qr-imager-version:             1.0.1.3+version:             1.0.1.5 synopsis:            Library to generate QR codes from bytestrings and objects description:         Please see README.md homepage:            https://github.com/vmchale/QRImager#readme@@ -32,9 +32,9 @@                      , directory                      , haskell-qrencode                      , process-                     , MissingH                      , optparse-applicative                      , either < 5+                     , split   pkgconfig-depends:   libqrencode   default-language:    Haskell2010 
src/Data/QRCodes/Utils.hs view
@@ -2,19 +2,23 @@ module Data.QRCodes.Utils where  import qualified Data.ByteString.Char8 as BS-import Data.Char (toLower, toUpper)-import Data.List.Utils (replace)-import Data.Word (Word8)+import           Data.Char             (toLower, toUpper)+import           Data.List             (intercalate)+import           Data.List.Split       (splitOn)+import           Data.Word             (Word8) +replace :: String -> String -> String -> String+replace ndl target haystack = intercalate target $ splitOn ndl haystack+ -- | function applied to byteStrings before saving to QR code so that uppercase/lowercase signatures can be preserverd preserveUpper :: BS.ByteString -> BS.ByteString preserveUpper = lift pU-    where pU = concatMap (\c -> if c `elem` ['A'..'Z'] then ((toLower c) : "!") else return c)+    where pU = concatMap (\c -> if c `elem` ['A'..'Z'] then toLower c : "!" else return c)  -- | resolve coded string to string with uppercase resolveUpper :: BS.ByteString -> BS.ByteString resolveUpper = lift rU-    where rU = foldr (.) id (map (\s -> replace (s : "!") ((pure . toUpper) s)) ['a'..'z'])+    where rU = foldr ((.) . (\s -> replace (s : "!") ((pure . toUpper) s))) id ['a'..'z']  -- | given a function on strings, make it act on byteStrings lift :: (String -> String) -> (BS.ByteString -> BS.ByteString)