From cc321b3ae254db365ab105f48305f9e427b1486d Mon Sep 17 00:00:00 2001 From: Sam T Date: Fri, 27 Sep 2013 00:16:02 +0400 Subject: Use type synonym for encoded data --- src/Data/ByteString/Base32.hs | 9 ++++++--- 1 file 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 @@ -- {-# LANGUAGE BangPatterns #-} module Data.ByteString.Base32 - ( encode + ( Base32 + , encode , decode , decodeLenient ) where @@ -25,6 +26,8 @@ import Data.ByteString.Base32.Internal import Data.List as L +type Base32 = ByteString + encW5 :: Word5 -> Word8 encW5 !x | x <= 25 = 65 + x @@ -35,7 +38,7 @@ encTable :: EncTable encTable = BS.pack $ L.map encW5 [0..31] -- | Encode a bytestring into base32 form. -encode :: ByteString -> ByteString +encode :: ByteString -> Base32 encode = unpack5 encTable decW5 :: Word8 -> Word5 @@ -53,7 +56,7 @@ decTable :: ByteString decTable = BS.pack $ L.map decW5 [minBound .. maxBound] -- | Decode a base32 encoded bytestring. -decode :: ByteString -> ByteString +decode :: Base32 -> ByteString decode = pack5 decTable decCharLenient :: Char -> Word5 -- cgit v1.2.3