-- | -- Module: Network.Greskell.WebSocket.Request.Aeson -- Description: parser support -- Maintainer: Toshio Ito -- -- __Internal module. End-users should not use this.__ module Network.Greskell.WebSocket.Request.Aeson ( genericToJSON, genericToEncoding, genericParseJSON, opt, toObject ) where import Data.Aeson ( genericToJSON, genericToEncoding, genericParseJSON, ToJSON(..), Object, Value(Object) ) import Data.Aeson.Types ( defaultOptions, omitNothingFields, Options ) opt :: Options opt = defaultOptions { omitNothingFields = True } toObject :: (ToJSON a) => a -> Object toObject = expectObject . toJSON where expectObject (Object o) = o expectObject _ = error "Expect Object, but got something else"