{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeFamilies #-} module ClassyPrelude.LText ( LText ) where import qualified Prelude import Prelude ((.), Char) import ClassyPrelude.Classes import qualified Data.Text.Lazy as TL import Data.Int (Int64) import qualified Data.Text import qualified Data.Text.Lazy.Encoding import qualified Data.Text.Encoding.Error import Data.ByteString.Lazy (ByteString) type LText = TL.Text instance CanMapFunc LText LText Char Char where mapFunc = TL.map instance CanConcatMapFunc LText LText Char LText where concatMapFunc = TL.concatMap instance CanFilterFunc LText LText Char where filterFunc = TL.filter instance CanSingleton LText Prelude.Char where singleton = TL.singleton instance CanNull LText where null = TL.null instance CanPack LText Prelude.Char where pack = TL.pack unpack = TL.unpack instance CanStripPrefix LText where stripPrefix = TL.stripPrefix isPrefixOf = TL.isPrefixOf instance CanBreak LText Prelude.Char where break = TL.break span = TL.span dropWhile = TL.dropWhile takeWhile = TL.takeWhile instance CanAny LText Prelude.Char where any = TL.any all = TL.all instance CanSplitAt LText Int64 where splitAt = TL.splitAt instance CanWords LText where words = TL.words unwords = TL.unwords instance CanLinesFunc LText where linesFunc = TL.lines instance CanUnlines LText where unlines = TL.unlines instance CanSplit LText Char where split = TL.split instance CanStripSuffix LText where stripSuffix = TL.stripSuffix isSuffixOf = TL.isSuffixOf instance CanIsInfixOf LText where isInfixOf = TL.isInfixOf instance CanReverse LText where reverse = TL.reverse instance CanLength LText Int64 where length = TL.length instance CanFoldFunc LText Char accum where foldFunc = TL.foldl' instance CanReplicate LText LText Int64 where replicate = TL.replicate instance CanToChunks LText Data.Text.Text where toChunks = TL.toChunks fromChunks = TL.fromChunks instance CanEncodeUtf8Func LText ByteString where encodeUtf8Func = Data.Text.Lazy.Encoding.encodeUtf8 instance CanDecodeUtf8Func ByteString LText where decodeUtf8Func = Data.Text.Lazy.Encoding.decodeUtf8With Data.Text.Encoding.Error.lenientDecode