summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Truzjan <pxqr.sta@gmail.com>2013-09-27 01:24:44 +0400
committerSam Truzjan <pxqr.sta@gmail.com>2013-09-27 01:24:44 +0400
commit949b0b2e417cbc5e7be18bb5bf0bbca1a8956a1f (patch)
tree6f6b845c63d86b2e8a8d54762da150cf7b5cfa82
parent82e720337186c3a8cdf439911af9ab4159a861f1 (diff)
Use type synonym for base32hex encoded data
-rw-r--r--src/Data/ByteString/Base32/Hex.hs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Data/ByteString/Base32/Hex.hs b/src/Data/ByteString/Base32/Hex.hs
index 762d471..f68ad31 100644
--- a/src/Data/ByteString/Base32/Hex.hs
+++ b/src/Data/ByteString/Base32/Hex.hs
@@ -14,7 +14,8 @@
14-- 14--
15{-# LANGUAGE BangPatterns #-} 15{-# LANGUAGE BangPatterns #-}
16module Data.ByteString.Base32.Hex 16module Data.ByteString.Base32.Hex
17 ( encode 17 ( Base32Hex
18 , encode
18 , decode 19 , decode
19 , decodeLenient 20 , decodeLenient
20 ) where 21 ) where
@@ -24,6 +25,8 @@ import Data.ByteString.Base32.Internal
24import Data.List as L 25import Data.List as L
25 26
26 27
28type Base32Hex = ByteString
29
27encW5 :: Word5 -> Word8 30encW5 :: Word5 -> Word8
28encW5 !x 31encW5 !x
29 | x <= 9 = 48 {- c2w '0' -} + x 32 | x <= 9 = 48 {- c2w '0' -} + x
@@ -33,7 +36,7 @@ encTable :: EncTable
33encTable = BS.pack $ L.map encW5 [0..31] 36encTable = BS.pack $ L.map encW5 [0..31]
34 37
35-- | Encode a bytestring into base32hex form. 38-- | Encode a bytestring into base32hex form.
36encode :: ByteString -> ByteString 39encode :: ByteString -> Base32Hex
37encode = unpack5 encTable 40encode = unpack5 encTable
38 41
39decW5 :: Word8 -> Word5 42decW5 :: Word8 -> Word5
@@ -50,7 +53,7 @@ decTable :: DecTable
50decTable = BS.pack $ L.map decW5 [minBound .. maxBound] 53decTable = BS.pack $ L.map decW5 [minBound .. maxBound]
51 54
52-- | Decode a base32hex encoded bytestring. 55-- | Decode a base32hex encoded bytestring.
53decode :: ByteString -> ByteString 56decode :: Base32Hex -> ByteString
54decode = pack5 decTable 57decode = pack5 decTable
55 58
56decodeLenient :: ByteString -> ByteString 59decodeLenient :: ByteString -> ByteString