module Prolude.Text
  ( LazyText
  , Text.Text
  , lazyTextToString
  , lazyTextToText
  , stringToLazyText
  , stringToText
  , textToLazyText
  , textToString
  )
where

import qualified Data.Text as Text
import qualified Data.Text.Lazy as LazyText

type LazyText = LazyText.Text

stringToText :: String -> Text.Text
stringToText :: String -> Text
stringToText = String -> Text
Text.pack

textToString :: Text.Text -> String
textToString :: Text -> String
textToString = Text -> String
Text.unpack

stringToLazyText :: String -> LazyText
stringToLazyText :: String -> LazyText
stringToLazyText = String -> LazyText
LazyText.pack

lazyTextToString :: LazyText -> String
lazyTextToString :: LazyText -> String
lazyTextToString = LazyText -> String
LazyText.unpack

textToLazyText :: Text.Text -> LazyText
textToLazyText :: Text -> LazyText
textToLazyText = Text -> LazyText
LazyText.fromStrict

lazyTextToText :: LazyText -> Text.Text
lazyTextToText :: LazyText -> Text
lazyTextToText = LazyText -> Text
LazyText.toStrict