module Data.Aeson.Extra (
encodeStrict,
M(..),
FromJSONKey(..),
parseIntegralJSONKey,
FromJSONMap(..),
ToJSONKey(..),
ToJSONMap(..),
#if MIN_VERSION_base(4,7,0)
SymTag(..),
SingObject(..),
mkSingObject,
getSingObject,
#endif
CollapsedList(..),
getCollapsedList,
parseCollapsedList,
U(..),
Z(..),
ValueF(..),
ObjectF,
ArrayF,
merge,
mkValue,
mkValue',
module Data.Aeson.Compat,
) where
import Prelude ()
import Prelude.Compat
import Data.Aeson.Compat
import qualified Data.ByteString as BS
import qualified Data.ByteString.Lazy as LBS
import Data.Aeson.Extra.CollapsedList
import Data.Aeson.Extra.Foldable
import Data.Aeson.Extra.Map
import Data.Aeson.Extra.Merge
import Data.Aeson.Extra.Time
import Data.Aeson.Extra.TH
#if MIN_VERSION_base(4,7,0)
import Data.Aeson.Extra.SingObject
import Data.Aeson.Extra.SymTag
#endif
encodeStrict :: ToJSON a => a -> BS.ByteString
encodeStrict = LBS.toStrict . encode