-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Safe string conversion and encoding -- -- In modern Haskell many different string types are commonly used in -- combination with the OverloadedStrings extension. This small -- package provides means to convert safely between those. Currently, -- String, lazy and strict Text, lazy and strict -- ByteString, '[Word8]' and ShortByteString are supported. @package encode-string @version 0.1.0.0 -- | String conversion and decoding module Data.String.Encode -- | Conversion of strings to other string types -- --
-- (convertString :: b -> a) . (convertString :: a -> b) ≡ (id :: a -> a) -- (convertString :: b -> Maybe a) . (convertString :: a -> b) ≡ (Just :: a -> Maybe a) -- (convertString :: b -> Lenient a) . (convertString :: a -> b) ≡ (Lenient :: a -> Lenient a) --class ConvertString a b -- | Convert a string to another string type convertString :: ConvertString a b => a -> b -- | Encode and decode strings as a byte sequence -- --
-- decodeString . encodeString ≡ Just -- decodeStringLenient . encodeString ≡ id --class (ConvertString a b, ConvertString b (Maybe a), ConvertString b (Lenient a)) => EncodeString a b where encodeString = convertString decodeStringLenient = getLenient . convertString decodeString = convertString -- | Encode a string as a byte sequence encodeString :: EncodeString a b => a -> b -- | Lenient decoding of byte sequence -- -- Lenient means that invalid characters are replaced by the Unicode -- replacement character '\FFFD'. decodeStringLenient :: EncodeString a b => b -> a -- | Decode byte sequence -- -- If the decoding fails, return Nothing. decodeString :: EncodeString a b => b -> Maybe a -- | Newtype wrapper for a string which was decoded leniently. newtype Lenient a Lenient :: a -> Lenient a [getLenient] :: Lenient a -> a instance GHC.Generics.Generic1 Data.String.Encode.Lenient instance GHC.Generics.Generic (Data.String.Encode.Lenient a) instance Data.Traversable.Traversable Data.String.Encode.Lenient instance Data.Foldable.Foldable Data.String.Encode.Lenient instance GHC.Base.Functor Data.String.Encode.Lenient instance GHC.Show.Show a => GHC.Show.Show (Data.String.Encode.Lenient a) instance GHC.Read.Read a => GHC.Read.Read (Data.String.Encode.Lenient a) instance GHC.Classes.Ord a => GHC.Classes.Ord (Data.String.Encode.Lenient a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.String.Encode.Lenient a) instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString (Data.String.Encode.Lenient GHC.Base.String) instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString (Data.String.Encode.Lenient Data.Text.Internal.Lazy.Text) instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString (Data.String.Encode.Lenient Data.Text.Internal.Text) instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString (GHC.Base.Maybe GHC.Base.String) instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString (GHC.Base.Maybe Data.Text.Internal.Lazy.Text) instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString (GHC.Base.Maybe Data.Text.Internal.Text) instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Internal.ByteString instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.ConvertString Data.ByteString.Lazy.Internal.ByteString [GHC.Word.Word8] instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString (Data.String.Encode.Lenient GHC.Base.String) instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString (Data.String.Encode.Lenient Data.Text.Internal.Lazy.Text) instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString (Data.String.Encode.Lenient Data.Text.Internal.Text) instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString (GHC.Base.Maybe GHC.Base.String) instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString (GHC.Base.Maybe Data.Text.Internal.Lazy.Text) instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString (GHC.Base.Maybe Data.Text.Internal.Text) instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString Data.ByteString.Internal.ByteString instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.ConvertString Data.ByteString.Internal.ByteString [GHC.Word.Word8] instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString (Data.String.Encode.Lenient GHC.Base.String) instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString (Data.String.Encode.Lenient Data.Text.Internal.Lazy.Text) instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString (Data.String.Encode.Lenient Data.Text.Internal.Text) instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString (GHC.Base.Maybe GHC.Base.String) instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString (GHC.Base.Maybe Data.Text.Internal.Lazy.Text) instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString (GHC.Base.Maybe Data.Text.Internal.Text) instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString Data.ByteString.Internal.ByteString instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.ConvertString Data.ByteString.Short.Internal.ShortByteString [GHC.Word.Word8] instance Data.String.Encode.ConvertString GHC.Base.String Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.ConvertString GHC.Base.String Data.ByteString.Internal.ByteString instance Data.String.Encode.ConvertString GHC.Base.String Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.ConvertString GHC.Base.String GHC.Base.String instance Data.String.Encode.ConvertString GHC.Base.String Data.Text.Internal.Lazy.Text instance Data.String.Encode.ConvertString GHC.Base.String Data.Text.Internal.Text instance Data.String.Encode.ConvertString GHC.Base.String [GHC.Word.Word8] instance Data.String.Encode.ConvertString Data.Text.Internal.Lazy.Text Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.ConvertString Data.Text.Internal.Lazy.Text Data.ByteString.Internal.ByteString instance Data.String.Encode.ConvertString Data.Text.Internal.Lazy.Text Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.ConvertString Data.Text.Internal.Lazy.Text GHC.Base.String instance Data.String.Encode.ConvertString Data.Text.Internal.Lazy.Text Data.Text.Internal.Lazy.Text instance Data.String.Encode.ConvertString Data.Text.Internal.Lazy.Text Data.Text.Internal.Text instance Data.String.Encode.ConvertString Data.Text.Internal.Lazy.Text [GHC.Word.Word8] instance Data.String.Encode.ConvertString Data.Text.Internal.Text Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.ConvertString Data.Text.Internal.Text Data.ByteString.Internal.ByteString instance Data.String.Encode.ConvertString Data.Text.Internal.Text Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.ConvertString Data.Text.Internal.Text GHC.Base.String instance Data.String.Encode.ConvertString Data.Text.Internal.Text Data.Text.Internal.Lazy.Text instance Data.String.Encode.ConvertString Data.Text.Internal.Text Data.Text.Internal.Text instance Data.String.Encode.ConvertString Data.Text.Internal.Text [GHC.Word.Word8] instance Data.String.Encode.ConvertString [GHC.Word.Word8] (Data.String.Encode.Lenient GHC.Base.String) instance Data.String.Encode.ConvertString [GHC.Word.Word8] (Data.String.Encode.Lenient Data.Text.Internal.Lazy.Text) instance Data.String.Encode.ConvertString [GHC.Word.Word8] (Data.String.Encode.Lenient Data.Text.Internal.Text) instance Data.String.Encode.ConvertString [GHC.Word.Word8] (GHC.Base.Maybe GHC.Base.String) instance Data.String.Encode.ConvertString [GHC.Word.Word8] (GHC.Base.Maybe Data.Text.Internal.Lazy.Text) instance Data.String.Encode.ConvertString [GHC.Word.Word8] (GHC.Base.Maybe Data.Text.Internal.Text) instance Data.String.Encode.ConvertString [GHC.Word.Word8] Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.ConvertString [GHC.Word.Word8] Data.ByteString.Internal.ByteString instance Data.String.Encode.ConvertString [GHC.Word.Word8] Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.ConvertString [GHC.Word.Word8] [GHC.Word.Word8] instance Data.String.Encode.EncodeString GHC.Base.String Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.EncodeString GHC.Base.String Data.ByteString.Internal.ByteString instance Data.String.Encode.EncodeString GHC.Base.String Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.EncodeString GHC.Base.String [GHC.Word.Word8] instance Data.String.Encode.EncodeString Data.Text.Internal.Lazy.Text Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.EncodeString Data.Text.Internal.Lazy.Text Data.ByteString.Internal.ByteString instance Data.String.Encode.EncodeString Data.Text.Internal.Lazy.Text Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.EncodeString Data.Text.Internal.Lazy.Text [GHC.Word.Word8] instance Data.String.Encode.EncodeString Data.Text.Internal.Text Data.ByteString.Lazy.Internal.ByteString instance Data.String.Encode.EncodeString Data.Text.Internal.Text Data.ByteString.Internal.ByteString instance Data.String.Encode.EncodeString Data.Text.Internal.Text Data.ByteString.Short.Internal.ShortByteString instance Data.String.Encode.EncodeString Data.Text.Internal.Text [GHC.Word.Word8]