-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Generic encoder and decode for JSON-RPC
--   
--   This package contains generic encoder and decode for JSON-RPC
@package json-rpc-generic
@version 0.2.1.2

module Data.JsonRpc.Id
data Id
StringId :: !Text -> Id
NumberId :: !Integer -> Id
numberId :: (MonadPlus m, Applicative m) => Scientific -> m Id
instance GHC.Read.Read Data.JsonRpc.Id.Id
instance GHC.Show.Show Data.JsonRpc.Id.Id
instance GHC.Classes.Ord Data.JsonRpc.Id.Id
instance GHC.Classes.Eq Data.JsonRpc.Id.Id

module Data.JsonRpc.Request
data Request a
Request :: !Text -> !Text -> !(Maybe a) -> !(Maybe Id) -> Request a
[jsonrpc] :: Request a -> !Text
[method] :: Request a -> !Text
[params] :: Request a -> !(Maybe a)
[id] :: Request a -> !(Maybe Id)
request :: Text -> Maybe a -> Maybe Id -> Request a
instance Data.Traversable.Traversable Data.JsonRpc.Request.Request
instance Data.Foldable.Foldable Data.JsonRpc.Request.Request
instance GHC.Base.Functor Data.JsonRpc.Request.Request
instance GHC.Read.Read a => GHC.Read.Read (Data.JsonRpc.Request.Request a)
instance GHC.Show.Show a => GHC.Show.Show (Data.JsonRpc.Request.Request a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.JsonRpc.Request.Request a)

module Data.JsonRpc.Success
data Success a
Success :: !Text -> !Id -> !a -> Success a
[_jsonrpc] :: Success a -> !Text
[_id] :: Success a -> !Id
[_result] :: Success a -> !a
success :: Id -> a -> Success a
instance Data.Traversable.Traversable Data.JsonRpc.Success.Success
instance Data.Foldable.Foldable Data.JsonRpc.Success.Success
instance GHC.Base.Functor Data.JsonRpc.Success.Success
instance GHC.Show.Show a => GHC.Show.Show (Data.JsonRpc.Success.Success a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Data.JsonRpc.Success.Success a)

module Data.JsonRpc.Generic
class GFromArrayJSON f
genericParseJSONRPC :: (Generic a, GFromJSON0 (Rep a), GFromArrayJSON (Rep a), GFieldSetJSON (Rep a)) => JsonRpcOptions -> Options -> Value -> Parser a
class GFieldSetJSON f
genericFieldSetParseJSON :: (Generic a, GFromJSON0 (Rep a), GFieldSetJSON (Rep a)) => JsonRpcOptions -> Options -> Value -> Parser a
data JsonRpcOptions
JsonRpcOptions :: Bool -> Bool -> JsonRpcOptions
[allowSpilledArguemnts] :: JsonRpcOptions -> Bool
[allowNonExistField] :: JsonRpcOptions -> Bool
defaultJsonRpcOptions :: JsonRpcOptions
class GToArrayJSON f
genericToArrayJSON :: (Generic a, GToArrayJSON (Rep a)) => a -> Value
instance Data.JsonRpc.Generic.GFromArrayJSON GHC.Generics.U1
instance (Data.JsonRpc.Generic.GFromArrayJSON a, Data.JsonRpc.Generic.GFromArrayJSON b) => Data.JsonRpc.Generic.GFromArrayJSON (a GHC.Generics.:*: b)
instance Data.JsonRpc.Generic.GFromArrayJSON a => Data.JsonRpc.Generic.GFromArrayJSON (GHC.Generics.M1 i c a)
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.JsonRpc.Generic.GFromArrayJSON (GHC.Generics.K1 i a)
instance Data.JsonRpc.Generic.GFieldSetJSON GHC.Generics.U1
instance (Data.JsonRpc.Generic.GFieldSetJSON a, Data.JsonRpc.Generic.GFieldSetJSON b) => Data.JsonRpc.Generic.GFieldSetJSON (a GHC.Generics.:*: b)
instance Data.JsonRpc.Generic.GFieldSetJSON a => Data.JsonRpc.Generic.GFieldSetJSON (GHC.Generics.D1 c a)
instance Data.JsonRpc.Generic.GFieldSetJSON a => Data.JsonRpc.Generic.GFieldSetJSON (GHC.Generics.C1 c a)
instance (Data.JsonRpc.Generic.GFieldSetJSON a, GHC.Generics.Selector s) => Data.JsonRpc.Generic.GFieldSetJSON (GHC.Generics.S1 s a)
instance Data.JsonRpc.Generic.GFieldSetJSON (GHC.Generics.K1 i a)
instance Data.JsonRpc.Generic.GToArrayJSON GHC.Generics.U1
instance (Data.JsonRpc.Generic.GToArrayJSON a, Data.JsonRpc.Generic.GToArrayJSON b) => Data.JsonRpc.Generic.GToArrayJSON (a GHC.Generics.:*: b)
instance Data.JsonRpc.Generic.GToArrayJSON a => Data.JsonRpc.Generic.GToArrayJSON (GHC.Generics.M1 i c a)
instance Data.Aeson.Types.ToJSON.ToJSON a => Data.JsonRpc.Generic.GToArrayJSON (GHC.Generics.K1 i a)

module Data.JsonRpc.Failure
data Failure e
Failure :: !Text -> !(Maybe Id) -> !(Error e) -> Failure e
[_jsonrpc] :: Failure e -> !Text
[_id] :: Failure e -> !(Maybe Id)
[_error] :: Failure e -> !(Error e)
data Error e
Error :: !ErrorStatus -> !Text -> !(Maybe e) -> Error e
[_code] :: Error e -> !ErrorStatus
[_message] :: Error e -> !Text
[_data] :: Error e -> !(Maybe e)
data ErrorStatus
ParseError :: ErrorStatus
InvalidRequest :: ErrorStatus
MethodNotFound :: ErrorStatus
InvalidParams :: ErrorStatus
InternalError :: ErrorStatus
ServerError :: !Integer -> ErrorStatus
MethodError :: !Integer -> ErrorStatus
toCode :: ErrorStatus -> Integer
fromCode :: (Integral a, MonadPlus m) => a -> m ErrorStatus
refineStatus :: MonadPlus m => ErrorStatus -> m ErrorStatus
failure :: Maybe Id -> ErrorStatus -> Maybe Text -> Maybe e -> Failure e
makeError :: ErrorStatus -> Maybe Text -> Maybe e -> Error e
serverError :: (Integral a, MonadPlus m) => a -> m ErrorStatus
methodError :: (Integral a, MonadPlus m) => a -> m ErrorStatus
emptyError :: Maybe ()
instance Data.Traversable.Traversable Data.JsonRpc.Failure.Failure
instance Data.Foldable.Foldable Data.JsonRpc.Failure.Failure
instance GHC.Base.Functor Data.JsonRpc.Failure.Failure
instance GHC.Show.Show e => GHC.Show.Show (Data.JsonRpc.Failure.Failure e)
instance GHC.Classes.Eq e => GHC.Classes.Eq (Data.JsonRpc.Failure.Failure e)
instance Data.Traversable.Traversable Data.JsonRpc.Failure.Error
instance Data.Foldable.Foldable Data.JsonRpc.Failure.Error
instance GHC.Base.Functor Data.JsonRpc.Failure.Error
instance GHC.Show.Show e => GHC.Show.Show (Data.JsonRpc.Failure.Error e)
instance GHC.Classes.Eq e => GHC.Classes.Eq (Data.JsonRpc.Failure.Error e)
instance GHC.Show.Show Data.JsonRpc.Failure.ErrorStatus
instance GHC.Classes.Eq Data.JsonRpc.Failure.ErrorStatus

module Data.JsonRpc.Response
newtype Response e a
Response :: (Either (Failure e) (Success a)) -> Response e a
instance GHC.Base.Functor (Data.JsonRpc.Response.Response e)
instance (GHC.Show.Show e, GHC.Show.Show a) => GHC.Show.Show (Data.JsonRpc.Response.Response e a)
instance (GHC.Classes.Eq e, GHC.Classes.Eq a) => GHC.Classes.Eq (Data.JsonRpc.Response.Response e a)

module Data.JsonRpc.Instances
instance GHC.Generics.Generic (Data.JsonRpc.Request.Request a)
instance GHC.Generics.Generic (Data.JsonRpc.Success.Success a)
instance GHC.Generics.Generic (Data.JsonRpc.Failure.Error e)
instance GHC.Generics.Generic (Data.JsonRpc.Failure.Failure e)
instance Data.Aeson.Types.FromJSON.FromJSON Data.JsonRpc.Id.Id
instance Data.Aeson.Types.ToJSON.ToJSON Data.JsonRpc.Id.Id
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Data.JsonRpc.Request.Request a)
instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Data.JsonRpc.Request.Request a)
instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (Data.JsonRpc.Success.Success a)
instance Data.Aeson.Types.ToJSON.ToJSON a => Data.Aeson.Types.ToJSON.ToJSON (Data.JsonRpc.Success.Success a)
instance Data.Aeson.Types.FromJSON.FromJSON Data.JsonRpc.Failure.ErrorStatus
instance Data.Aeson.Types.ToJSON.ToJSON Data.JsonRpc.Failure.ErrorStatus
instance Data.Aeson.Types.FromJSON.FromJSON e => Data.Aeson.Types.FromJSON.FromJSON (Data.JsonRpc.Failure.Error e)
instance Data.Aeson.Types.ToJSON.ToJSON e => Data.Aeson.Types.ToJSON.ToJSON (Data.JsonRpc.Failure.Error e)
instance Data.Aeson.Types.FromJSON.FromJSON e => Data.Aeson.Types.FromJSON.FromJSON (Data.JsonRpc.Failure.Failure e)
instance Data.Aeson.Types.ToJSON.ToJSON e => Data.Aeson.Types.ToJSON.ToJSON (Data.JsonRpc.Failure.Failure e)
instance (Data.Aeson.Types.FromJSON.FromJSON e, Data.Aeson.Types.FromJSON.FromJSON a) => Data.Aeson.Types.FromJSON.FromJSON (Data.JsonRpc.Response.Response e a)
instance (Data.Aeson.Types.ToJSON.ToJSON e, Data.Aeson.Types.ToJSON.ToJSON a) => Data.Aeson.Types.ToJSON.ToJSON (Data.JsonRpc.Response.Response e a)

module Data.JsonRpc
