-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Direct-to-bytes JSON Builder
--
-- An API for encoding of arbitrary data-structures into JSON
-- byte-arrays, which is faster than "aeson".
@package json-bytes-builder
@version 0.2.1.1
-- | DSL for construction of JSON.
module JSONBytesBuilder.Builder
-- | Builder of any JSON value.
data JSON
-- | JSON Null literal.
null :: JSON
-- | JSON Boolean literal from Bool.
boolean :: Bool -> JSON
-- | JSON Number literal from Int.
number_int :: Int -> JSON
-- | JSON Number literal from Integer.
number_integer :: Integer -> JSON
-- | JSON Number literal from Double.
number_double :: Double -> JSON
-- | JSON Number literal from Scientific.
number_scientific :: Scientific -> JSON
-- | JSON String literal from Text.
string :: Text -> JSON
-- | JSON Object literal from the Object builder.
object :: Object -> JSON
-- | JSON Array literal from the Array builder.
array :: Array -> JSON
-- | Builder of a JSON Object value.
data Object
-- | Object builder from a key-value pair, where value is an already
-- encoded JSON literal.
--
-- Use the Object Monoid instance to construct multi-row
-- objects.
row :: Text -> JSON -> Object
-- | Builder of a JSON Array value.
data Array
-- | Array builder from an element, which is an already encoded JSON
-- literal.
--
-- Use the Array Monoid instance to construct multi-element
-- arrays.
element :: JSON -> Array
instance GHC.Base.Monoid JSONBytesBuilder.Builder.Object
instance GHC.Base.Monoid JSONBytesBuilder.Builder.Array
module JSONBytesBuilder.Interpreters.ByteStringBuilder
-- | Produce a JSON ByteString builder with compact syntax
compactJSON :: JSON -> Builder
module JSONBytesBuilder.Interpreters.LazyByteString
-- | Produce a lazy JSON ByteString with compact syntax
compactJSON :: JSON -> ByteString
module JSONBytesBuilder.Interpreters.ByteString
-- | Produce a strict JSON ByteString with compact syntax
compactJSON :: JSON -> ByteString