@@ -28,25 +28,17 @@ module Data.Aeson.Encode
2828 ) where
2929
3030import 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(..))
3233import Data.Monoid ((<>))
3334import Data.Scientific (FPFormat(..), Scientific, base10Exponent)
3435import Data.Text.Lazy.Builder
3536import Data.Text.Lazy.Builder.Scientific (formatScientificBuilder)
3637import Numeric (showHex)
37−import qualified Data.ByteString.Builder as B
38−import qualified Data.ByteString.Lazy as L
3938import qualified Data.HashMap.Strict as H
4039import qualified Data.Text as T
4140import qualified Data.Vector as V
4241
43−-- | Efficiently serialize a JSON value as a lazy 'L.ByteString'.
44−--
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
48−{-# INLINE encode #-}
49−
5042-- | Encode a JSON 'Value' to a "Data.Text" 'Builder', which can be
5143-- embedded efficiently in a text-based protocol.
5244--