-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Edge of developments for "text-builder" -- -- This is a development version of "text-builder". All experimentation -- and feature development happens here. The API can change drastically. -- For a more stable API use "text-builder", which is now just a wrapper -- over this package. @package text-builder-dev @version 0.2.1 module TextBuilderDev -- | Specification of how to efficiently construct strict Text. -- Provides instances of Semigroup and Monoid, which have -- complexity of O(1). data TextBuilder -- | Execute a builder producing a strict text buildText :: TextBuilder -> Text -- | Get the amount of characters length :: TextBuilder -> Int -- | Check whether the builder is empty null :: TextBuilder -> Bool -- | Put builder, to stdout putToStdOut :: TextBuilder -> IO () -- | Put builder, to stderr putToStdErr :: TextBuilder -> IO () -- | Put builder, followed by a line, to stdout putLnToStdOut :: TextBuilder -> IO () -- | Put builder, followed by a line, to stderr putLnToStdErr :: TextBuilder -> IO () -- | Default conversion to text builder. class ToTextBuilder a toTextBuilder :: ToTextBuilder a => a -> TextBuilder -- | Run the builder and pack the produced text into a new builder. -- -- Useful to have around builders that you reuse, because a forced -- builder is much faster, since it's virtually a single call -- memcopy. force :: TextBuilder -> TextBuilder -- | Intercalate builders intercalate :: Foldable foldable => TextBuilder -> foldable TextBuilder -> TextBuilder -- | Pad a builder from the left side to the specified length with the -- specified character padFromLeft :: Int -> Char -> TextBuilder -> TextBuilder -- | Pad a builder from the right side to the specified length with the -- specified character padFromRight :: Int -> Char -> TextBuilder -> TextBuilder -- | Strict text text :: Text -> TextBuilder -- | String string :: String -> TextBuilder -- | ASCII byte string asciiByteString :: ByteString -> TextBuilder -- | Hexadecimal readable representation of binary data. hexData :: ByteString -> TextBuilder -- | Unicode character char :: Char -> TextBuilder -- | Unicode code point unicodeCodePoint :: Int -> TextBuilder -- | Single code-unit UTF-16 character utf16CodeUnits1 :: Word16 -> TextBuilder -- | Double code-unit UTF-16 character utf16CodeUnits2 :: Word16 -> Word16 -> TextBuilder -- | Single code-unit UTF-8 character utf8CodeUnits1 :: Word8 -> TextBuilder -- | Double code-unit UTF-8 character utf8CodeUnits2 :: Word8 -> Word8 -> TextBuilder -- | Triple code-unit UTF-8 character utf8CodeUnits3 :: Word8 -> Word8 -> Word8 -> TextBuilder -- | UTF-8 character out of 4 code units utf8CodeUnits4 :: Word8 -> Word8 -> Word8 -> Word8 -> TextBuilder -- | Decimal representation of an integral value decimal :: Integral a => a -> TextBuilder -- | Decimal representation of an unsigned integral value unsignedDecimal :: Integral a => a -> TextBuilder -- | Decimal representation of an integral value with thousands separated -- by the specified character thousandSeparatedDecimal :: Integral a => Char -> a -> TextBuilder -- | Decimal representation of an unsigned integral value with thousands -- separated by the specified character thousandSeparatedUnsignedDecimal :: Integral a => Char -> a -> TextBuilder -- | Data size in decimal notation over amount of bytes. dataSizeInBytesInDecimal :: Integral a => Char -> a -> TextBuilder -- | Unsigned binary number unsignedBinary :: Integral a => a -> TextBuilder -- | Unsigned binary number unsignedPaddedBinary :: (Integral a, FiniteBits a) => a -> TextBuilder -- | Hexadecimal representation of an integral value hexadecimal :: Integral a => a -> TextBuilder -- | Unsigned hexadecimal representation of an integral value unsignedHexadecimal :: Integral a => a -> TextBuilder -- | Decimal digit decimalDigit :: Integral a => a -> TextBuilder -- | Hexadecimal digit hexadecimalDigit :: Integral a => a -> TextBuilder -- | Double with a fixed number of decimal places. fixedDouble :: Int -> Double -> TextBuilder -- | Double multiplied by 100 with a fixed number of decimal places applied -- and followed by a percent-sign. doublePercent :: Int -> Double -> TextBuilder -- | General template for formatting date values according to the ISO8601 -- standard. The format is the following: -- --
--   2021-11-24T12:11:02Z
--   
-- -- Integrations with various time-libraries can be easily derived from -- that. utcTimestampInIso8601 :: Int -> Int -> Int -> Int -> Int -> Int -> TextBuilder -- | Time interval in seconds. Directly applicable to DiffTime and -- NominalDiffTime. intervalInSeconds :: RealFrac seconds => seconds -> TextBuilder instance TextBuilderDev.ToTextBuilder TextBuilderDev.TextBuilder instance TextBuilderDev.ToTextBuilder Data.Text.Internal.Text instance TextBuilderDev.ToTextBuilder GHC.Base.String instance TextBuilderDev.ToTextBuilder GHC.Types.Char instance GHC.Base.Semigroup TextBuilderDev.TextBuilder instance GHC.Base.Monoid TextBuilderDev.TextBuilder instance Data.String.IsString TextBuilderDev.TextBuilder instance GHC.Show.Show TextBuilderDev.TextBuilder instance Data.Text.Conversions.FromText TextBuilderDev.TextBuilder instance Data.Text.Conversions.ToText TextBuilderDev.TextBuilder instance Data.String.ToString.ToString TextBuilderDev.TextBuilder