{-# LANGUAGE DeriveFunctor, DeriveFoldable, DeriveTraversable #-} module Data.JsonRpc.Request ( Request(..), request, ) where import Prelude hiding (id) import Data.Text (Text, pack) import Data.Foldable (Foldable) import Data.Traversable (Traversable) import Data.JsonRpc.Id (Id) data Request a = Request { Request a -> Text jsonrpc :: !Text , Request a -> Text method :: !Text , Request a -> Maybe a params :: !(Maybe a) , Request a -> Maybe Id id :: !(Maybe Id) } deriving (Request a -> Request a -> Bool (Request a -> Request a -> Bool) -> (Request a -> Request a -> Bool) -> Eq (Request a) forall a. Eq a => Request a -> Request a -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Request a -> Request a -> Bool $c/= :: forall a. Eq a => Request a -> Request a -> Bool == :: Request a -> Request a -> Bool $c== :: forall a. Eq a => Request a -> Request a -> Bool Eq, Int -> Request a -> ShowS [Request a] -> ShowS Request a -> String (Int -> Request a -> ShowS) -> (Request a -> String) -> ([Request a] -> ShowS) -> Show (Request a) forall a. Show a => Int -> Request a -> ShowS forall a. Show a => [Request a] -> ShowS forall a. Show a => Request a -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Request a] -> ShowS $cshowList :: forall a. Show a => [Request a] -> ShowS show :: Request a -> String $cshow :: forall a. Show a => Request a -> String showsPrec :: Int -> Request a -> ShowS $cshowsPrec :: forall a. Show a => Int -> Request a -> ShowS Show, ReadPrec [Request a] ReadPrec (Request a) Int -> ReadS (Request a) ReadS [Request a] (Int -> ReadS (Request a)) -> ReadS [Request a] -> ReadPrec (Request a) -> ReadPrec [Request a] -> Read (Request a) forall a. Read a => ReadPrec [Request a] forall a. Read a => ReadPrec (Request a) forall a. Read a => Int -> ReadS (Request a) forall a. Read a => ReadS [Request a] forall a. (Int -> ReadS a) -> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a readListPrec :: ReadPrec [Request a] $creadListPrec :: forall a. Read a => ReadPrec [Request a] readPrec :: ReadPrec (Request a) $creadPrec :: forall a. Read a => ReadPrec (Request a) readList :: ReadS [Request a] $creadList :: forall a. Read a => ReadS [Request a] readsPrec :: Int -> ReadS (Request a) $creadsPrec :: forall a. Read a => Int -> ReadS (Request a) Read, a -> Request b -> Request a (a -> b) -> Request a -> Request b (forall a b. (a -> b) -> Request a -> Request b) -> (forall a b. a -> Request b -> Request a) -> Functor Request forall a b. a -> Request b -> Request a forall a b. (a -> b) -> Request a -> Request b forall (f :: * -> *). (forall a b. (a -> b) -> f a -> f b) -> (forall a b. a -> f b -> f a) -> Functor f <$ :: a -> Request b -> Request a $c<$ :: forall a b. a -> Request b -> Request a fmap :: (a -> b) -> Request a -> Request b $cfmap :: forall a b. (a -> b) -> Request a -> Request b Functor, Request a -> Bool (a -> m) -> Request a -> m (a -> b -> b) -> b -> Request a -> b (forall m. Monoid m => Request m -> m) -> (forall m a. Monoid m => (a -> m) -> Request a -> m) -> (forall m a. Monoid m => (a -> m) -> Request a -> m) -> (forall a b. (a -> b -> b) -> b -> Request a -> b) -> (forall a b. (a -> b -> b) -> b -> Request a -> b) -> (forall b a. (b -> a -> b) -> b -> Request a -> b) -> (forall b a. (b -> a -> b) -> b -> Request a -> b) -> (forall a. (a -> a -> a) -> Request a -> a) -> (forall a. (a -> a -> a) -> Request a -> a) -> (forall a. Request a -> [a]) -> (forall a. Request a -> Bool) -> (forall a. Request a -> Int) -> (forall a. Eq a => a -> Request a -> Bool) -> (forall a. Ord a => Request a -> a) -> (forall a. Ord a => Request a -> a) -> (forall a. Num a => Request a -> a) -> (forall a. Num a => Request a -> a) -> Foldable Request forall a. Eq a => a -> Request a -> Bool forall a. Num a => Request a -> a forall a. Ord a => Request a -> a forall m. Monoid m => Request m -> m forall a. Request a -> Bool forall a. Request a -> Int forall a. Request a -> [a] forall a. (a -> a -> a) -> Request a -> a forall m a. Monoid m => (a -> m) -> Request a -> m forall b a. (b -> a -> b) -> b -> Request a -> b forall a b. (a -> b -> b) -> b -> Request a -> b forall (t :: * -> *). (forall m. Monoid m => t m -> m) -> (forall m a. Monoid m => (a -> m) -> t a -> m) -> (forall m a. Monoid m => (a -> m) -> t a -> m) -> (forall a b. (a -> b -> b) -> b -> t a -> b) -> (forall a b. (a -> b -> b) -> b -> t a -> b) -> (forall b a. (b -> a -> b) -> b -> t a -> b) -> (forall b a. (b -> a -> b) -> b -> t a -> b) -> (forall a. (a -> a -> a) -> t a -> a) -> (forall a. (a -> a -> a) -> t a -> a) -> (forall a. t a -> [a]) -> (forall a. t a -> Bool) -> (forall a. t a -> Int) -> (forall a. Eq a => a -> t a -> Bool) -> (forall a. Ord a => t a -> a) -> (forall a. Ord a => t a -> a) -> (forall a. Num a => t a -> a) -> (forall a. Num a => t a -> a) -> Foldable t product :: Request a -> a $cproduct :: forall a. Num a => Request a -> a sum :: Request a -> a $csum :: forall a. Num a => Request a -> a minimum :: Request a -> a $cminimum :: forall a. Ord a => Request a -> a maximum :: Request a -> a $cmaximum :: forall a. Ord a => Request a -> a elem :: a -> Request a -> Bool $celem :: forall a. Eq a => a -> Request a -> Bool length :: Request a -> Int $clength :: forall a. Request a -> Int null :: Request a -> Bool $cnull :: forall a. Request a -> Bool toList :: Request a -> [a] $ctoList :: forall a. Request a -> [a] foldl1 :: (a -> a -> a) -> Request a -> a $cfoldl1 :: forall a. (a -> a -> a) -> Request a -> a foldr1 :: (a -> a -> a) -> Request a -> a $cfoldr1 :: forall a. (a -> a -> a) -> Request a -> a foldl' :: (b -> a -> b) -> b -> Request a -> b $cfoldl' :: forall b a. (b -> a -> b) -> b -> Request a -> b foldl :: (b -> a -> b) -> b -> Request a -> b $cfoldl :: forall b a. (b -> a -> b) -> b -> Request a -> b foldr' :: (a -> b -> b) -> b -> Request a -> b $cfoldr' :: forall a b. (a -> b -> b) -> b -> Request a -> b foldr :: (a -> b -> b) -> b -> Request a -> b $cfoldr :: forall a b. (a -> b -> b) -> b -> Request a -> b foldMap' :: (a -> m) -> Request a -> m $cfoldMap' :: forall m a. Monoid m => (a -> m) -> Request a -> m foldMap :: (a -> m) -> Request a -> m $cfoldMap :: forall m a. Monoid m => (a -> m) -> Request a -> m fold :: Request m -> m $cfold :: forall m. Monoid m => Request m -> m Foldable, Functor Request Foldable Request Functor Request -> Foldable Request -> (forall (f :: * -> *) a b. Applicative f => (a -> f b) -> Request a -> f (Request b)) -> (forall (f :: * -> *) a. Applicative f => Request (f a) -> f (Request a)) -> (forall (m :: * -> *) a b. Monad m => (a -> m b) -> Request a -> m (Request b)) -> (forall (m :: * -> *) a. Monad m => Request (m a) -> m (Request a)) -> Traversable Request (a -> f b) -> Request a -> f (Request b) forall (t :: * -> *). Functor t -> Foldable t -> (forall (f :: * -> *) a b. Applicative f => (a -> f b) -> t a -> f (t b)) -> (forall (f :: * -> *) a. Applicative f => t (f a) -> f (t a)) -> (forall (m :: * -> *) a b. Monad m => (a -> m b) -> t a -> m (t b)) -> (forall (m :: * -> *) a. Monad m => t (m a) -> m (t a)) -> Traversable t forall (m :: * -> *) a. Monad m => Request (m a) -> m (Request a) forall (f :: * -> *) a. Applicative f => Request (f a) -> f (Request a) forall (m :: * -> *) a b. Monad m => (a -> m b) -> Request a -> m (Request b) forall (f :: * -> *) a b. Applicative f => (a -> f b) -> Request a -> f (Request b) sequence :: Request (m a) -> m (Request a) $csequence :: forall (m :: * -> *) a. Monad m => Request (m a) -> m (Request a) mapM :: (a -> m b) -> Request a -> m (Request b) $cmapM :: forall (m :: * -> *) a b. Monad m => (a -> m b) -> Request a -> m (Request b) sequenceA :: Request (f a) -> f (Request a) $csequenceA :: forall (f :: * -> *) a. Applicative f => Request (f a) -> f (Request a) traverse :: (a -> f b) -> Request a -> f (Request b) $ctraverse :: forall (f :: * -> *) a b. Applicative f => (a -> f b) -> Request a -> f (Request b) $cp2Traversable :: Foldable Request $cp1Traversable :: Functor Request Traversable) request :: Text -> Maybe a -> Maybe Id -> Request a request :: Text -> Maybe a -> Maybe Id -> Request a request = Text -> Text -> Maybe a -> Maybe Id -> Request a forall a. Text -> Text -> Maybe a -> Maybe Id -> Request a Request (Text -> Text -> Maybe a -> Maybe Id -> Request a) -> Text -> Text -> Maybe a -> Maybe Id -> Request a forall a b. (a -> b) -> a -> b $ String -> Text pack String "2.0"