module Data.Text.Lazy.Encoding.Base16
( encodeBase16
, decodeBase16
, isBase16
, isValidBase16
) where
import qualified Data.ByteString.Lazy.Base16 as B16L
import qualified Data.Text as T
import Data.Text.Lazy (Text)
import qualified Data.Text.Lazy.Encoding as TL
encodeBase16 :: Text -> Text
encodeBase16 :: Text -> Text
encodeBase16 = ByteString -> Text
B16L.encodeBase16 (ByteString -> Text) -> (Text -> ByteString) -> Text -> Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> ByteString
TL.encodeUtf8
{-# INLINE encodeBase16 #-}
decodeBase16 :: Text -> Either T.Text Text
decodeBase16 :: Text -> Either Text Text
decodeBase16 = (ByteString -> Text) -> Either Text ByteString -> Either Text Text
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap ByteString -> Text
TL.decodeUtf8 (Either Text ByteString -> Either Text Text)
-> (Text -> Either Text ByteString) -> Text -> Either Text Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ByteString -> Either Text ByteString
B16L.decodeBase16 (ByteString -> Either Text ByteString)
-> (Text -> ByteString) -> Text -> Either Text ByteString
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> ByteString
TL.encodeUtf8
{-# INLINE decodeBase16 #-}
isBase16 :: Text -> Bool
isBase16 :: Text -> Bool
isBase16 = ByteString -> Bool
B16L.isBase16 (ByteString -> Bool) -> (Text -> ByteString) -> Text -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> ByteString
TL.encodeUtf8
{-# INLINE isBase16 #-}
isValidBase16 :: Text -> Bool
isValidBase16 :: Text -> Bool
isValidBase16 = ByteString -> Bool
B16L.isValidBase16 (ByteString -> Bool) -> (Text -> ByteString) -> Text -> Bool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Text -> ByteString
TL.encodeUtf8
{-# INLINE isValidBase16 #-}