@@ -46,11 +46,9 @@ module Data.Text.Lazy.Encoding
4646 , encodeUtf32LE
4747 , encodeUtf32BE
4848
49−#if MIN_VERSION_bytestring(0,10,4)
5049 -- * Encoding Text using ByteString Builders
5150 , encodeUtf8Builder
5251 , encodeUtf8BuilderEscaped
53−#endif
5452 ) where
5553
5654import Control.Exception (evaluate, try)
@@ -60,14 +58,14 @@ import qualified Data.ByteString as S
6058import qualified Data.ByteString.Lazy as B
6159import qualified Data.ByteString.Lazy.Internal as B
6260import qualified Data.ByteString.Unsafe as B
63−#if MIN_VERSION_bytestring(0,10,4)
61+
6462import Data.Word (Word8)
6563import Data.Monoid (mempty, (<>))
6664import qualified Data.ByteString.Builder as B
6765import qualified Data.ByteString.Builder.Extra as B (safeStrategy, toLazyByteStringWith)
6866import qualified Data.ByteString.Builder.Prim as BP
6967import qualified Data.Text as T
70−#endif
68+
7169import qualified Data.Text.Encoding as TE
7270import qualified Data.Text.Lazy as L
7371import qualified Data.Text.Internal.Lazy.Encoding.Fusion as E
@@ -149,7 +147,6 @@ decodeUtf8' bs = unsafeDupablePerformIO $ do
149147{-# INLINE decodeUtf8' #-}
150148
151149encodeUtf8 :: Text -> B.ByteString
152−#if MIN_VERSION_bytestring(0,10,4)
153150encodeUtf8 Empty = B.empty
154151encodeUtf8 lt@(Chunk t _) =
155152 B.toLazyByteStringWith strategy B.empty $ encodeUtf8Builder lt
@@ -170,11 +167,6 @@ encodeUtf8BuilderEscaped :: BP.BoundedPrim Word8 -> Text -> B.Builder
170167encodeUtf8BuilderEscaped prim =
171168 foldrChunks (\c b -> TE.encodeUtf8BuilderEscaped prim c <> b) mempty
172169
173−#else
174−encodeUtf8 (Chunk c cs) = B.Chunk (TE.encodeUtf8 c) (encodeUtf8 cs)
175−encodeUtf8 Empty = B.Empty
176−#endif
177−
178170-- | Decode text from little endian UTF-16 encoding.
179171decodeUtf16LEWith :: OnDecodeError -> B.ByteString -> Text
180172decodeUtf16LEWith onErr bs = F.unstream (E.streamUtf16LE onErr bs)