module GitHub.Data.RateLimit where
import GitHub.Internal.Prelude
import Prelude ()
data Limits = Limits
{ Limits -> Int
limitsMax :: !Int
, Limits -> Int
limitsRemaining :: !Int
, Limits -> Int
limitsReset :: !Int
}
deriving (Int -> Limits -> ShowS
[Limits] -> ShowS
Limits -> String
(Int -> Limits -> ShowS)
-> (Limits -> String) -> ([Limits] -> ShowS) -> Show Limits
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Limits] -> ShowS
$cshowList :: [Limits] -> ShowS
show :: Limits -> String
$cshow :: Limits -> String
showsPrec :: Int -> Limits -> ShowS
$cshowsPrec :: Int -> Limits -> ShowS
Show, Typeable Limits
Constr
DataType
Typeable Limits =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Limits -> c Limits)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Limits)
-> (Limits -> Constr)
-> (Limits -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Limits))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Limits))
-> ((forall b. Data b => b -> b) -> Limits -> Limits)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> Limits -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> Limits -> r)
-> (forall u. (forall d. Data d => d -> u) -> Limits -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> Limits -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Limits -> m Limits)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Limits -> m Limits)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Limits -> m Limits)
-> Data Limits
Limits -> Constr
Limits -> DataType
(forall b. Data b => b -> b) -> Limits -> Limits
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Limits -> c Limits
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Limits
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> Limits -> u
forall u. (forall d. Data d => d -> u) -> Limits -> [u]
forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Limits -> r
forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Limits -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Limits -> m Limits
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Limits -> m Limits
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Limits
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Limits -> c Limits
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Limits)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Limits)
$cLimits :: Constr
$tLimits :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> Limits -> m Limits
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Limits -> m Limits
gmapMp :: (forall d. Data d => d -> m d) -> Limits -> m Limits
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> Limits -> m Limits
gmapM :: (forall d. Data d => d -> m d) -> Limits -> m Limits
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> Limits -> m Limits
gmapQi :: Int -> (forall d. Data d => d -> u) -> Limits -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> Limits -> u
gmapQ :: (forall d. Data d => d -> u) -> Limits -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> Limits -> [u]
gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Limits -> r
$cgmapQr :: forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Limits -> r
gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Limits -> r
$cgmapQl :: forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Limits -> r
gmapT :: (forall b. Data b => b -> b) -> Limits -> Limits
$cgmapT :: (forall b. Data b => b -> b) -> Limits -> Limits
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Limits)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Limits)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c Limits)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c Limits)
dataTypeOf :: Limits -> DataType
$cdataTypeOf :: Limits -> DataType
toConstr :: Limits -> Constr
$ctoConstr :: Limits -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Limits
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c Limits
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Limits -> c Limits
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> Limits -> c Limits
$cp1Data :: Typeable Limits
Data, Typeable, Limits -> Limits -> Bool
(Limits -> Limits -> Bool)
-> (Limits -> Limits -> Bool) -> Eq Limits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Limits -> Limits -> Bool
$c/= :: Limits -> Limits -> Bool
== :: Limits -> Limits -> Bool
$c== :: Limits -> Limits -> Bool
Eq, Eq Limits
Eq Limits =>
(Limits -> Limits -> Ordering)
-> (Limits -> Limits -> Bool)
-> (Limits -> Limits -> Bool)
-> (Limits -> Limits -> Bool)
-> (Limits -> Limits -> Bool)
-> (Limits -> Limits -> Limits)
-> (Limits -> Limits -> Limits)
-> Ord Limits
Limits -> Limits -> Bool
Limits -> Limits -> Ordering
Limits -> Limits -> Limits
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: Limits -> Limits -> Limits
$cmin :: Limits -> Limits -> Limits
max :: Limits -> Limits -> Limits
$cmax :: Limits -> Limits -> Limits
>= :: Limits -> Limits -> Bool
$c>= :: Limits -> Limits -> Bool
> :: Limits -> Limits -> Bool
$c> :: Limits -> Limits -> Bool
<= :: Limits -> Limits -> Bool
$c<= :: Limits -> Limits -> Bool
< :: Limits -> Limits -> Bool
$c< :: Limits -> Limits -> Bool
compare :: Limits -> Limits -> Ordering
$ccompare :: Limits -> Limits -> Ordering
$cp1Ord :: Eq Limits
Ord, (forall x. Limits -> Rep Limits x)
-> (forall x. Rep Limits x -> Limits) -> Generic Limits
forall x. Rep Limits x -> Limits
forall x. Limits -> Rep Limits x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Limits x -> Limits
$cfrom :: forall x. Limits -> Rep Limits x
Generic)
instance NFData Limits where rnf :: Limits -> ()
rnf = Limits -> ()
forall a. (Generic a, GNFData (Rep a)) => a -> ()
genericRnf
instance Binary Limits
instance FromJSON Limits where
parseJSON :: Value -> Parser Limits
parseJSON = String -> (Object -> Parser Limits) -> Value -> Parser Limits
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject "Limits" ((Object -> Parser Limits) -> Value -> Parser Limits)
-> (Object -> Parser Limits) -> Value -> Parser Limits
forall a b. (a -> b) -> a -> b
$ \obj :: Object
obj -> Int -> Int -> Int -> Limits
Limits
(Int -> Int -> Int -> Limits)
-> Parser Int -> Parser (Int -> Int -> Limits)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: "limit"
Parser (Int -> Int -> Limits)
-> Parser Int -> Parser (Int -> Limits)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: "remaining"
Parser (Int -> Limits) -> Parser Int -> Parser Limits
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
.: "reset"
data RateLimit = RateLimit
{ RateLimit -> Limits
rateLimitCore :: Limits
, RateLimit -> Limits
rateLimitSearch :: Limits
, RateLimit -> Limits
rateLimitGraphQL :: Limits
}
deriving (Int -> RateLimit -> ShowS
[RateLimit] -> ShowS
RateLimit -> String
(Int -> RateLimit -> ShowS)
-> (RateLimit -> String)
-> ([RateLimit] -> ShowS)
-> Show RateLimit
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RateLimit] -> ShowS
$cshowList :: [RateLimit] -> ShowS
show :: RateLimit -> String
$cshow :: RateLimit -> String
showsPrec :: Int -> RateLimit -> ShowS
$cshowsPrec :: Int -> RateLimit -> ShowS
Show, Typeable RateLimit
Constr
DataType
Typeable RateLimit =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RateLimit -> c RateLimit)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RateLimit)
-> (RateLimit -> Constr)
-> (RateLimit -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RateLimit))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RateLimit))
-> ((forall b. Data b => b -> b) -> RateLimit -> RateLimit)
-> (forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RateLimit -> r)
-> (forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RateLimit -> r)
-> (forall u. (forall d. Data d => d -> u) -> RateLimit -> [u])
-> (forall u.
Int -> (forall d. Data d => d -> u) -> RateLimit -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RateLimit -> m RateLimit)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RateLimit -> m RateLimit)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RateLimit -> m RateLimit)
-> Data RateLimit
RateLimit -> Constr
RateLimit -> DataType
(forall b. Data b => b -> b) -> RateLimit -> RateLimit
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RateLimit -> c RateLimit
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RateLimit
forall a.
Typeable a =>
(forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> a -> c a)
-> (forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c a)
-> (a -> Constr)
-> (a -> DataType)
-> (forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c a))
-> (forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c a))
-> ((forall b. Data b => b -> b) -> a -> a)
-> (forall r r'.
(r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall r r'.
(r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> a -> r)
-> (forall u. (forall d. Data d => d -> u) -> a -> [u])
-> (forall u. Int -> (forall d. Data d => d -> u) -> a -> u)
-> (forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> (forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> a -> m a)
-> Data a
forall u. Int -> (forall d. Data d => d -> u) -> RateLimit -> u
forall u. (forall d. Data d => d -> u) -> RateLimit -> [u]
forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RateLimit -> r
forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RateLimit -> r
forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RateLimit -> m RateLimit
forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RateLimit -> m RateLimit
forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RateLimit
forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RateLimit -> c RateLimit
forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RateLimit)
forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RateLimit)
$cRateLimit :: Constr
$tRateLimit :: DataType
gmapMo :: (forall d. Data d => d -> m d) -> RateLimit -> m RateLimit
$cgmapMo :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RateLimit -> m RateLimit
gmapMp :: (forall d. Data d => d -> m d) -> RateLimit -> m RateLimit
$cgmapMp :: forall (m :: * -> *).
MonadPlus m =>
(forall d. Data d => d -> m d) -> RateLimit -> m RateLimit
gmapM :: (forall d. Data d => d -> m d) -> RateLimit -> m RateLimit
$cgmapM :: forall (m :: * -> *).
Monad m =>
(forall d. Data d => d -> m d) -> RateLimit -> m RateLimit
gmapQi :: Int -> (forall d. Data d => d -> u) -> RateLimit -> u
$cgmapQi :: forall u. Int -> (forall d. Data d => d -> u) -> RateLimit -> u
gmapQ :: (forall d. Data d => d -> u) -> RateLimit -> [u]
$cgmapQ :: forall u. (forall d. Data d => d -> u) -> RateLimit -> [u]
gmapQr :: (r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RateLimit -> r
$cgmapQr :: forall r r'.
(r' -> r -> r)
-> r -> (forall d. Data d => d -> r') -> RateLimit -> r
gmapQl :: (r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RateLimit -> r
$cgmapQl :: forall r r'.
(r -> r' -> r)
-> r -> (forall d. Data d => d -> r') -> RateLimit -> r
gmapT :: (forall b. Data b => b -> b) -> RateLimit -> RateLimit
$cgmapT :: (forall b. Data b => b -> b) -> RateLimit -> RateLimit
dataCast2 :: (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RateLimit)
$cdataCast2 :: forall (t :: * -> * -> *) (c :: * -> *).
Typeable t =>
(forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c RateLimit)
dataCast1 :: (forall d. Data d => c (t d)) -> Maybe (c RateLimit)
$cdataCast1 :: forall (t :: * -> *) (c :: * -> *).
Typeable t =>
(forall d. Data d => c (t d)) -> Maybe (c RateLimit)
dataTypeOf :: RateLimit -> DataType
$cdataTypeOf :: RateLimit -> DataType
toConstr :: RateLimit -> Constr
$ctoConstr :: RateLimit -> Constr
gunfold :: (forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RateLimit
$cgunfold :: forall (c :: * -> *).
(forall b r. Data b => c (b -> r) -> c r)
-> (forall r. r -> c r) -> Constr -> c RateLimit
gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RateLimit -> c RateLimit
$cgfoldl :: forall (c :: * -> *).
(forall d b. Data d => c (d -> b) -> d -> c b)
-> (forall g. g -> c g) -> RateLimit -> c RateLimit
$cp1Data :: Typeable RateLimit
Data, Typeable, RateLimit -> RateLimit -> Bool
(RateLimit -> RateLimit -> Bool)
-> (RateLimit -> RateLimit -> Bool) -> Eq RateLimit
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RateLimit -> RateLimit -> Bool
$c/= :: RateLimit -> RateLimit -> Bool
== :: RateLimit -> RateLimit -> Bool
$c== :: RateLimit -> RateLimit -> Bool
Eq, Eq RateLimit
Eq RateLimit =>
(RateLimit -> RateLimit -> Ordering)
-> (RateLimit -> RateLimit -> Bool)
-> (RateLimit -> RateLimit -> Bool)
-> (RateLimit -> RateLimit -> Bool)
-> (RateLimit -> RateLimit -> Bool)
-> (RateLimit -> RateLimit -> RateLimit)
-> (RateLimit -> RateLimit -> RateLimit)
-> Ord RateLimit
RateLimit -> RateLimit -> Bool
RateLimit -> RateLimit -> Ordering
RateLimit -> RateLimit -> RateLimit
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: RateLimit -> RateLimit -> RateLimit
$cmin :: RateLimit -> RateLimit -> RateLimit
max :: RateLimit -> RateLimit -> RateLimit
$cmax :: RateLimit -> RateLimit -> RateLimit
>= :: RateLimit -> RateLimit -> Bool
$c>= :: RateLimit -> RateLimit -> Bool
> :: RateLimit -> RateLimit -> Bool
$c> :: RateLimit -> RateLimit -> Bool
<= :: RateLimit -> RateLimit -> Bool
$c<= :: RateLimit -> RateLimit -> Bool
< :: RateLimit -> RateLimit -> Bool
$c< :: RateLimit -> RateLimit -> Bool
compare :: RateLimit -> RateLimit -> Ordering
$ccompare :: RateLimit -> RateLimit -> Ordering
$cp1Ord :: Eq RateLimit
Ord, (forall x. RateLimit -> Rep RateLimit x)
-> (forall x. Rep RateLimit x -> RateLimit) -> Generic RateLimit
forall x. Rep RateLimit x -> RateLimit
forall x. RateLimit -> Rep RateLimit x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RateLimit x -> RateLimit
$cfrom :: forall x. RateLimit -> Rep RateLimit x
Generic)
instance NFData RateLimit where rnf :: RateLimit -> ()
rnf = RateLimit -> ()
forall a. (Generic a, GNFData (Rep a)) => a -> ()
genericRnf
instance Binary RateLimit
instance FromJSON RateLimit where
parseJSON :: Value -> Parser RateLimit
parseJSON = String -> (Object -> Parser RateLimit) -> Value -> Parser RateLimit
forall a. String -> (Object -> Parser a) -> Value -> Parser a
withObject "RateLimit" ((Object -> Parser RateLimit) -> Value -> Parser RateLimit)
-> (Object -> Parser RateLimit) -> Value -> Parser RateLimit
forall a b. (a -> b) -> a -> b
$ \obj :: Object
obj -> do
Object
resources <- Object
obj Object -> Text -> Parser Object
forall a. FromJSON a => Object -> Text -> Parser a
.: "resources"
Limits -> Limits -> Limits -> RateLimit
RateLimit
(Limits -> Limits -> Limits -> RateLimit)
-> Parser Limits -> Parser (Limits -> Limits -> RateLimit)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> Object
resources Object -> Text -> Parser Limits
forall a. FromJSON a => Object -> Text -> Parser a
.: "core"
Parser (Limits -> Limits -> RateLimit)
-> Parser Limits -> Parser (Limits -> RateLimit)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
resources Object -> Text -> Parser Limits
forall a. FromJSON a => Object -> Text -> Parser a
.: "search"
Parser (Limits -> RateLimit) -> Parser Limits -> Parser RateLimit
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> Object
resources Object -> Text -> Parser Limits
forall a. FromJSON a => Object -> Text -> Parser a
.: "graphql"