module Graphics.Implicit.Export.TextBuilderUtils
(
Text,
pack,
Builder,
toLazyText,
fromLazyText,
buildInt,
bf,
buildTruncFloat,
(<>),
mconcat,
mempty
) where
import Prelude (Int, Maybe(Nothing, Just), ($))
import Data.Text.Lazy (Text, pack)
import Data.Monoid (Monoid, mappend, mconcat, mempty)
import Data.Text.Internal.Lazy (defaultChunkSize)
import Data.Text.Lazy.Builder (Builder, toLazyTextWith, fromLazyText)
import Data.Text.Lazy.Builder.RealFloat (formatRealFloat, FPFormat(Exponent, Fixed))
import Data.Text.Lazy.Builder.Int (decimal)
import Graphics.Implicit.Definitions (ℝ)
toLazyText :: Builder -> Text
toLazyText = toLazyTextWith defaultChunkSize
bf, buildTruncFloat :: ℝ -> Builder
bf = formatRealFloat Exponent Nothing
buildTruncFloat = formatRealFloat Fixed $ Just 4
buildInt :: Int -> Builder
buildInt = decimal
infixr 6 <>
(<>) :: Monoid m => m -> m -> m
(<>) = mappend