| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
Data.Aeson.Encoding.Internal
Contents
Synopsis
- newtype Encoding' tag = Encoding {}
 - type Encoding = Encoding' Value
 - encodingToLazyByteString :: Encoding' a -> ByteString
 - unsafeToEncoding :: Builder -> Encoding' a
 - retagEncoding :: Encoding' a -> Encoding' b
 - data Series
 - pairs :: Series -> Encoding
 - pair :: Text -> Encoding -> Series
 - pairStr :: String -> Encoding -> Series
 - pair' :: Encoding' Text -> Encoding -> Series
 - nullEncoding :: Encoding' a -> Bool
 - emptyArray_ :: Encoding
 - emptyObject_ :: Encoding
 - wrapObject :: Encoding' a -> Encoding
 - wrapArray :: Encoding' a -> Encoding
 - null_ :: Encoding
 - bool :: Bool -> Encoding
 - text :: Text -> Encoding' a
 - lazyText :: Text -> Encoding' a
 - string :: String -> Encoding' a
 - list :: (a -> Encoding) -> [a] -> Encoding
 - dict :: (k -> Encoding' Text) -> (v -> Encoding) -> (forall a. (k -> v -> a -> a) -> a -> m -> a) -> m -> Encoding
 - tuple :: Encoding' InArray -> Encoding
 - (>*<) :: Encoding' a -> Encoding' b -> Encoding' InArray
 - data InArray
 - empty :: Encoding' a
 - (><) :: Encoding' a -> Encoding' a -> Encoding' a
 - econcat :: [Encoding' a] -> Encoding' a
 - int8 :: Int8 -> Encoding
 - int16 :: Int16 -> Encoding
 - int32 :: Int32 -> Encoding
 - int64 :: Int64 -> Encoding
 - int :: Int -> Encoding
 - word8 :: Word8 -> Encoding
 - word16 :: Word16 -> Encoding
 - word32 :: Word32 -> Encoding
 - word64 :: Word64 -> Encoding
 - word :: Word -> Encoding
 - integer :: Integer -> Encoding
 - float :: Float -> Encoding
 - double :: Double -> Encoding
 - scientific :: Scientific -> Encoding
 - int8Text :: Int8 -> Encoding' a
 - int16Text :: Int16 -> Encoding' a
 - int32Text :: Int32 -> Encoding' a
 - int64Text :: Int64 -> Encoding' a
 - intText :: Int -> Encoding' a
 - word8Text :: Word8 -> Encoding' a
 - word16Text :: Word16 -> Encoding' a
 - word32Text :: Word32 -> Encoding' a
 - word64Text :: Word64 -> Encoding' a
 - wordText :: Word -> Encoding' a
 - integerText :: Integer -> Encoding' a
 - floatText :: Float -> Encoding' a
 - doubleText :: Double -> Encoding' a
 - scientificText :: Scientific -> Encoding' a
 - day :: Day -> Encoding' a
 - localTime :: LocalTime -> Encoding' a
 - utcTime :: UTCTime -> Encoding' a
 - timeOfDay :: TimeOfDay -> Encoding' a
 - zonedTime :: ZonedTime -> Encoding' a
 - value :: Value -> Encoding
 - comma :: Encoding' a
 - colon :: Encoding' a
 - openBracket :: Encoding' a
 - closeBracket :: Encoding' a
 - openCurly :: Encoding' a
 - closeCurly :: Encoding' a
 
Encoding
newtype Encoding' tag Source #
An encoding of a JSON value.
tag represents which kind of JSON the Encoding is encoding to,
 we reuse Text and Series as tags here.
Constructors
| Encoding | |
Fields 
  | |
Instances
| GToJSON' Encoding arity (U1 :: Type -> Type) Source # | |
| ToJSON1 f => GToJSON' Encoding One (Rec1 f) Source # | |
| (EncodeProduct arity a, EncodeProduct arity b) => GToJSON' Encoding arity (a :*: b) Source # | |
| ToJSON a => GToJSON' Encoding arity (K1 i a :: Type -> Type) Source # | |
| (ToJSON1 f, GToJSON' Encoding One g) => GToJSON' Encoding One (f :.: g) Source # | |
| Eq (Encoding' a) Source # | |
| Ord (Encoding' a) Source # | |
Defined in Data.Aeson.Encoding.Internal  | |
| Show (Encoding' a) Source # | |
unsafeToEncoding :: Builder -> Encoding' a Source #
Make Encoding from Builder.
Use with care! You have to make sure that the passed Builder is a valid JSON Encoding!
retagEncoding :: Encoding' a -> Encoding' b Source #
A series of values that, when encoded, should be separated by
 commas. Since 0.11.0.0, the .= operator is overloaded to create
 either (Text, Value) or Series. You can use Series when
 encoding directly to a bytestring builder as in the following
 example:
toEncoding (Person name age) = pairs ("name" .= name <> "age" .= age)Predicates
nullEncoding :: Encoding' a -> Bool Source #
Encoding constructors
wrapObject :: Encoding' a -> Encoding Source #
Arguments
| :: (k -> Encoding' Text) | key encoding  | 
| -> (v -> Encoding) | value encoding  | 
| -> (forall a. (k -> v -> a -> a) -> a -> m -> a) | 
  | 
| -> m | container  | 
| -> Encoding | 
Encode as JSON object
tuple :: Encoding' InArray -> Encoding Source #
Encode as a tuple.
@ toEncoding (X a b c) = tuple $ toEncoding a >*< toEncoding b >*< toEncoding c
Decimal numbers
scientific :: Scientific -> Encoding Source #
Decimal numbers as Text
word16Text :: Word16 -> Encoding' a Source #
word32Text :: Word32 -> Encoding' a Source #
word64Text :: Word64 -> Encoding' a Source #
integerText :: Integer -> Encoding' a Source #
doubleText :: Double -> Encoding' a Source #
scientificText :: Scientific -> Encoding' a Source #
Time
value
JSON tokens
openBracket :: Encoding' a Source #
closeBracket :: Encoding' a Source #
closeCurly :: Encoding' a Source #