Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
TextBuilder
Synopsis
- data TextBuilder
- type Builder = TextBuilder
- toText :: TextBuilder -> Text
- run :: TextBuilder -> Text
- length :: TextBuilder -> Int
- null :: TextBuilder -> Bool
- putToStdOut :: TextBuilder -> IO ()
- putToStdErr :: TextBuilder -> IO ()
- putLnToStdOut :: TextBuilder -> IO ()
- putLnToStdErr :: TextBuilder -> IO ()
- intercalate :: Foldable foldable => TextBuilder -> foldable TextBuilder -> TextBuilder
- padFromLeft :: Int -> Char -> TextBuilder -> TextBuilder
- padFromRight :: Int -> Char -> TextBuilder -> TextBuilder
- text :: Text -> TextBuilder
- lazyText :: Text -> TextBuilder
- string :: String -> TextBuilder
- asciiByteString :: ByteString -> TextBuilder
- hexData :: ByteString -> TextBuilder
- char :: Char -> TextBuilder
- unicodeCodePoint :: Int -> TextBuilder
- utf16CodeUnits1 :: Word16 -> TextBuilder
- utf16CodeUnits2 :: Word16 -> Word16 -> TextBuilder
- utf8CodeUnits1 :: Word8 -> TextBuilder
- utf8CodeUnits2 :: Word8 -> Word8 -> TextBuilder
- utf8CodeUnits3 :: Word8 -> Word8 -> Word8 -> TextBuilder
- utf8CodeUnits4 :: Word8 -> Word8 -> Word8 -> Word8 -> TextBuilder
- decimal :: Integral a => a -> TextBuilder
- unsignedDecimal :: Integral a => a -> TextBuilder
- thousandSeparatedDecimal :: Integral a => Char -> a -> TextBuilder
- thousandSeparatedUnsignedDecimal :: Integral a => Char -> a -> TextBuilder
- dataSizeInBytesInDecimal :: Integral a => Char -> a -> TextBuilder
- unsignedBinary :: Integral a => a -> TextBuilder
- unsignedPaddedBinary :: (Integral a, FiniteBits a) => a -> TextBuilder
- hexadecimal :: Integral a => a -> TextBuilder
- unsignedHexadecimal :: Integral a => a -> TextBuilder
- decimalDigit :: Integral a => a -> TextBuilder
- hexadecimalDigit :: Integral a => a -> TextBuilder
- fixedDouble :: Int -> Double -> TextBuilder
- doublePercent :: Int -> Double -> TextBuilder
- intervalInSeconds :: RealFrac seconds => seconds -> TextBuilder
Documentation
data TextBuilder Source #
Specification of how to efficiently construct strict Text
.
Provides instances of Semigroup
and Monoid
, which have complexity of O(1).
Instances
IsString TextBuilder Source # | |
Defined in TextBuilder Methods fromString :: String -> TextBuilder # | |
Monoid TextBuilder Source # | |
Defined in TextBuilder Methods mempty :: TextBuilder # mappend :: TextBuilder -> TextBuilder -> TextBuilder # mconcat :: [TextBuilder] -> TextBuilder # | |
Semigroup TextBuilder Source # | |
Defined in TextBuilder Methods (<>) :: TextBuilder -> TextBuilder -> TextBuilder # sconcat :: NonEmpty TextBuilder -> TextBuilder # stimes :: Integral b => b -> TextBuilder -> TextBuilder # | |
Show TextBuilder Source # | |
Defined in TextBuilder Methods showsPrec :: Int -> TextBuilder -> ShowS # show :: TextBuilder -> String # showList :: [TextBuilder] -> ShowS # |
type Builder = TextBuilder Source #
Deprecated: Use TextBuilder instead
Accessors
toText :: TextBuilder -> Text Source #
Execute a builder producing a strict text
length :: TextBuilder -> Int Source #
Get the amount of characters
null :: TextBuilder -> Bool Source #
Check whether the builder is empty
Output IO
putToStdOut :: TextBuilder -> IO () Source #
Put builder, to stdout
putToStdErr :: TextBuilder -> IO () Source #
Put builder, to stderr
putLnToStdOut :: TextBuilder -> IO () Source #
Put builder, followed by a line, to stdout
putLnToStdErr :: TextBuilder -> IO () Source #
Put builder, followed by a line, to stderr
Constructors
Builder manipulators
intercalate :: Foldable foldable => TextBuilder -> foldable TextBuilder -> TextBuilder Source #
Intercalate builders
padFromLeft :: Int -> Char -> TextBuilder -> TextBuilder Source #
Pad a builder from the left side to the specified length with the specified character
padFromRight :: Int -> Char -> TextBuilder -> TextBuilder Source #
Pad a builder from the right side to the specified length with the specified character
Textual
text :: Text -> TextBuilder Source #
Strict text
lazyText :: Text -> TextBuilder Source #
Lazy text
string :: String -> TextBuilder Source #
String
asciiByteString :: ByteString -> TextBuilder Source #
ASCII byte string
hexData :: ByteString -> TextBuilder Source #
Hexadecimal readable representation of binary data.
Character
char :: Char -> TextBuilder Source #
Unicode character
Low-level character
unicodeCodePoint :: Int -> TextBuilder Source #
Unicode code point
utf16CodeUnits1 :: Word16 -> TextBuilder Source #
Single code-unit UTF-16 character
utf16CodeUnits2 :: Word16 -> Word16 -> TextBuilder Source #
Double code-unit UTF-16 character
utf8CodeUnits1 :: Word8 -> TextBuilder Source #
Single code-unit UTF-8 character
utf8CodeUnits2 :: Word8 -> Word8 -> TextBuilder Source #
Double code-unit UTF-8 character
utf8CodeUnits3 :: Word8 -> Word8 -> Word8 -> TextBuilder Source #
Triple code-unit UTF-8 character
utf8CodeUnits4 :: Word8 -> Word8 -> Word8 -> Word8 -> TextBuilder Source #
UTF-8 character out of 4 code units
Integers
Decimal
decimal :: Integral a => a -> TextBuilder Source #
Decimal representation of an integral value
unsignedDecimal :: Integral a => a -> TextBuilder Source #
Decimal representation of an unsigned integral value
thousandSeparatedDecimal :: Integral a => Char -> a -> TextBuilder Source #
Decimal representation of an integral value with thousands separated by the specified character
thousandSeparatedUnsignedDecimal :: Integral a => Char -> a -> TextBuilder Source #
Decimal representation of an unsigned integral value with thousands separated by the specified character
dataSizeInBytesInDecimal :: Integral a => Char -> a -> TextBuilder Source #
Data size in decimal notation over amount of bytes.
Binary
unsignedBinary :: Integral a => a -> TextBuilder Source #
Unsigned binary number
unsignedPaddedBinary :: (Integral a, FiniteBits a) => a -> TextBuilder Source #
Unsigned binary number
Hexadecimal
hexadecimal :: Integral a => a -> TextBuilder Source #
Hexadecimal representation of an integral value
unsignedHexadecimal :: Integral a => a -> TextBuilder Source #
Unsigned hexadecimal representation of an integral value
Digits
decimalDigit :: Integral a => a -> TextBuilder Source #
Decimal digit
hexadecimalDigit :: Integral a => a -> TextBuilder Source #
Hexadecimal digit
Real
Arguments
:: Int | Amount of decimals after point. |
-> Double | |
-> TextBuilder |
Double with a fixed number of decimal places.
Arguments
:: Int | Amount of decimals after point. |
-> Double | |
-> TextBuilder |
Double multiplied by 100 with a fixed number of decimal places applied and followed by a percent-sign.
Time
intervalInSeconds :: RealFrac seconds => seconds -> TextBuilder Source #
Time interval in seconds.
Directly applicable to DiffTime
and NominalDiffTime
.