summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam T <pxqr.sta@gmail.com>2013-09-27 00:16:02 +0400
committerSam T <pxqr.sta@gmail.com>2013-09-27 00:16:02 +0400
commitcc321b3ae254db365ab105f48305f9e427b1486d (patch)
tree4d49fab747297a65b8399a49ace2f590a781b05c
parent054908440bf9c189d0794245c8f2a62ccb21240b (diff)
Use type synonym for encoded data
-rw-r--r--src/Data/ByteString/Base32.hs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/Data/ByteString/Base32.hs b/src/Data/ByteString/Base32.hs
index 28481a3..89d6e2c 100644
--- a/src/Data/ByteString/Base32.hs
+++ b/src/Data/ByteString/Base32.hs
@@ -14,7 +14,8 @@
14-- 14--
15{-# LANGUAGE BangPatterns #-} 15{-# LANGUAGE BangPatterns #-}
16module Data.ByteString.Base32 16module Data.ByteString.Base32
17 ( encode 17 ( Base32
18 , encode
18 , decode 19 , decode
19 , decodeLenient 20 , decodeLenient
20 ) where 21 ) where
@@ -25,6 +26,8 @@ import Data.ByteString.Base32.Internal
25import Data.List as L 26import Data.List as L
26 27
27 28
29type Base32 = ByteString
30
28encW5 :: Word5 -> Word8 31encW5 :: Word5 -> Word8
29encW5 !x 32encW5 !x
30 | x <= 25 = 65 + x 33 | x <= 25 = 65 + x
@@ -35,7 +38,7 @@ encTable :: EncTable
35encTable = BS.pack $ L.map encW5 [0..31] 38encTable = BS.pack $ L.map encW5 [0..31]
36 39
37-- | Encode a bytestring into base32 form. 40-- | Encode a bytestring into base32 form.
38encode :: ByteString -> ByteString 41encode :: ByteString -> Base32
39encode = unpack5 encTable 42encode = unpack5 encTable
40 43
41decW5 :: Word8 -> Word5 44decW5 :: Word8 -> Word5
@@ -53,7 +56,7 @@ decTable :: ByteString
53decTable = BS.pack $ L.map decW5 [minBound .. maxBound] 56decTable = BS.pack $ L.map decW5 [minBound .. maxBound]
54 57
55-- | Decode a base32 encoded bytestring. 58-- | Decode a base32 encoded bytestring.
56decode :: ByteString -> ByteString 59decode :: Base32 -> ByteString
57decode = pack5 decTable 60decode = pack5 decTable
58 61
59decCharLenient :: Char -> Word5 62decCharLenient :: Char -> Word5