@@ -28,25 +28,17 @@ module Data.Aeson.Encode
30import Data.Aeson.Encode.Builder (encodeToBuilder)
30import Data.Aeson.Encode.Builder (encodeToBuilder)
31−import Data.Aeson.Types (ToJSON(..), Value(..), fromEncoding)
31+import Data.Aeson.Encode.Functions (encode)
32+import Data.Aeson.Types (Value(..))
32import Data.Monoid ((<>))
33import Data.Monoid ((<>))
33import Data.Scientific (FPFormat(..), Scientific, base10Exponent)
34import Data.Scientific (FPFormat(..), Scientific, base10Exponent)
34import Data.Text.Lazy.Builder
35import Data.Text.Lazy.Builder
35import Data.Text.Lazy.Builder.Scientific (formatScientificBuilder)
36import Data.Text.Lazy.Builder.Scientific (formatScientificBuilder)
36import Numeric (showHex)
37import Numeric (showHex)
37−import qualified Data.ByteString.Builder as B
38−import qualified Data.ByteString.Lazy as L
39import qualified Data.HashMap.Strict as H
38import qualified Data.HashMap.Strict as H
40import qualified Data.Text as T
39import qualified Data.Text as T
41import qualified Data.Vector as V
40import qualified Data.Vector as V
43−-- | Efficiently serialize a JSON value as a lazy 'L.ByteString'.
45−-- This is implemented in terms of the 'ToJSON' class's 'toEncoding' method.
46−encode :: ToJSON a => a -> L.ByteString
47−encode = B.toLazyByteString . fromEncoding . toEncoding
50-- | Encode a JSON 'Value' to a "Data.Text" 'Builder', which can be
42-- | Encode a JSON 'Value' to a "Data.Text" 'Builder', which can be
51-- embedded efficiently in a text-based protocol.
43-- embedded efficiently in a text-based protocol.