-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Access to the GitHub API, v3. -- -- The GitHub API provides programmatic access to the full GitHub Web -- site, from Issues to Gists to repos down to the underlying git data -- like references and trees. This library wraps all of that, exposing a -- basic but Haskell-friendly set of functions and data structures. -- -- For supported endpoints see GitHub module. -- --
-- import qualified GitHub as GH -- -- main :: IO () -- main = do -- possibleUser <- GH.github' GH.userInfoForR "phadej" -- print possibleUser ---- -- For more of an overview please see the README: -- https://github.com/haskell-github/github/blob/master/README.md @package github @version 0.29 -- | This module may change between minor releases. Do not rely on its -- contents. module GitHub.Internal.Prelude -- | Append two lists, i.e., -- --
-- [x1, ..., xm] ++ [y1, ..., yn] == [x1, ..., xm, y1, ..., yn] -- [x1, ..., xm] ++ [y1, ...] == [x1, ..., xm, y1, ...] ---- -- If the first list is not finite, the result is the first list. (++) :: [a] -> [a] -> [a] infixr 5 ++ -- | The value of seq a b is bottom if a is bottom, and -- otherwise equal to b. In other words, it evaluates the first -- argument a to weak head normal form (WHNF). seq is -- usually introduced to improve performance by avoiding unneeded -- laziness. -- -- A note on evaluation order: the expression seq a b does -- not guarantee that a will be evaluated before -- b. The only guarantee given by seq is that the both -- a and b will be evaluated before seq -- returns a value. In particular, this means that b may be -- evaluated before a. If you need to guarantee a specific order -- of evaluation, you must use the function pseq from the -- "parallel" package. seq :: forall {r :: RuntimeRep} a (b :: TYPE r). a -> b -> b infixr 0 `seq` -- | <math>. filter, applied to a predicate and a list, -- returns the list of those elements that satisfy the predicate; i.e., -- --
-- filter p xs = [ x | x <- xs, p x] ---- --
-- >>> filter odd [1, 2, 3] -- [1,3] --filter :: (a -> Bool) -> [a] -> [a] -- | <math>. zip takes two lists and returns a list of -- corresponding pairs. -- --
-- >>> zip [1, 2] ['a', 'b'] -- [(1,'a'),(2,'b')] ---- -- If one input list is shorter than the other, excess elements of the -- longer list are discarded, even if one of the lists is infinite: -- --
-- >>> zip [1] ['a', 'b'] -- [(1,'a')] -- -- >>> zip [1, 2] ['a'] -- [(1,'a')] -- -- >>> zip [] [1..] -- [] -- -- >>> zip [1..] [] -- [] ---- -- zip is right-lazy: -- --
-- >>> zip [] undefined -- [] -- -- >>> zip undefined [] -- *** Exception: Prelude.undefined -- ... ---- -- zip is capable of list fusion, but it is restricted to its -- first list argument and its resulting list. zip :: [a] -> [b] -> [(a, b)] -- | The print function outputs a value of any printable type to the -- standard output device. Printable types are those that are instances -- of class Show; print converts values to strings for -- output using the show operation and adds a newline. -- -- For example, a program to print the first 20 integers and their powers -- of 2 could be written as: -- --
-- main = print ([(n, 2^n) | n <- [0..19]]) --print :: Show a => a -> IO () -- | Extract the first component of a pair. fst :: (a, b) -> a -- | Extract the second component of a pair. snd :: (a, b) -> b -- | otherwise is defined as the value True. It helps to make -- guards more readable. eg. -- --
-- f x | x < 0 = ... -- | otherwise = ... --otherwise :: Bool -- | <math>. map f xs is the list obtained by -- applying f to each element of xs, i.e., -- --
-- map f [x1, x2, ..., xn] == [f x1, f x2, ..., f xn] -- map f [x1, x2, ...] == [f x1, f x2, ...] ---- --
-- >>> map (+1) [1, 2, 3] -- [2,3,4] --map :: (a -> b) -> [a] -> [b] -- | Application operator. This operator is redundant, since ordinary -- application (f x) means the same as (f $ x). -- However, $ has low, right-associative binding precedence, so it -- sometimes allows parentheses to be omitted; for example: -- --
-- f $ g $ h x = f (g (h x)) ---- -- It is also useful in higher-order situations, such as map -- ($ 0) xs, or zipWith ($) fs xs. -- -- Note that ($) is levity-polymorphic in its result -- type, so that foo $ True where foo :: Bool -> -- Int# is well-typed. ($) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b infixr 0 $ -- | general coercion from integral types fromIntegral :: (Integral a, Num b) => a -> b -- | general coercion to fractional types realToFrac :: (Real a, Fractional b) => a -> b -- | The Bounded class is used to name the upper and lower limits of -- a type. Ord is not a superclass of Bounded since types -- that are not totally ordered may also have upper and lower bounds. -- -- The Bounded class may be derived for any enumeration type; -- minBound is the first constructor listed in the data -- declaration and maxBound is the last. Bounded may also -- be derived for single-constructor datatypes whose constituent types -- are in Bounded. class Bounded a minBound :: Bounded a => a maxBound :: Bounded a => a -- | Class Enum defines operations on sequentially ordered types. -- -- The enumFrom... methods are used in Haskell's translation of -- arithmetic sequences. -- -- Instances of Enum may be derived for any enumeration type -- (types whose constructors have no fields). The nullary constructors -- are assumed to be numbered left-to-right by fromEnum from -- 0 through n-1. See Chapter 10 of the Haskell -- Report for more details. -- -- For any type that is an instance of class Bounded as well as -- Enum, the following should hold: -- --
-- enumFrom x = enumFromTo x maxBound -- enumFromThen x y = enumFromThenTo x y bound -- where -- bound | fromEnum y >= fromEnum x = maxBound -- | otherwise = minBound --class Enum a -- | the successor of a value. For numeric types, succ adds 1. succ :: Enum a => a -> a -- | the predecessor of a value. For numeric types, pred subtracts -- 1. pred :: Enum a => a -> a -- | Convert from an Int. toEnum :: Enum a => Int -> a -- | Convert to an Int. It is implementation-dependent what -- fromEnum returns when applied to a value that is too large to -- fit in an Int. fromEnum :: Enum a => a -> Int -- | Used in Haskell's translation of [n..] with [n..] = -- enumFrom n, a possible implementation being enumFrom n = n : -- enumFrom (succ n). For example: -- --
enumFrom 4 :: [Integer] = [4,5,6,7,...]
enumFrom 6 :: [Int] = [6,7,8,9,...,maxBound :: -- Int]
enumFromThen 4 6 :: [Integer] = [4,6,8,10...]
enumFromThen 6 2 :: [Int] = [6,2,-2,-6,...,minBound :: -- Int]
enumFromTo 6 10 :: [Int] = [6,7,8,9,10]
enumFromTo 42 1 :: [Integer] = []
enumFromThenTo 4 2 -6 :: [Integer] = -- [4,2,0,-2,-4,-6]
enumFromThenTo 6 8 2 :: [Int] = []
-- (x `quot` y)*y + (x `rem` y) == x --rem :: Integral a => a -> a -> a -- | integer division truncated toward negative infinity div :: Integral a => a -> a -> a -- | integer modulus, satisfying -- --
-- (x `div` y)*y + (x `mod` y) == x --mod :: Integral a => a -> a -> a -- | simultaneous quot and rem quotRem :: Integral a => a -> a -> (a, a) -- | simultaneous div and mod divMod :: Integral a => a -> a -> (a, a) -- | conversion to Integer toInteger :: Integral a => a -> Integer infixl 7 `rem` infixl 7 `quot` infixl 7 `mod` infixl 7 `div` -- | The Monad class defines the basic operations over a -- monad, a concept from a branch of mathematics known as -- category theory. From the perspective of a Haskell programmer, -- however, it is best to think of a monad as an abstract datatype -- of actions. Haskell's do expressions provide a convenient -- syntax for writing monadic expressions. -- -- Instances of Monad should satisfy the following: -- --
-- do a <- as -- bs a --(>>=) :: Monad m => m a -> (a -> m b) -> m b -- | Sequentially compose two actions, discarding any value produced by the -- first, like sequencing operators (such as the semicolon) in imperative -- languages. -- -- 'as >> bs' can be understood as the do -- expression -- --
-- do as -- bs --(>>) :: Monad m => m a -> m b -> m b -- | Inject a value into the monadic type. return :: Monad m => a -> m a infixl 1 >>= infixl 1 >> -- | The Data class comprehends a fundamental primitive -- gfoldl for folding over constructor applications, say terms. -- This primitive can be instantiated in several ways to map over the -- immediate subterms of a term; see the gmap combinators later -- in this class. Indeed, a generic programmer does not necessarily need -- to use the ingenious gfoldl primitive but rather the intuitive -- gmap combinators. The gfoldl primitive is completed by -- means to query top-level constructors, to turn constructor -- representations into proper terms, and to list all possible datatype -- constructors. This completion allows us to serve generic programming -- scenarios like read, show, equality, term generation. -- -- The combinators gmapT, gmapQ, gmapM, etc are all -- provided with default definitions in terms of gfoldl, leaving -- open the opportunity to provide datatype-specific definitions. (The -- inclusion of the gmap combinators as members of class -- Data allows the programmer or the compiler to derive -- specialised, and maybe more efficient code per datatype. Note: -- gfoldl is more higher-order than the gmap combinators. -- This is subject to ongoing benchmarking experiments. It might turn out -- that the gmap combinators will be moved out of the class -- Data.) -- -- Conceptually, the definition of the gmap combinators in terms -- of the primitive gfoldl requires the identification of the -- gfoldl function arguments. Technically, we also need to -- identify the type constructor c for the construction of the -- result type from the folded term type. -- -- In the definition of gmapQx combinators, we use -- phantom type constructors for the c in the type of -- gfoldl because the result type of a query does not involve the -- (polymorphic) type of the term argument. In the definition of -- gmapQl we simply use the plain constant type constructor -- because gfoldl is left-associative anyway and so it is readily -- suited to fold a left-associative binary operation over the immediate -- subterms. In the definition of gmapQr, extra effort is needed. We use -- a higher-order accumulation trick to mediate between left-associative -- constructor application vs. right-associative binary operation (e.g., -- (:)). When the query is meant to compute a value of type -- r, then the result type within generic folding is r -> -- r. So the result of folding is a function to which we finally -- pass the right unit. -- -- With the -XDeriveDataTypeable option, GHC can generate -- instances of the Data class automatically. For example, given -- the declaration -- --
-- data T a b = C1 a b | C2 deriving (Typeable, Data) ---- -- GHC will generate an instance that is equivalent to -- --
-- instance (Data a, Data b) => Data (T a b) where -- gfoldl k z (C1 a b) = z C1 `k` a `k` b -- gfoldl k z C2 = z C2 -- -- gunfold k z c = case constrIndex c of -- 1 -> k (k (z C1)) -- 2 -> z C2 -- -- toConstr (C1 _ _) = con_C1 -- toConstr C2 = con_C2 -- -- dataTypeOf _ = ty_T -- -- con_C1 = mkConstr ty_T "C1" [] Prefix -- con_C2 = mkConstr ty_T "C2" [] Prefix -- ty_T = mkDataType "Module.T" [con_C1, con_C2] ---- -- This is suitable for datatypes that are exported transparently. class Typeable a => Data a -- | A type f is a Functor if it provides a function fmap -- which, given any types a and b lets you apply any -- function from (a -> b) to turn an f a into an -- f b, preserving the structure of f. Furthermore -- f needs to adhere to the following: -- -- -- -- Note, that the second law follows from the free theorem of the type -- fmap and the first law, so you need only check that the former -- condition holds. class Functor (f :: Type -> Type) -- | fmap is used to apply a function of type (a -> b) -- to a value of type f a, where f is a functor, to produce a -- value of type f b. Note that for any type constructor with -- more than one parameter (e.g., Either), only the last type -- parameter can be modified with fmap (e.g., b in -- `Either a b`). -- -- Some type constructors with two parameters or more have a -- Bifunctor instance that allows both the last and the -- penultimate parameters to be mapped over. -- --
-- >>> fmap show Nothing -- Nothing -- -- >>> fmap show (Just 3) -- Just "3" ---- -- Convert from an Either Int Int to an Either Int -- String using show: -- --
-- >>> fmap show (Left 17) -- Left 17 -- -- >>> fmap show (Right 17) -- Right "17" ---- -- Double each element of a list: -- --
-- >>> fmap (*2) [1,2,3] -- [2,4,6] ---- -- Apply even to the second element of a pair: -- --
-- >>> fmap even (2,2) -- (2,True) ---- -- It may seem surprising that the function is only applied to the last -- element of the tuple compared to the list example above which applies -- it to every element in the list. To understand, remember that tuples -- are type constructors with multiple type parameters: a tuple of 3 -- elements (a,b,c) can also be written (,,) a b c and -- its Functor instance is defined for Functor ((,,) a -- b) (i.e., only the third parameter is free to be mapped over with -- fmap). -- -- It explains why fmap can be used with tuples containing -- values of different types as in the following example: -- --
-- >>> fmap even ("hello", 1.0, 4)
-- ("hello",1.0,True)
--
fmap :: Functor f => (a -> b) -> f a -> f b
-- | Replace all locations in the input with the same value. The default
-- definition is fmap . const, but this may be
-- overridden with a more efficient version.
(<$) :: Functor f => a -> f b -> f a
infixl 4 <$
-- | Basic numeric class.
--
-- The Haskell Report defines no laws for Num. However,
-- (+) and (*) are customarily expected
-- to define a ring and have the following properties:
--
-- -- abs x * signum x == x ---- -- For real numbers, the signum is either -1 (negative), -- 0 (zero) or 1 (positive). signum :: Num a => a -> a -- | Conversion from an Integer. An integer literal represents the -- application of the function fromInteger to the appropriate -- value of type Integer, so such literals have type -- (Num a) => a. fromInteger :: Num a => Integer -> a infixl 7 * infixl 6 + infixl 6 - -- | The Ord class is used for totally ordered datatypes. -- -- Instances of Ord can be derived for any user-defined datatype -- whose constituent types are in Ord. The declared order of the -- constructors in the data declaration determines the ordering in -- derived Ord instances. The Ordering datatype allows a -- single comparison to determine the precise ordering of two objects. -- -- Ord, as defined by the Haskell report, implements a total order -- and has the following properties: -- --
-- infixr 5 :^: -- data Tree a = Leaf a | Tree a :^: Tree a ---- -- the derived instance of Read in Haskell 2010 is equivalent to -- --
-- instance (Read a) => Read (Tree a) where
--
-- readsPrec d r = readParen (d > app_prec)
-- (\r -> [(Leaf m,t) |
-- ("Leaf",s) <- lex r,
-- (m,t) <- readsPrec (app_prec+1) s]) r
--
-- ++ readParen (d > up_prec)
-- (\r -> [(u:^:v,w) |
-- (u,s) <- readsPrec (up_prec+1) r,
-- (":^:",t) <- lex s,
-- (v,w) <- readsPrec (up_prec+1) t]) r
--
-- where app_prec = 10
-- up_prec = 5
--
--
-- Note that right-associativity of :^: is unused.
--
-- The derived instance in GHC is equivalent to
--
-- -- instance (Read a) => Read (Tree a) where -- -- readPrec = parens $ (prec app_prec $ do -- Ident "Leaf" <- lexP -- m <- step readPrec -- return (Leaf m)) -- -- +++ (prec up_prec $ do -- u <- step readPrec -- Symbol ":^:" <- lexP -- v <- step readPrec -- return (u :^: v)) -- -- where app_prec = 10 -- up_prec = 5 -- -- readListPrec = readListPrecDefault ---- -- Why do both readsPrec and readPrec exist, and why does -- GHC opt to implement readPrec in derived Read instances -- instead of readsPrec? The reason is that readsPrec is -- based on the ReadS type, and although ReadS is mentioned -- in the Haskell 2010 Report, it is not a very efficient parser data -- structure. -- -- readPrec, on the other hand, is based on a much more efficient -- ReadPrec datatype (a.k.a "new-style parsers"), but its -- definition relies on the use of the RankNTypes language -- extension. Therefore, readPrec (and its cousin, -- readListPrec) are marked as GHC-only. Nevertheless, it is -- recommended to use readPrec instead of readsPrec -- whenever possible for the efficiency improvements it brings. -- -- As mentioned above, derived Read instances in GHC will -- implement readPrec instead of readsPrec. The default -- implementations of readsPrec (and its cousin, readList) -- will simply use readPrec under the hood. If you are writing a -- Read instance by hand, it is recommended to write it like so: -- --
-- instance Read T where -- readPrec = ... -- readListPrec = readListPrecDefault --class Read a -- | attempts to parse a value from the front of the string, returning a -- list of (parsed value, remaining string) pairs. If there is no -- successful parse, the returned list is empty. -- -- Derived instances of Read and Show satisfy the -- following: -- -- -- -- That is, readsPrec parses the string produced by -- showsPrec, and delivers the value that showsPrec started -- with. readsPrec :: Read a => Int -> ReadS a -- | The method readList is provided to allow the programmer to give -- a specialised way of parsing lists of values. For example, this is -- used by the predefined Read instance of the Char type, -- where values of type String should be are expected to use -- double quotes, rather than square brackets. readList :: Read a => ReadS [a] class (Num a, Ord a) => Real a -- | the rational equivalent of its real argument with full precision toRational :: Real a => a -> Rational -- | Efficient, machine-independent access to the components of a -- floating-point number. class (RealFrac a, Floating a) => RealFloat a -- | a constant function, returning the radix of the representation (often -- 2) floatRadix :: RealFloat a => a -> Integer -- | a constant function, returning the number of digits of -- floatRadix in the significand floatDigits :: RealFloat a => a -> Int -- | a constant function, returning the lowest and highest values the -- exponent may assume floatRange :: RealFloat a => a -> (Int, Int) -- | The function decodeFloat applied to a real floating-point -- number returns the significand expressed as an Integer and an -- appropriately scaled exponent (an Int). If -- decodeFloat x yields (m,n), then x -- is equal in value to m*b^^n, where b is the -- floating-point radix, and furthermore, either m and -- n are both zero or else b^(d-1) <= abs m < -- b^d, where d is the value of floatDigits -- x. In particular, decodeFloat 0 = (0,0). If the -- type contains a negative zero, also decodeFloat (-0.0) = -- (0,0). The result of decodeFloat x is -- unspecified if either of isNaN x or -- isInfinite x is True. decodeFloat :: RealFloat a => a -> (Integer, Int) -- | encodeFloat performs the inverse of decodeFloat in the -- sense that for finite x with the exception of -0.0, -- uncurry encodeFloat (decodeFloat x) = x. -- encodeFloat m n is one of the two closest -- representable floating-point numbers to m*b^^n (or -- ±Infinity if overflow occurs); usually the closer, but if -- m contains too many bits, the result may be rounded in the -- wrong direction. encodeFloat :: RealFloat a => Integer -> Int -> a -- | exponent corresponds to the second component of -- decodeFloat. exponent 0 = 0 and for finite -- nonzero x, exponent x = snd (decodeFloat x) -- + floatDigits x. If x is a finite floating-point -- number, it is equal in value to significand x * b ^^ -- exponent x, where b is the floating-point radix. -- The behaviour is unspecified on infinite or NaN values. exponent :: RealFloat a => a -> Int -- | The first component of decodeFloat, scaled to lie in the open -- interval (-1,1), either 0.0 or of absolute -- value >= 1/b, where b is the floating-point -- radix. The behaviour is unspecified on infinite or NaN -- values. significand :: RealFloat a => a -> a -- | multiplies a floating-point number by an integer power of the radix scaleFloat :: RealFloat a => Int -> a -> a -- | True if the argument is an IEEE "not-a-number" (NaN) value isNaN :: RealFloat a => a -> Bool -- | True if the argument is an IEEE infinity or negative infinity isInfinite :: RealFloat a => a -> Bool -- | True if the argument is too small to be represented in -- normalized format isDenormalized :: RealFloat a => a -> Bool -- | True if the argument is an IEEE negative zero isNegativeZero :: RealFloat a => a -> Bool -- | True if the argument is an IEEE floating point number isIEEE :: RealFloat a => a -> Bool -- | a version of arctangent taking two real floating-point arguments. For -- real floating x and y, atan2 y x -- computes the angle (from the positive x-axis) of the vector from the -- origin to the point (x,y). atan2 y x returns -- a value in the range [-pi, pi]. It follows the -- Common Lisp semantics for the origin when signed zeroes are supported. -- atan2 y 1, with y in a type that is -- RealFloat, should return the same value as atan -- y. A default definition of atan2 is provided, but -- implementors can provide a more accurate implementation. atan2 :: RealFloat a => a -> a -> a -- | Extracting components of fractions. class (Real a, Fractional a) => RealFrac a -- | The function properFraction takes a real fractional number -- x and returns a pair (n,f) such that x = -- n+f, and: -- --
-- infixr 5 :^: -- data Tree a = Leaf a | Tree a :^: Tree a ---- -- the derived instance of Show is equivalent to -- --
-- instance (Show a) => Show (Tree a) where -- -- showsPrec d (Leaf m) = showParen (d > app_prec) $ -- showString "Leaf " . showsPrec (app_prec+1) m -- where app_prec = 10 -- -- showsPrec d (u :^: v) = showParen (d > up_prec) $ -- showsPrec (up_prec+1) u . -- showString " :^: " . -- showsPrec (up_prec+1) v -- where up_prec = 5 ---- -- Note that right-associativity of :^: is ignored. For example, -- --
-- showsPrec d x r ++ s == showsPrec d x (r ++ s) ---- -- Derived instances of Read and Show satisfy the -- following: -- -- -- -- That is, readsPrec parses the string produced by -- showsPrec, and delivers the value that showsPrec started -- with. showsPrec :: Show a => Int -> a -> ShowS -- | A specialised variant of showsPrec, using precedence context -- zero, and returning an ordinary String. show :: Show a => a -> String -- | The method showList is provided to allow the programmer to give -- a specialised way of showing lists of values. For example, this is -- used by the predefined Show instance of the Char type, -- where values of type String should be shown in double quotes, -- rather than between square brackets. showList :: Show a => [a] -> ShowS -- | The class Typeable allows a concrete representation of a type -- to be calculated. class Typeable (a :: k) -- | When a value is bound in do-notation, the pattern on the left -- hand side of <- might not match. In this case, this class -- provides a function to recover. -- -- A Monad without a MonadFail instance may only be used in -- conjunction with pattern that always match, such as newtypes, tuples, -- data types with only a single data constructor, and irrefutable -- patterns (~pat). -- -- Instances of MonadFail should satisfy the following law: -- fail s should be a left zero for >>=, -- --
-- fail s >>= f = fail s ---- -- If your Monad is also MonadPlus, a popular definition is -- --
-- fail _ = mzero --class Monad m => MonadFail (m :: Type -> Type) fail :: MonadFail m => String -> m a -- | Class for string-like datastructures; used by the overloaded string -- extension (-XOverloadedStrings in GHC). class IsString a fromString :: IsString a => String -> a -- | A functor with application, providing operations to -- --
-- (<*>) = liftA2 id ---- --
-- liftA2 f x y = f <$> x <*> y ---- -- Further, any definition must satisfy the following: -- --
pure id <*> v = -- v
pure (.) <*> u -- <*> v <*> w = u <*> (v -- <*> w)
pure f <*> -- pure x = pure (f x)
u <*> pure y = -- pure ($ y) <*> u
-- forall x y. p (q x y) = f x . g y ---- -- it follows from the above that -- --
-- liftA2 p (liftA2 q u v) = liftA2 f u . liftA2 g v ---- -- If f is also a Monad, it should satisfy -- -- -- -- (which implies that pure and <*> satisfy the -- applicative functor laws). class Functor f => Applicative (f :: Type -> Type) -- | Lift a value. pure :: Applicative f => a -> f a -- | Sequential application. -- -- A few functors support an implementation of <*> that is -- more efficient than the default one. -- --
-- >>> data MyState = MyState {arg1 :: Foo, arg2 :: Bar, arg3 :: Baz}
--
--
-- -- >>> produceFoo :: Applicative f => f Foo ---- --
-- >>> produceBar :: Applicative f => f Bar -- -- >>> produceBaz :: Applicative f => f Baz ---- --
-- >>> mkState :: Applicative f => f MyState -- -- >>> mkState = MyState <$> produceFoo <*> produceBar <*> produceBaz --(<*>) :: Applicative f => f (a -> b) -> f a -> f b -- | Lift a binary function to actions. -- -- Some functors support an implementation of liftA2 that is more -- efficient than the default one. In particular, if fmap is an -- expensive operation, it is likely better to use liftA2 than to -- fmap over the structure and then use <*>. -- -- This became a typeclass method in 4.10.0.0. Prior to that, it was a -- function defined in terms of <*> and fmap. -- --
-- >>> liftA2 (,) (Just 3) (Just 5) -- Just (3,5) --liftA2 :: Applicative f => (a -> b -> c) -> f a -> f b -> f c -- | Sequence actions, discarding the value of the first argument. -- --
-- >>> Just 2 *> Just 3 -- Just 3 ---- --
-- >>> Nothing *> Just 3 -- Nothing ---- -- Of course a more interesting use case would be to have effectful -- computations instead of just returning pure values. -- --
-- >>> import Data.Char
--
-- >>> import Text.ParserCombinators.ReadP
--
-- >>> let p = string "my name is " *> munch1 isAlpha <* eof
--
-- >>> readP_to_S p "my name is Simon"
-- [("Simon","")]
--
(*>) :: Applicative f => f a -> f b -> f b
-- | Sequence actions, discarding the value of the second argument.
(<*) :: Applicative f => f a -> f b -> f a
infixl 4 <*
infixl 4 *>
infixl 4 <*>
-- | The Foldable class represents data structures that can be reduced to a
-- summary value one element at a time. Strict left-associative folds are
-- a good fit for space-efficient reduction, while lazy right-associative
-- folds are a good fit for corecursive iteration, or for folds that
-- short-circuit after processing an initial subsequence of the
-- structure's elements.
--
-- Instances can be derived automatically by enabling the
-- DeriveFoldable extension. For example, a derived instance for
-- a binary tree might be:
--
--
-- {-# LANGUAGE DeriveFoldable #-}
-- data Tree a = Empty
-- | Leaf a
-- | Node (Tree a) a (Tree a)
-- deriving Foldable
--
--
-- A more detailed description can be found in the Overview
-- section of Data.Foldable#overview.
--
-- For the class laws see the Laws section of
-- Data.Foldable#laws.
class Foldable (t :: TYPE LiftedRep -> Type)
-- | Map each element of the structure into a monoid, and combine the
-- results with (<>). This fold is
-- right-associative and lazy in the accumulator. For strict
-- left-associative folds consider foldMap' instead.
--
--
-- >>> foldMap Sum [1, 3, 5]
-- Sum {getSum = 9}
--
--
--
-- >>> foldMap Product [1, 3, 5]
-- Product {getProduct = 15}
--
--
-- -- >>> foldMap (replicate 3) [1, 2, 3] -- [1,1,1,2,2,2,3,3,3] ---- -- When a Monoid's (<>) is lazy in its second -- argument, foldMap can return a result even from an unbounded -- structure. For example, lazy accumulation enables -- Data.ByteString.Builder to efficiently serialise large data -- structures and produce the output incrementally: -- --
-- >>> import qualified Data.ByteString.Lazy as L -- -- >>> import qualified Data.ByteString.Builder as B -- -- >>> let bld :: Int -> B.Builder; bld i = B.intDec i <> B.word8 0x20 -- -- >>> let lbs = B.toLazyByteString $ foldMap bld [0..] -- -- >>> L.take 64 lbs -- "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24" --foldMap :: (Foldable t, Monoid m) => (a -> m) -> t a -> m -- | Right-associative fold of a structure, lazy in the accumulator. -- -- In the case of lists, foldr, when applied to a binary operator, -- a starting value (typically the right-identity of the operator), and a -- list, reduces the list using the binary operator, from right to left: -- --
-- foldr f z [x1, x2, ..., xn] == x1 `f` (x2 `f` ... (xn `f` z)...) ---- -- Note that since the head of the resulting expression is produced by an -- application of the operator to the first element of the list, given an -- operator lazy in its right argument, foldr can produce a -- terminating expression from an unbounded list. -- -- For a general Foldable structure this should be semantically -- identical to, -- --
-- foldr f z = foldr f z . toList ---- --
-- >>> foldr (||) False [False, True, False] -- True ---- --
-- >>> foldr (||) False [] -- False ---- --
-- >>> foldr (\c acc -> acc ++ [c]) "foo" ['a', 'b', 'c', 'd'] -- "foodcba" ---- --
-- >>> foldr (||) False (True : repeat False) -- True ---- -- But the following doesn't terminate: -- --
-- >>> foldr (||) False (repeat False ++ [True]) -- * Hangs forever * ---- --
-- >>> take 5 $ foldr (\i acc -> i : fmap (+3) acc) [] (repeat 1) -- [1,4,7,10,13] --foldr :: Foldable t => (a -> b -> b) -> b -> t a -> b -- | Left-associative fold of a structure, lazy in the accumulator. This is -- rarely what you want, but can work well for structures with efficient -- right-to-left sequencing and an operator that is lazy in its left -- argument. -- -- In the case of lists, foldl, when applied to a binary operator, -- a starting value (typically the left-identity of the operator), and a -- list, reduces the list using the binary operator, from left to right: -- --
-- foldl f z [x1, x2, ..., xn] == (...((z `f` x1) `f` x2) `f`...) `f` xn ---- -- Note that to produce the outermost application of the operator the -- entire input list must be traversed. Like all left-associative folds, -- foldl will diverge if given an infinite list. -- -- If you want an efficient strict left-fold, you probably want to use -- foldl' instead of foldl. The reason for this is that the -- latter does not force the inner results (e.g. z `f` x1 -- in the above example) before applying them to the operator (e.g. to -- (`f` x2)). This results in a thunk chain <math> -- elements long, which then must be evaluated from the outside-in. -- -- For a general Foldable structure this should be semantically -- identical to: -- --
-- foldl f z = foldl f z . toList ---- --
-- >>> foldl (+) 42 [1,2,3,4] -- 52 ---- -- Though the result below is lazy, the input is reversed before -- prepending it to the initial accumulator, so corecursion begins only -- after traversing the entire input string. -- --
-- >>> foldl (\acc c -> c : acc) "abcd" "efgh" -- "hgfeabcd" ---- -- A left fold of a structure that is infinite on the right cannot -- terminate, even when for any finite input the fold just returns the -- initial accumulator: -- --
-- >>> foldl (\a _ -> a) 0 $ repeat 1 -- * Hangs forever * ---- -- WARNING: When it comes to lists, you always want to use either -- foldl' or foldr instead. foldl :: Foldable t => (b -> a -> b) -> b -> t a -> b -- | A variant of foldr that has no base case, and thus may only be -- applied to non-empty structures. -- -- This function is non-total and will raise a runtime exception if the -- structure happens to be empty. -- --
-- >>> foldr1 (+) [1..4] -- 10 ---- --
-- >>> foldr1 (+) [] -- Exception: Prelude.foldr1: empty list ---- --
-- >>> foldr1 (+) Nothing -- *** Exception: foldr1: empty structure ---- --
-- >>> foldr1 (-) [1..4] -- -2 ---- --
-- >>> foldr1 (&&) [True, False, True, True] -- False ---- --
-- >>> foldr1 (||) [False, False, True, True] -- True ---- --
-- >>> foldr1 (+) [1..] -- * Hangs forever * --foldr1 :: Foldable t => (a -> a -> a) -> t a -> a -- | A variant of foldl that has no base case, and thus may only be -- applied to non-empty structures. -- -- This function is non-total and will raise a runtime exception if the -- structure happens to be empty. -- --
-- foldl1 f = foldl1 f . toList ---- --
-- >>> foldl1 (+) [1..4] -- 10 ---- --
-- >>> foldl1 (+) [] -- *** Exception: Prelude.foldl1: empty list ---- --
-- >>> foldl1 (+) Nothing -- *** Exception: foldl1: empty structure ---- --
-- >>> foldl1 (-) [1..4] -- -8 ---- --
-- >>> foldl1 (&&) [True, False, True, True] -- False ---- --
-- >>> foldl1 (||) [False, False, True, True] -- True ---- --
-- >>> foldl1 (+) [1..] -- * Hangs forever * --foldl1 :: Foldable t => (a -> a -> a) -> t a -> a -- | List of elements of a structure, from left to right. If the entire -- list is intended to be reduced via a fold, just fold the structure -- directly bypassing the list. -- --
-- >>> toList Nothing -- [] ---- --
-- >>> toList (Just 42) -- [42] ---- --
-- >>> toList (Left "foo") -- [] ---- --
-- >>> toList (Node (Leaf 5) 17 (Node Empty 12 (Leaf 8))) -- [5,17,12,8] ---- -- For lists, toList is the identity: -- --
-- >>> toList [1, 2, 3] -- [1,2,3] --toList :: Foldable t => t a -> [a] -- | Test whether the structure is empty. The default implementation is -- Left-associative and lazy in both the initial element and the -- accumulator. Thus optimised for structures where the first element can -- be accessed in constant time. Structures where this is not the case -- should have a non-default implementation. -- --
-- >>> null [] -- True ---- --
-- >>> null [1] -- False ---- -- null is expected to terminate even for infinite structures. The -- default implementation terminates provided the structure is bounded on -- the left (there is a leftmost element). -- --
-- >>> null [1..] -- False --null :: Foldable t => t a -> Bool -- | Returns the size/length of a finite structure as an Int. The -- default implementation just counts elements starting with the -- leftmost. Instances for structures that can compute the element count -- faster than via element-by-element counting, should provide a -- specialised implementation. -- --
-- >>> length [] -- 0 ---- --
-- >>> length ['a', 'b', 'c'] -- 3 -- -- >>> length [1..] -- * Hangs forever * --length :: Foldable t => t a -> Int -- | Does the element occur in the structure? -- -- Note: elem is often used in infix form. -- --
-- >>> 3 `elem` [] -- False ---- --
-- >>> 3 `elem` [1,2] -- False ---- --
-- >>> 3 `elem` [1,2,3,4,5] -- True ---- -- For infinite structures, the default implementation of elem -- terminates if the sought-after value exists at a finite distance from -- the left side of the structure: -- --
-- >>> 3 `elem` [1..] -- True ---- --
-- >>> 3 `elem` ([4..] ++ [3]) -- * Hangs forever * --elem :: (Foldable t, Eq a) => a -> t a -> Bool -- | The largest element of a non-empty structure. -- -- This function is non-total and will raise a runtime exception if the -- structure happens to be empty. A structure that supports random access -- and maintains its elements in order should provide a specialised -- implementation to return the maximum in faster than linear time. -- --
-- >>> maximum [1..10] -- 10 ---- --
-- >>> maximum [] -- *** Exception: Prelude.maximum: empty list ---- --
-- >>> maximum Nothing -- *** Exception: maximum: empty structure ---- -- WARNING: This function is partial for possibly-empty structures like -- lists. maximum :: (Foldable t, Ord a) => t a -> a -- | The least element of a non-empty structure. -- -- This function is non-total and will raise a runtime exception if the -- structure happens to be empty. A structure that supports random access -- and maintains its elements in order should provide a specialised -- implementation to return the minimum in faster than linear time. -- --
-- >>> minimum [1..10] -- 1 ---- --
-- >>> minimum [] -- *** Exception: Prelude.minimum: empty list ---- --
-- >>> minimum Nothing -- *** Exception: minimum: empty structure ---- -- WARNING: This function is partial for possibly-empty structures like -- lists. minimum :: (Foldable t, Ord a) => t a -> a -- | The sum function computes the sum of the numbers of a -- structure. -- --
-- >>> sum [] -- 0 ---- --
-- >>> sum [42] -- 42 ---- --
-- >>> sum [1..10] -- 55 ---- --
-- >>> sum [4.1, 2.0, 1.7] -- 7.8 ---- --
-- >>> sum [1..] -- * Hangs forever * --sum :: (Foldable t, Num a) => t a -> a -- | The product function computes the product of the numbers of a -- structure. -- --
-- >>> product [] -- 1 ---- --
-- >>> product [42] -- 42 ---- --
-- >>> product [1..10] -- 3628800 ---- --
-- >>> product [4.1, 2.0, 1.7] -- 13.939999999999998 ---- --
-- >>> product [1..] -- * Hangs forever * --product :: (Foldable t, Num a) => t a -> a infix 4 `elem` -- | Functors representing data structures that can be transformed to -- structures of the same shape by performing an -- Applicative (or, therefore, Monad) action on each -- element from left to right. -- -- A more detailed description of what same shape means, the -- various methods, how traversals are constructed, and example advanced -- use-cases can be found in the Overview section of -- Data.Traversable#overview. -- -- For the class laws see the Laws section of -- Data.Traversable#laws. class (Functor t, Foldable t) => Traversable (t :: Type -> Type) -- | Map each element of a structure to an action, evaluate these actions -- from left to right, and collect the results. For a version that -- ignores the results see traverse_. -- --
-- >>> traverse Just [1,2,3,4] -- Just [1,2,3,4] ---- --
-- >>> traverse id [Right 1, Right 2, Right 3, Right 4] -- Right [1,2,3,4] ---- -- In the next examples, we show that Nothing and Left -- values short circuit the created structure. -- --
-- >>> traverse (const Nothing) [1,2,3,4] -- Nothing ---- --
-- >>> traverse (\x -> if odd x then Just x else Nothing) [1,2,3,4] -- Nothing ---- --
-- >>> traverse id [Right 1, Right 2, Right 3, Right 4, Left 0] -- Left 0 --traverse :: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b) -- | Evaluate each action in the structure from left to right, and collect -- the results. For a version that ignores the results see -- sequenceA_. -- --
-- >>> sequenceA [Just 1, Just 2, Just 3] -- Just [1,2,3] ---- --
-- >>> sequenceA [Right 1, Right 2, Right 3] -- Right [1,2,3] ---- -- The next two example show Nothing and Just will short -- circuit the resulting structure if present in the input. For more -- context, check the Traversable instances for Either and -- Maybe. -- --
-- >>> sequenceA [Just 1, Just 2, Just 3, Nothing] -- Nothing ---- --
-- >>> sequenceA [Right 1, Right 2, Right 3, Left 4] -- Left 4 --sequenceA :: (Traversable t, Applicative f) => t (f a) -> f (t a) -- | Map each element of a structure to a monadic action, evaluate these -- actions from left to right, and collect the results. For a version -- that ignores the results see mapM_. -- --
-- >>> sequence $ Right [1,2,3,4] -- [Right 1,Right 2,Right 3,Right 4] ---- --
-- >>> sequence $ [Right 1,Right 2,Right 3,Right 4] -- Right [1,2,3,4] ---- -- The following examples demonstrate short circuit behavior for -- sequence. -- --
-- >>> sequence $ Left [1,2,3,4] -- Left [1,2,3,4] ---- --
-- >>> sequence $ [Left 0, Right 1,Right 2,Right 3,Right 4] -- Left 0 --sequence :: (Traversable t, Monad m) => t (m a) -> m (t a) -- | Representable types of kind *. This class is derivable in GHC -- with the DeriveGeneric flag on. -- -- A Generic instance must satisfy the following laws: -- --
-- from . to ≡ id -- to . from ≡ id --class Generic a -- | The class of semigroups (types with an associative binary operation). -- -- Instances should satisfy the following: -- -- class Semigroup a -- | An associative operation. -- --
-- >>> [1,2,3] <> [4,5,6] -- [1,2,3,4,5,6] --(<>) :: Semigroup a => a -> a -> a -- | Reduce a non-empty list with <> -- -- The default definition should be sufficient, but this can be -- overridden for efficiency. -- --
-- >>> import Data.List.NonEmpty (NonEmpty (..)) -- -- >>> sconcat $ "Hello" :| [" ", "Haskell", "!"] -- "Hello Haskell!" --sconcat :: Semigroup a => NonEmpty a -> a -- | Repeat a value n times. -- -- Given that this works on a Semigroup it is allowed to fail if -- you request 0 or fewer repetitions, and the default definition will do -- so. -- -- By making this a member of the class, idempotent semigroups and -- monoids can upgrade this to execute in <math> by picking -- stimes = stimesIdempotent or stimes = -- stimesIdempotentMonoid respectively. -- --
-- >>> stimes 4 [1] -- [1,1,1,1] --stimes :: (Semigroup a, Integral b) => b -> a -> a infixr 6 <> -- | The class of monoids (types with an associative binary operation that -- has an identity). Instances should satisfy the following: -- --
-- >>> "Hello world" <> mempty -- "Hello world" --mempty :: Monoid a => a -- | An associative operation -- -- NOTE: This method is redundant and has the default -- implementation mappend = (<>) since -- base-4.11.0.0. Should it be implemented manually, since -- mappend is a synonym for (<>), it is expected that -- the two functions are defined the same way. In a future GHC release -- mappend will be removed from Monoid. mappend :: Monoid a => a -> a -> a -- | Fold a list using the monoid. -- -- For most types, the default definition for mconcat will be -- used, but the function is included in the class definition so that an -- optimized version can be provided for specific types. -- --
-- >>> mconcat ["Hello", " ", "Haskell", "!"] -- "Hello Haskell!" --mconcat :: Monoid a => [a] -> a data Bool False :: Bool True :: Bool -- | A String is a list of characters. String constants in Haskell -- are values of type String. -- -- See Data.List for operations on lists. type String = [Char] -- | The character type Char is an enumeration whose values -- represent Unicode (or equivalently ISO/IEC 10646) code points (i.e. -- characters, see http://www.unicode.org/ for details). This set -- extends the ISO 8859-1 (Latin-1) character set (the first 256 -- characters), which is itself an extension of the ASCII character set -- (the first 128 characters). A character literal in Haskell has type -- Char. -- -- To convert a Char to or from the corresponding Int value -- defined by Unicode, use toEnum and fromEnum from the -- Enum class respectively (or equivalently ord and -- chr). data Char -- | Double-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- double-precision type. data Double -- | Single-precision floating point numbers. It is desirable that this -- type be at least equal in range and precision to the IEEE -- single-precision type. data Float -- | A fixed-precision integer type with at least the range [-2^29 .. -- 2^29-1]. The exact range for a given implementation can be -- determined by using minBound and maxBound from the -- Bounded class. data Int -- | Arbitrary precision integers. In contrast with fixed-size integral -- types such as Int, the Integer type represents the -- entire infinite range of integers. -- -- Integers are stored in a kind of sign-magnitude form, hence do not -- expect two's complement form when using bit operations. -- -- If the value is small (fit into an Int), IS constructor -- is used. Otherwise Integer and IN constructors are used -- to store a BigNat representing respectively the positive or the -- negative value magnitude. -- -- Invariant: Integer and IN are used iff value doesn't fit -- in IS data Integer -- | The Maybe type encapsulates an optional value. A value of type -- Maybe a either contains a value of type a -- (represented as Just a), or it is empty (represented -- as Nothing). Using Maybe is a good way to deal with -- errors or exceptional cases without resorting to drastic measures such -- as error. -- -- The Maybe type is also a monad. It is a simple kind of error -- monad, where all errors are represented by Nothing. A richer -- error monad can be built using the Either type. data Maybe a Nothing :: Maybe a Just :: a -> Maybe a data Ordering LT :: Ordering EQ :: Ordering GT :: Ordering -- | Arbitrary-precision rational numbers, represented as a ratio of two -- Integer values. A rational number may be constructed using the -- % operator. type Rational = Ratio Integer -- | A value of type IO a is a computation which, when -- performed, does some I/O before returning a value of type a. -- -- There is really only one way to "perform" an I/O action: bind it to -- Main.main in your program. When your program is run, the I/O -- will be performed. It isn't possible to perform I/O from an arbitrary -- function, unless that function is itself in the IO monad and -- called at some point, directly or indirectly, from Main.main. -- -- IO is a monad, so IO actions can be combined using -- either the do-notation or the >> and >>= -- operations from the Monad class. data IO a -- | A Word is an unsigned integral type, with the same size as -- Int. data Word -- | The Either type represents values with two possibilities: a -- value of type Either a b is either Left -- a or Right b. -- -- The Either type is sometimes used to represent a value which is -- either correct or an error; by convention, the Left constructor -- is used to hold an error value and the Right constructor is -- used to hold a correct value (mnemonic: "right" also means "correct"). -- --
-- >>> let s = Left "foo" :: Either String Int -- -- >>> s -- Left "foo" -- -- >>> let n = Right 3 :: Either String Int -- -- >>> n -- Right 3 -- -- >>> :type s -- s :: Either String Int -- -- >>> :type n -- n :: Either String Int ---- -- The fmap from our Functor instance will ignore -- Left values, but will apply the supplied function to values -- contained in a Right: -- --
-- >>> let s = Left "foo" :: Either String Int -- -- >>> let n = Right 3 :: Either String Int -- -- >>> fmap (*2) s -- Left "foo" -- -- >>> fmap (*2) n -- Right 6 ---- -- The Monad instance for Either allows us to chain -- together multiple actions which may fail, and fail overall if any of -- the individual steps failed. First we'll write a function that can -- either parse an Int from a Char, or fail. -- --
-- >>> import Data.Char ( digitToInt, isDigit )
--
-- >>> :{
-- let parseEither :: Char -> Either String Int
-- parseEither c
-- | isDigit c = Right (digitToInt c)
-- | otherwise = Left "parse error"
--
-- >>> :}
--
--
-- The following should work, since both '1' and '2'
-- can be parsed as Ints.
--
--
-- >>> :{
-- let parseMultiple :: Either String Int
-- parseMultiple = do
-- x <- parseEither '1'
-- y <- parseEither '2'
-- return (x + y)
--
-- >>> :}
--
--
-- -- >>> parseMultiple -- Right 3 ---- -- But the following should fail overall, since the first operation where -- we attempt to parse 'm' as an Int will fail: -- --
-- >>> :{
-- let parseMultiple :: Either String Int
-- parseMultiple = do
-- x <- parseEither 'm'
-- y <- parseEither '2'
-- return (x + y)
--
-- >>> :}
--
--
-- -- >>> parseMultiple -- Left "parse error" --data Either a b Left :: a -> Either a b Right :: b -> Either a b -- | The class of types that can be converted to a hash value. -- -- Minimal implementation: hashWithSalt. -- -- Note: the hash is not guaranteed to be stable across library -- versions, operating systems or architectures. For stable hashing use -- named hashes: SHA256, CRC32 etc. -- -- If you are looking for Hashable instance in time -- package, check time-compat class Eq a => Hashable a -- | Return a hash value for the argument, using the given salt. -- -- The general contract of hashWithSalt is: -- --
-- ($) :: (a -> b) -> a -> b -- (<$>) :: Functor f => (a -> b) -> f a -> f b ---- -- Whereas $ is function application, <$> is function -- application lifted over a Functor. -- --
-- >>> show <$> Nothing -- Nothing -- -- >>> show <$> Just 3 -- Just "3" ---- -- Convert from an Either Int Int to an -- Either Int String using show: -- --
-- >>> show <$> Left 17 -- Left 17 -- -- >>> show <$> Right 17 -- Right "17" ---- -- Double each element of a list: -- --
-- >>> (*2) <$> [1,2,3] -- [2,4,6] ---- -- Apply even to the second element of a pair: -- --
-- >>> even <$> (2,2) -- (2,True) --(<$>) :: Functor f => (a -> b) -> f a -> f b infixl 4 <$> -- | const x is a unary function which evaluates to x for -- all inputs. -- --
-- >>> const 42 "hello" -- 42 ---- --
-- >>> map (const 42) [0..3] -- [42,42,42,42] --const :: a -> b -> a -- | Function composition. (.) :: (b -> c) -> (a -> b) -> a -> c infixr 9 . -- | Identity function. -- --
-- id x = x --id :: a -> a -- | This is the simplest representation of UTC. It consists of the day -- number, and a time offset from midnight. Note that if a day has a leap -- second added to it, it will have 86401 seconds. data UTCTime -- | A space efficient, packed, unboxed Unicode text type. data Text -- | A map from keys to values. A map cannot contain duplicate keys; each -- key can map to at most one value. data HashMap k v -- | Efficiently serialize a JSON value as a lazy ByteString. -- -- This is implemented in terms of the ToJSON class's -- toEncoding method. encode :: ToJSON a => a -> ByteString -- | A type that can be converted to JSON. -- -- Instances in general must specify toJSON and -- should (but don't need to) specify toEncoding. -- -- An example type and instance: -- --
-- -- Allow ourselves to write Text literals.
-- {-# LANGUAGE OverloadedStrings #-}
--
-- data Coord = Coord { x :: Double, y :: Double }
--
-- instance ToJSON Coord where
-- toJSON (Coord x y) = object ["x" .= x, "y" .= y]
--
-- toEncoding (Coord x y) = pairs ("x" .= x <> "y" .= y)
--
--
-- Instead of manually writing your ToJSON instance, there are two
-- options to do it automatically:
--
--
-- {-# LANGUAGE DeriveGeneric #-}
--
-- import GHC.Generics
--
-- data Coord = Coord { x :: Double, y :: Double } deriving Generic
--
-- instance ToJSON Coord where
-- toEncoding = genericToEncoding defaultOptions
--
--
-- or more conveniently using the DerivingVia extension
--
-- -- deriving via Generically Coord instance ToJSON Coord ---- -- If on the other hand you wish to customize the generic decoding, you -- have to implement both methods: -- --
-- customOptions = defaultOptions
-- { fieldLabelModifier = map toUpper
-- }
--
-- instance ToJSON Coord where
-- toJSON = genericToJSON customOptions
-- toEncoding = genericToEncoding customOptions
--
--
-- Previous versions of this library only had the toJSON method.
-- Adding toEncoding had two reasons:
--
-- -- instance ToJSON Coord where -- toEncoding = genericToEncoding defaultOptions --toEncoding :: ToJSON a => a -> Encoding toJSONList :: ToJSON a => [a] -> Value toEncodingList :: ToJSON a => [a] -> Encoding (.=) :: (KeyValue kv, ToJSON v) => Key -> v -> kv infixr 8 .= -- | Helper for use in combination with .:? to provide default -- values for optional JSON object fields. -- -- This combinator is most useful if the key and value can be absent from -- an object without affecting its validity and we know a default value -- to assign in that case. If the key and value are mandatory, use -- .: instead. -- -- Example usage: -- --
-- v1 <- o .:? "opt_field_with_dfl" .!= "default_val" -- v2 <- o .: "mandatory_field" -- v3 <- o .:? "opt_field2" --(.!=) :: Parser (Maybe a) -> a -> Parser a -- | Retrieve the value associated with the given key of an Object. -- The result is Nothing if the key is not present or if its value -- is Null, or empty if the value cannot be converted to -- the desired type. -- -- This accessor is most useful if the key and value can be absent from -- an object without affecting its validity. If the key and value are -- mandatory, use .: instead. (.:?) :: FromJSON a => Object -> Key -> Parser (Maybe a) -- | Retrieve the value associated with the given key of an Object. -- The result is empty if the key is not present or the value -- cannot be converted to the desired type. -- -- This accessor is appropriate if the key and value must be -- present in an object for it to be valid. If the key and value are -- optional, use .:? instead. (.:) :: FromJSON a => Object -> Key -> Parser a -- | withText name f value applies f to the -- Text when value is a String and fails -- otherwise. -- --
-- withText "MyType" f Null -- -- Error: "parsing MyType failed, expected String, but encountered Null" --withText :: String -> (Text -> Parser a) -> Value -> Parser a -- | withObject name f value applies f to the -- Object when value is an Object and fails -- otherwise. -- --
-- withObject "MyType" f (String "oops") -- -- Error: "parsing MyType failed, expected Object, but encountered String" --withObject :: String -> (Object -> Parser a) -> Value -> Parser a -- | Fail parsing due to a type mismatch, with a descriptive message. -- -- The following wrappers should generally be preferred: -- withObject, withArray, withText, withBool. -- --
-- typeMismatch "Object" (String "oops") -- -- Error: "expected Object, but encountered String" --typeMismatch :: String -> Value -> Parser a -- | A type that can be converted from JSON, with the possibility of -- failure. -- -- In many cases, you can get the compiler to generate parsing code for -- you (see below). To begin, let's cover writing an instance by hand. -- -- There are various reasons a conversion could fail. For example, an -- Object could be missing a required key, an Array could -- be of the wrong size, or a value could be of an incompatible type. -- -- The basic ways to signal a failed conversion are as follows: -- --
-- -- Allow ourselves to write Text literals.
-- {-# LANGUAGE OverloadedStrings #-}
--
-- data Coord = Coord { x :: Double, y :: Double }
--
-- instance FromJSON Coord where
-- parseJSON (Object v) = Coord
-- <$> v .: "x"
-- <*> v .: "y"
--
-- -- We do not expect a non-Object value here.
-- -- We could use empty to fail, but typeMismatch
-- -- gives a much more informative error message.
-- parseJSON invalid =
-- prependFailure "parsing Coord failed, "
-- (typeMismatch "Object" invalid)
--
--
-- For this common case of only being concerned with a single type of
-- JSON value, the functions withObject, withScientific,
-- etc. are provided. Their use is to be preferred when possible, since
-- they are more terse. Using withObject, we can rewrite the above
-- instance (assuming the same language extension and data type) as:
--
-- -- instance FromJSON Coord where -- parseJSON = withObject "Coord" $ \v -> Coord -- <$> v .: "x" -- <*> v .: "y" ---- -- Instead of manually writing your FromJSON instance, there are -- two options to do it automatically: -- --
-- {-# LANGUAGE DeriveGeneric #-}
--
-- import GHC.Generics
--
-- data Coord = Coord { x :: Double, y :: Double } deriving Generic
--
-- instance FromJSON Coord
--
--
-- or using the DerivingVia extension
--
-- -- deriving via Generically Coord instance FromJSON Coord ---- -- The default implementation will be equivalent to parseJSON = -- genericParseJSON defaultOptions; if you need -- different options, you can customize the generic decoding by defining: -- --
-- customOptions = defaultOptions
-- { fieldLabelModifier = map toUpper
-- }
--
-- instance FromJSON Coord where
-- parseJSON = genericParseJSON customOptions
--
class FromJSON a
parseJSON :: FromJSON a => Value -> Parser a
parseJSONList :: FromJSON a => Value -> Parser [a]
-- | Create a Value from a list of name/value Pairs. If
-- duplicate keys arise, later keys and their associated values win.
object :: [Pair] -> Value
-- | The empty object.
emptyObject :: Value
-- | A JSON "object" (key/value map).
type Object = KeyMap Value
-- | A JSON value represented as a Haskell value.
data Value
Object :: !Object -> Value
Array :: !Array -> Value
String :: !Text -> Value
Number :: !Scientific -> Value
Bool :: !Bool -> Value
Null :: Value
-- | Map each element of a structure to a monadic action, evaluate these
-- actions from left to right, and ignore the results. For a version that
-- doesn't ignore the results see mapM.
--
-- mapM_ is just like traverse_, but specialised to monadic
-- actions.
mapM_ :: (Foldable t, Monad m) => (a -> m b) -> t a -> m ()
-- | The read function reads input from a string, which must be
-- completely consumed by the input process. read fails with an
-- error if the parse is unsuccessful, and it is therefore
-- discouraged from being used in real applications. Use readMaybe
-- or readEither for safe alternatives.
--
-- -- >>> read "123" :: Int -- 123 ---- --
-- >>> read "hello" :: Int -- *** Exception: Prelude.read: no parse --read :: Read a => String -> a -- | An associative binary operation (<|>) :: Alternative f => f a -> f a -> f a infixl 3 <|> -- | The computation writeFile file str function writes the -- string str, to the file file. writeFile :: FilePath -> String -> IO () -- | The readLn function combines getLine and readIO. readLn :: Read a => IO a -- | The readIO function is similar to read except that it -- signals parse failure to the IO monad instead of terminating -- the program. readIO :: Read a => String -> IO a -- | The readFile function reads a file and returns the contents of -- the file as a string. The file is read lazily, on demand, as with -- getContents. readFile :: FilePath -> IO String -- | The same as putStr, but adds a newline character. putStrLn :: String -> IO () -- | Write a string to the standard output device (same as hPutStr -- stdout). putStr :: String -> IO () -- | Write a character to the standard output device (same as -- hPutChar stdout). putChar :: Char -> IO () -- | The interact function takes a function of type -- String->String as its argument. The entire input from the -- standard input device is passed to this function as its argument, and -- the resulting string is output on the standard output device. interact :: (String -> String) -> IO () -- | Read a line from the standard input device (same as hGetLine -- stdin). getLine :: IO String -- | The getContents operation returns all user input as a single -- string, which is read lazily as it is needed (same as -- hGetContents stdin). getContents :: IO String -- | Read a character from the standard input device (same as -- hGetChar stdin). getChar :: IO Char -- | The computation appendFile file str function appends -- the string str, to the file file. -- -- Note that writeFile and appendFile write a literal -- string to a file. To write a value of any printable type, as with -- print, use the show function to convert the value to a -- string first. -- --
-- main = appendFile "squares" (show [(x,x*x) | x <- [0,0.1..2]]) --appendFile :: FilePath -> String -> IO () -- | Raise an IOException in the IO monad. ioError :: IOError -> IO a -- | File and directory names are values of type String, whose -- precise meaning is operating system dependent. Files can be opened, -- yielding a handle which can then be used to operate on the contents of -- that file. type FilePath = String -- | The Haskell 2010 type for exceptions in the IO monad. Any I/O -- operation may raise an IOException instead of returning a -- result. For a more general type of exception, including also those -- that arise in pure code, see Exception. -- -- In Haskell 2010, this is an opaque type. type IOError = IOException -- | Construct an IOException value with a string describing the -- error. The fail method of the IO instance of the -- Monad class raises a userError, thus: -- --
-- instance Monad IO where -- ... -- fail s = ioError (userError s) --userError :: String -> IOError -- | Evaluate each monadic action in the structure from left to right, and -- ignore the results. For a version that doesn't ignore the results see -- sequence. -- -- sequence_ is just like sequenceA_, but specialised to -- monadic actions. sequence_ :: (Foldable t, Monad m) => t (m a) -> m () -- | or returns the disjunction of a container of Bools. For the -- result to be False, the container must be finite; True, -- however, results from a True value finitely far from the left -- end. -- --
-- >>> or [] -- False ---- --
-- >>> or [True] -- True ---- --
-- >>> or [False] -- False ---- --
-- >>> or [True, True, False] -- True ---- --
-- >>> or (True : repeat False) -- Infinite list [True,False,False,False,... -- True ---- --
-- >>> or (repeat False) -- * Hangs forever * --or :: Foldable t => t Bool -> Bool -- | notElem is the negation of elem. -- --
-- >>> 3 `notElem` [] -- True ---- --
-- >>> 3 `notElem` [1,2] -- True ---- --
-- >>> 3 `notElem` [1,2,3,4,5] -- False ---- -- For infinite structures, notElem terminates if the value exists -- at a finite distance from the left side of the structure: -- --
-- >>> 3 `notElem` [1..] -- False ---- --
-- >>> 3 `notElem` ([4..] ++ [3]) -- * Hangs forever * --notElem :: (Foldable t, Eq a) => a -> t a -> Bool infix 4 `notElem` -- | Map a function over all the elements of a container and concatenate -- the resulting lists. -- --
-- >>> concatMap (take 3) [[1..], [10..], [100..], [1000..]] -- [1,2,3,10,11,12,100,101,102,1000,1001,1002] ---- --
-- >>> concatMap (take 3) (Just [1..]) -- [1,2,3] --concatMap :: Foldable t => (a -> [b]) -> t a -> [b] -- | The concatenation of all the elements of a container of lists. -- --
-- >>> concat (Just [1, 2, 3]) -- [1,2,3] ---- --
-- >>> concat (Left 42) -- [] ---- --
-- >>> concat [[1, 2, 3], [4, 5], [6], []] -- [1,2,3,4,5,6] --concat :: Foldable t => t [a] -> [a] -- | Determines whether any element of the structure satisfies the -- predicate. -- --
-- >>> any (> 3) [] -- False ---- --
-- >>> any (> 3) [1,2] -- False ---- --
-- >>> any (> 3) [1,2,3,4,5] -- True ---- --
-- >>> any (> 3) [1..] -- True ---- --
-- >>> any (> 3) [0, -1..] -- * Hangs forever * --any :: Foldable t => (a -> Bool) -> t a -> Bool -- | and returns the conjunction of a container of Bools. For the -- result to be True, the container must be finite; False, -- however, results from a False value finitely far from the left -- end. -- --
-- >>> and [] -- True ---- --
-- >>> and [True] -- True ---- --
-- >>> and [False] -- False ---- --
-- >>> and [True, True, False] -- False ---- --
-- >>> and (False : repeat True) -- Infinite list [False,True,True,True,... -- False ---- --
-- >>> and (repeat True) -- * Hangs forever * --and :: Foldable t => t Bool -> Bool -- | Determines whether all elements of the structure satisfy the -- predicate. -- --
-- >>> all (> 3) [] -- True ---- --
-- >>> all (> 3) [1,2] -- False ---- --
-- >>> all (> 3) [1,2,3,4,5] -- False ---- --
-- >>> all (> 3) [1..] -- False ---- --
-- >>> all (> 3) [4..] -- * Hangs forever * --all :: Foldable t => (a -> Bool) -> t a -> Bool -- | words breaks a string up into a list of words, which were -- delimited by white space. -- --
-- >>> words "Lorem ipsum\ndolor" -- ["Lorem","ipsum","dolor"] --words :: String -> [String] -- | unwords is an inverse operation to words. It joins words -- with separating spaces. -- --
-- >>> unwords ["Lorem", "ipsum", "dolor"] -- "Lorem ipsum dolor" --unwords :: [String] -> String -- | unlines is an inverse operation to lines. It joins -- lines, after appending a terminating newline to each. -- --
-- >>> unlines ["Hello", "World", "!"] -- "Hello\nWorld\n!\n" --unlines :: [String] -> String -- | lines breaks a string up into a list of strings at newline -- characters. The resulting strings do not contain newlines. -- -- Note that after splitting the string at newline characters, the last -- part of the string is considered a line even if it doesn't end with a -- newline. For example, -- --
-- >>> lines "" -- [] ---- --
-- >>> lines "\n" -- [""] ---- --
-- >>> lines "one" -- ["one"] ---- --
-- >>> lines "one\n" -- ["one"] ---- --
-- >>> lines "one\n\n" -- ["one",""] ---- --
-- >>> lines "one\ntwo" -- ["one","two"] ---- --
-- >>> lines "one\ntwo\n" -- ["one","two"] ---- -- Thus lines s contains at least as many elements as -- newlines in s. lines :: String -> [String] -- | intercalate xs xss is equivalent to (concat -- (intersperse xs xss)). It inserts the list xs in -- between the lists in xss and concatenates the result. -- --
-- >>> intercalate ", " ["Lorem", "ipsum", "dolor"] -- "Lorem, ipsum, dolor" --intercalate :: [a] -> [[a]] -> [a] -- | equivalent to readsPrec with a precedence of 0. reads :: Read a => ReadS a -- | Case analysis for the Either type. If the value is -- Left a, apply the first function to a; if it -- is Right b, apply the second function to b. -- --
-- >>> let s = Left "foo" :: Either String Int -- -- >>> let n = Right 3 :: Either String Int -- -- >>> either length (*2) s -- 3 -- -- >>> either length (*2) n -- 6 --either :: (a -> c) -> (b -> c) -> Either a b -> c -- | readParen True p parses what p parses, -- but surrounded with parentheses. -- -- readParen False p parses what p -- parses, but optionally surrounded with parentheses. readParen :: Bool -> ReadS a -> ReadS a -- | The lex function reads a single lexeme from the input, -- discarding initial white space, and returning the characters that -- constitute the lexeme. If the input string contains only white space, -- lex returns a single successful `lexeme' consisting of the -- empty string. (Thus lex "" = [("","")].) If there is -- no legal lexeme at the beginning of the input string, lex fails -- (i.e. returns []). -- -- This lexer is not completely faithful to the Haskell lexical syntax in -- the following respects: -- --
-- zipWith3 (,,) xs ys zs == zip3 xs ys zs -- zipWith3 f [x1,x2,x3..] [y1,y2,y3..] [z1,z2,z3..] == [f x1 y1 z1, f x2 y2 z2, f x3 y3 z3..] --zipWith3 :: (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] -- | <math>. zipWith generalises zip by zipping with -- the function given as the first argument, instead of a tupling -- function. -- --
-- zipWith (,) xs ys == zip xs ys -- zipWith f [x1,x2,x3..] [y1,y2,y3..] == [f x1 y1, f x2 y2, f x3 y3..] ---- -- For example, zipWith (+) is applied to two lists to -- produce the list of corresponding sums: -- --
-- >>> zipWith (+) [1, 2, 3] [4, 5, 6] -- [5,7,9] ---- -- zipWith is right-lazy: -- --
-- >>> let f = undefined -- -- >>> zipWith f [] undefined -- [] ---- -- zipWith is capable of list fusion, but it is restricted to its -- first list argument and its resulting list. zipWith :: (a -> b -> c) -> [a] -> [b] -> [c] -- | zip3 takes three lists and returns a list of triples, analogous -- to zip. It is capable of list fusion, but it is restricted to -- its first list argument and its resulting list. zip3 :: [a] -> [b] -> [c] -> [(a, b, c)] -- | The unzip3 function takes a list of triples and returns three -- lists, analogous to unzip. -- --
-- >>> unzip3 [] -- ([],[],[]) -- -- >>> unzip3 [(1, 'a', True), (2, 'b', False)] -- ([1,2],"ab",[True,False]) --unzip3 :: [(a, b, c)] -> ([a], [b], [c]) -- | unzip transforms a list of pairs into a list of first -- components and a list of second components. -- --
-- >>> unzip [] -- ([],[]) -- -- >>> unzip [(1, 'a'), (2, 'b')] -- ([1,2],"ab") --unzip :: [(a, b)] -> ([a], [b]) -- | takeWhile, applied to a predicate p and a list -- xs, returns the longest prefix (possibly empty) of -- xs of elements that satisfy p. -- --
-- >>> takeWhile (< 3) [1,2,3,4,1,2,3,4] -- [1,2] -- -- >>> takeWhile (< 9) [1,2,3] -- [1,2,3] -- -- >>> takeWhile (< 0) [1,2,3] -- [] --takeWhile :: (a -> Bool) -> [a] -> [a] -- | take n, applied to a list xs, returns the -- prefix of xs of length n, or xs itself if -- n >= length xs. -- --
-- >>> take 5 "Hello World!" -- "Hello" -- -- >>> take 3 [1,2,3,4,5] -- [1,2,3] -- -- >>> take 3 [1,2] -- [1,2] -- -- >>> take 3 [] -- [] -- -- >>> take (-1) [1,2] -- [] -- -- >>> take 0 [1,2] -- [] ---- -- It is an instance of the more general genericTake, in which -- n may be of any integral type. take :: Int -> [a] -> [a] -- | <math>. Extract the elements after the head of a list, which -- must be non-empty. -- --
-- >>> tail [1, 2, 3] -- [2,3] -- -- >>> tail [1] -- [] -- -- >>> tail [] -- *** Exception: Prelude.tail: empty list --tail :: [a] -> [a] -- | splitAt n xs returns a tuple where first element is -- xs prefix of length n and second element is the -- remainder of the list: -- --
-- >>> splitAt 6 "Hello World!"
-- ("Hello ","World!")
--
-- >>> splitAt 3 [1,2,3,4,5]
-- ([1,2,3],[4,5])
--
-- >>> splitAt 1 [1,2,3]
-- ([1],[2,3])
--
-- >>> splitAt 3 [1,2,3]
-- ([1,2,3],[])
--
-- >>> splitAt 4 [1,2,3]
-- ([1,2,3],[])
--
-- >>> splitAt 0 [1,2,3]
-- ([],[1,2,3])
--
-- >>> splitAt (-1) [1,2,3]
-- ([],[1,2,3])
--
--
-- It is equivalent to (take n xs, drop n xs) when
-- n is not _|_ (splitAt _|_ xs = _|_).
-- splitAt is an instance of the more general
-- genericSplitAt, in which n may be of any integral
-- type.
splitAt :: Int -> [a] -> ([a], [a])
-- | span, applied to a predicate p and a list xs,
-- returns a tuple where first element is longest prefix (possibly empty)
-- of xs of elements that satisfy p and second element
-- is the remainder of the list:
--
-- -- >>> span (< 3) [1,2,3,4,1,2,3,4] -- ([1,2],[3,4,1,2,3,4]) -- -- >>> span (< 9) [1,2,3] -- ([1,2,3],[]) -- -- >>> span (< 0) [1,2,3] -- ([],[1,2,3]) ---- -- span p xs is equivalent to (takeWhile p xs, -- dropWhile p xs) span :: (a -> Bool) -> [a] -> ([a], [a]) -- | <math>. scanr1 is a variant of scanr that has no -- starting value argument. -- --
-- >>> scanr1 (+) [1..4] -- [10,9,7,4] -- -- >>> scanr1 (+) [] -- [] -- -- >>> scanr1 (-) [1..4] -- [-2,3,-1,4] -- -- >>> scanr1 (&&) [True, False, True, True] -- [False,False,True,True] -- -- >>> scanr1 (||) [True, True, False, False] -- [True,True,False,False] -- -- >>> force $ scanr1 (+) [1..] -- *** Exception: stack overflow --scanr1 :: (a -> a -> a) -> [a] -> [a] -- | <math>. scanr is the right-to-left dual of scanl. -- Note that the order of parameters on the accumulating function are -- reversed compared to scanl. Also note that -- --
-- head (scanr f z xs) == foldr f z xs. ---- --
-- >>> scanr (+) 0 [1..4] -- [10,9,7,4,0] -- -- >>> scanr (+) 42 [] -- [42] -- -- >>> scanr (-) 100 [1..4] -- [98,-97,99,-96,100] -- -- >>> scanr (\nextChar reversedString -> nextChar : reversedString) "foo" ['a', 'b', 'c', 'd'] -- ["abcdfoo","bcdfoo","cdfoo","dfoo","foo"] -- -- >>> force $ scanr (+) 0 [1..] -- *** Exception: stack overflow --scanr :: (a -> b -> b) -> b -> [a] -> [b] -- | <math>. scanl1 is a variant of scanl that has no -- starting value argument: -- --
-- scanl1 f [x1, x2, ...] == [x1, x1 `f` x2, ...] ---- --
-- >>> scanl1 (+) [1..4] -- [1,3,6,10] -- -- >>> scanl1 (+) [] -- [] -- -- >>> scanl1 (-) [1..4] -- [1,-1,-4,-8] -- -- >>> scanl1 (&&) [True, False, True, True] -- [True,False,False,False] -- -- >>> scanl1 (||) [False, False, True, True] -- [False,False,True,True] -- -- >>> scanl1 (+) [1..] -- * Hangs forever * --scanl1 :: (a -> a -> a) -> [a] -> [a] -- | <math>. scanl is similar to foldl, but returns a -- list of successive reduced values from the left: -- --
-- scanl f z [x1, x2, ...] == [z, z `f` x1, (z `f` x1) `f` x2, ...] ---- -- Note that -- --
-- last (scanl f z xs) == foldl f z xs ---- --
-- >>> scanl (+) 0 [1..4] -- [0,1,3,6,10] -- -- >>> scanl (+) 42 [] -- [42] -- -- >>> scanl (-) 100 [1..4] -- [100,99,97,94,90] -- -- >>> scanl (\reversedString nextChar -> nextChar : reversedString) "foo" ['a', 'b', 'c', 'd'] -- ["foo","afoo","bafoo","cbafoo","dcbafoo"] -- -- >>> scanl (+) 0 [1..] -- * Hangs forever * --scanl :: (b -> a -> b) -> b -> [a] -> [b] -- | reverse xs returns the elements of xs in -- reverse order. xs must be finite. -- --
-- >>> reverse [] -- [] -- -- >>> reverse [42] -- [42] -- -- >>> reverse [2,5,7] -- [7,5,2] -- -- >>> reverse [1..] -- * Hangs forever * --reverse :: [a] -> [a] -- | replicate n x is a list of length n with -- x the value of every element. It is an instance of the more -- general genericReplicate, in which n may be of any -- integral type. -- --
-- >>> replicate 0 True -- [] -- -- >>> replicate (-1) True -- [] -- -- >>> replicate 4 True -- [True,True,True,True] --replicate :: Int -> a -> [a] -- | repeat x is an infinite list, with x the -- value of every element. -- --
-- >>> take 20 $ repeat 17 -- [17,17,17,17,17,17,17,17,17... --repeat :: a -> [a] -- | <math>. lookup key assocs looks up a key in an -- association list. -- --
-- >>> lookup 2 [] -- Nothing -- -- >>> lookup 2 [(1, "first")] -- Nothing -- -- >>> lookup 2 [(1, "first"), (2, "second"), (3, "third")] -- Just "second" --lookup :: Eq a => a -> [(a, b)] -> Maybe b -- | <math>. Extract the last element of a list, which must be finite -- and non-empty. -- --
-- >>> last [1, 2, 3] -- 3 -- -- >>> last [1..] -- * Hangs forever * -- -- >>> last [] -- *** Exception: Prelude.last: empty list --last :: [a] -> a -- | iterate f x returns an infinite list of repeated -- applications of f to x: -- --
-- iterate f x == [x, f x, f (f x), ...] ---- -- Note that iterate is lazy, potentially leading to thunk -- build-up if the consumer doesn't force each iterate. See -- iterate' for a strict variant of this function. -- --
-- >>> take 10 $ iterate not True -- [True,False,True,False... -- -- >>> take 10 $ iterate (+3) 42 -- [42,45,48,51,54,57,60,63... --iterate :: (a -> a) -> a -> [a] -- | <math>. Return all the elements of a list except the last one. -- The list must be non-empty. -- --
-- >>> init [1, 2, 3] -- [1,2] -- -- >>> init [1] -- [] -- -- >>> init [] -- *** Exception: Prelude.init: empty list --init :: [a] -> [a] -- | <math>. Extract the first element of a list, which must be -- non-empty. -- --
-- >>> head [1, 2, 3] -- 1 -- -- >>> head [1..] -- 1 -- -- >>> head [] -- *** Exception: Prelude.head: empty list --head :: [a] -> a -- | dropWhile p xs returns the suffix remaining after -- takeWhile p xs. -- --
-- >>> dropWhile (< 3) [1,2,3,4,5,1,2,3] -- [3,4,5,1,2,3] -- -- >>> dropWhile (< 9) [1,2,3] -- [] -- -- >>> dropWhile (< 0) [1,2,3] -- [1,2,3] --dropWhile :: (a -> Bool) -> [a] -> [a] -- | drop n xs returns the suffix of xs after the -- first n elements, or [] if n >= length -- xs. -- --
-- >>> drop 6 "Hello World!" -- "World!" -- -- >>> drop 3 [1,2,3,4,5] -- [4,5] -- -- >>> drop 3 [1,2] -- [] -- -- >>> drop 3 [] -- [] -- -- >>> drop (-1) [1,2] -- [1,2] -- -- >>> drop 0 [1,2] -- [1,2] ---- -- It is an instance of the more general genericDrop, in which -- n may be of any integral type. drop :: Int -> [a] -> [a] -- | cycle ties a finite list into a circular one, or equivalently, -- the infinite repetition of the original list. It is the identity on -- infinite lists. -- --
-- >>> cycle [] -- *** Exception: Prelude.cycle: empty list -- -- >>> take 20 $ cycle [42] -- [42,42,42,42,42,42,42,42,42,42... -- -- >>> take 20 $ cycle [2, 5, 7] -- [2,5,7,2,5,7,2,5,7,2,5,7... --cycle :: [a] -> [a] -- | break, applied to a predicate p and a list -- xs, returns a tuple where first element is longest prefix -- (possibly empty) of xs of elements that do not satisfy -- p and second element is the remainder of the list: -- --
-- >>> break (> 3) [1,2,3,4,1,2,3,4] -- ([1,2,3],[4,1,2,3,4]) -- -- >>> break (< 9) [1,2,3] -- ([],[1,2,3]) -- -- >>> break (> 9) [1,2,3] -- ([1,2,3],[]) ---- -- break p is equivalent to span (not . -- p). break :: (a -> Bool) -> [a] -> ([a], [a]) -- | List index (subscript) operator, starting from 0. It is an instance of -- the more general genericIndex, which takes an index of any -- integral type. -- --
-- >>> ['a', 'b', 'c'] !! 0 -- 'a' -- -- >>> ['a', 'b', 'c'] !! 2 -- 'c' -- -- >>> ['a', 'b', 'c'] !! 3 -- *** Exception: Prelude.!!: index too large -- -- >>> ['a', 'b', 'c'] !! (-1) -- *** Exception: Prelude.!!: negative index --(!!) :: [a] -> Int -> a infixl 9 !! -- | The maybe function takes a default value, a function, and a -- Maybe value. If the Maybe value is Nothing, the -- function returns the default value. Otherwise, it applies the function -- to the value inside the Just and returns the result. -- --
-- >>> maybe False odd (Just 3) -- True ---- --
-- >>> maybe False odd Nothing -- False ---- -- Read an integer from a string using readMaybe. If we succeed, -- return twice the integer; that is, apply (*2) to it. If -- instead we fail to parse an integer, return 0 by default: -- --
-- >>> import Text.Read ( readMaybe ) -- -- >>> maybe 0 (*2) (readMaybe "5") -- 10 -- -- >>> maybe 0 (*2) (readMaybe "") -- 0 ---- -- Apply show to a Maybe Int. If we have Just n, -- we want to show the underlying Int n. But if we have -- Nothing, we return the empty string instead of (for example) -- "Nothing": -- --
-- >>> maybe "" show (Just 5) -- "5" -- -- >>> maybe "" show Nothing -- "" --maybe :: b -> (a -> b) -> Maybe a -> b -- | The catMaybes function takes a list of Maybes and -- returns a list of all the Just values. -- --
-- >>> catMaybes [Just 1, Nothing, Just 3] -- [1,3] ---- -- When constructing a list of Maybe values, catMaybes can -- be used to return all of the "success" results (if the list is the -- result of a map, then mapMaybe would be more -- appropriate): -- --
-- >>> import Text.Read ( readMaybe ) -- -- >>> [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ] -- [Just 1,Nothing,Just 3] -- -- >>> catMaybes $ [readMaybe x :: Maybe Int | x <- ["1", "Foo", "3"] ] -- [1,3] --catMaybes :: [Maybe a] -> [a] -- | Flipped version of <$>. -- --
-- (<&>) = flip fmap ---- --
-- >>> Just 2 <&> (+1) -- Just 3 ---- --
-- >>> [1,2,3] <&> (+1) -- [2,3,4] ---- --
-- >>> Right 3 <&> (+1) -- Right 4 --(<&>) :: Functor f => f a -> (a -> b) -> f b infixl 1 <&> -- | uncurry converts a curried function to a function on pairs. -- --
-- >>> uncurry (+) (1,2) -- 3 ---- --
-- >>> uncurry ($) (show, 1) -- "1" ---- --
-- >>> map (uncurry max) [(1,2), (3,4), (6,8)] -- [2,4,8] --uncurry :: (a -> b -> c) -> (a, b) -> c -- | curry converts an uncurried function to a curried function. -- --
-- >>> curry fst 1 2 -- 1 --curry :: ((a, b) -> c) -> a -> b -> c -- | the same as flip (-). -- -- Because - is treated specially in the Haskell grammar, -- (- e) is not a section, but an application of -- prefix negation. However, (subtract -- exp) is equivalent to the disallowed section. subtract :: Num a => a -> a -> a -- | until p f yields the result of applying f -- until p holds. until :: (a -> Bool) -> (a -> a) -> a -> a -- | flip f takes its (first) two arguments in the reverse -- order of f. -- --
-- >>> flip (++) "hello" "world" -- "worldhello" --flip :: (a -> b -> c) -> b -> a -> c -- | asTypeOf is a type-restricted version of const. It is -- usually used as an infix operator, and its typing forces its first -- argument (which is usually overloaded) to have the same type as the -- second. asTypeOf :: a -> a -> a -- | Same as >>=, but with the arguments interchanged. (=<<) :: Monad m => (a -> m b) -> m a -> m b infixr 1 =<< -- | Strict (call-by-value) application operator. It takes a function and -- an argument, evaluates the argument to weak head normal form (WHNF), -- then calls the function with that value. ($!) :: forall (r :: RuntimeRep) a (b :: TYPE r). (a -> b) -> a -> b infixr 0 $! -- | A special case of error. It is expected that compilers will -- recognize this and insert error messages which are more appropriate to -- the context in which undefined appears. undefined :: forall (r :: RuntimeRep) (a :: TYPE r). HasCallStack => a -- | A variant of error that does not produce a stack trace. errorWithoutStackTrace :: forall (r :: RuntimeRep) (a :: TYPE r). [Char] -> a -- | error stops execution and displays an error message. error :: forall (r :: RuntimeRep) (a :: TYPE r). HasCallStack => [Char] -> a -- | Boolean "and", lazy in the second argument (&&) :: Bool -> Bool -> Bool infixr 3 && -- | Boolean "not" not :: Bool -> Bool -- | Boolean "or", lazy in the second argument (||) :: Bool -> Bool -> Bool infixr 2 || -- | The Binary class provides put and get, methods to -- encode and decode a Haskell value to a lazy ByteString. It -- mirrors the Read and Show classes for textual -- representation of Haskell types, and is suitable for serialising -- Haskell values to disk, over the network. -- -- For decoding and generating simple external binary formats (e.g. C -- structures), Binary may be used, but in general is not suitable for -- complex protocols. Instead use the PutM and Get -- primitives directly. -- -- Instances of Binary should satisfy the following property: -- --
-- decode . encode == id ---- -- That is, the get and put methods should be the inverse -- of each other. A range of instances are provided for basic Haskell -- types. class Binary t -- | A class of types that can be fully evaluated. class NFData a -- | rnf should reduce its argument to normal form (that is, fully -- evaluate all sub-components), and then return (). -- --
-- {-# LANGUAGE DeriveGeneric #-}
--
-- import GHC.Generics (Generic, Generic1)
-- import Control.DeepSeq
--
-- data Foo a = Foo a String
-- deriving (Eq, Generic, Generic1)
--
-- instance NFData a => NFData (Foo a)
-- instance NFData1 Foo
--
-- data Colour = Red | Green | Blue
-- deriving Generic
--
-- instance NFData Colour
--
--
-- Starting with GHC 7.10, the example above can be written more
-- concisely by enabling the new DeriveAnyClass extension:
--
--
-- {-# LANGUAGE DeriveGeneric, DeriveAnyClass #-}
--
-- import GHC.Generics (Generic)
-- import Control.DeepSeq
--
-- data Foo a = Foo a String
-- deriving (Eq, Generic, Generic1, NFData, NFData1)
--
-- data Colour = Red | Green | Blue
-- deriving (Generic, NFData)
--
--
-- -- rnf a = seq a () ---- -- However, starting with deepseq-1.4.0.0, the default -- implementation is based on DefaultSignatures allowing for -- more accurate auto-derived NFData instances. If you need the -- previously used exact default rnf method implementation -- semantics, use -- --
-- instance NFData Colour where rnf x = seq x () ---- -- or alternatively -- --
-- instance NFData Colour where rnf = rwhnf ---- -- or -- --
-- {-# LANGUAGE BangPatterns #-}
-- instance NFData Colour where rnf !_ = ()
--
rnf :: NFData a => a -> ()
-- | GHC.Generics-based rnf implementation
--
-- This provides a generic rnf implementation for one type at a
-- time. If the type of the value genericRnf is asked to reduce to
-- NF contains values of other types, those types have to provide
-- NFData instances. This also means that recursive types can only
-- be used with genericRnf if a NFData instance has been
-- defined as well (see examples below).
--
-- The typical usage for genericRnf is for reducing boilerplate
-- code when defining NFData instances for ordinary algebraic
-- datatypes. See the code below for some simple usage examples:
--
--
-- {-# LANGUAGE DeriveGeneric #-}
--
-- import Control.DeepSeq
-- import Control.DeepSeq.Generics (genericRnf)
-- import GHC.Generics
--
-- -- simple record
-- data Foo = Foo AccountId Name Address
-- deriving Generic
--
-- type Address = [String]
-- type Name = String
-- newtype AccountId = AccountId Int
--
-- instance NFData AccountId
-- instance NFData Foo where rnf = genericRnf
--
-- -- recursive list-like type
-- data N = Z | S N deriving Generic
--
-- instance NFData N where rnf = genericRnf
--
-- -- parametric & recursive type
-- data Bar a = Bar0 | Bar1 a | Bar2 (Bar a)
-- deriving Generic
--
-- instance NFData a => NFData (Bar a) where rnf = genericRnf
--
--
-- NOTE: The GNFData type-class showing up in the
-- type-signature is used internally and not exported.
genericRnf :: (Generic a, GNFData (Rep a)) => a -> ()
-- | Formats a time in ISO 8601, with up to 12 second decimals.
--
-- This is the formatTime format %FT%T%Q ==
-- %%Y-%m-%dT%%H:%M:%S%Q.
formatISO8601 :: UTCTime -> String
-- | O(n) Convert a String into a Text. Subject to
-- fusion. Performs replacement on invalid scalar values.
pack :: String -> Text
-- | O(n) Convert a Text into a String. Subject to
-- fusion.
unpack :: Text -> String
-- | Boxed vectors, supporting efficient slicing.
data Vector a
-- | Verification of incomming webhook payloads, as described at
-- https://developer.github.com/webhooks/securing/
module GitHub.Data.Webhooks.Validate
-- | Validates a given payload against a given HMAC hexdigest using a given
-- secret. Returns True iff the given hash is non-empty and it's a
-- valid signature of the payload.
isValidPayload :: Text -> Maybe Text -> ByteString -> Bool
module GitHub.Data.URL
-- | Data representing URLs in responses.
--
-- N.B. syntactical validity is not verified.
newtype URL
URL :: Text -> URL
getUrl :: URL -> Text
instance Data.Data.Data GitHub.Data.URL.URL
instance GHC.Generics.Generic GitHub.Data.URL.URL
instance GHC.Show.Show GitHub.Data.URL.URL
instance GHC.Classes.Ord GitHub.Data.URL.URL
instance GHC.Classes.Eq GitHub.Data.URL.URL
instance Control.DeepSeq.NFData GitHub.Data.URL.URL
instance Data.Binary.Class.Binary GitHub.Data.URL.URL
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.URL.URL
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.URL.URL
module GitHub.Data.RateLimit
data Limits
Limits :: !Int -> !Int -> !SystemTime -> Limits
[limitsMax] :: Limits -> !Int
[limitsRemaining] :: Limits -> !Int
[limitsReset] :: Limits -> !SystemTime
data RateLimit
RateLimit :: Limits -> Limits -> Limits -> RateLimit
[rateLimitCore] :: RateLimit -> Limits
[rateLimitSearch] :: RateLimit -> Limits
[rateLimitGraphQL] :: RateLimit -> Limits
limitsFromHttpResponse :: Response a -> Maybe Limits
instance GHC.Generics.Generic GitHub.Data.RateLimit.Limits
instance GHC.Classes.Ord GitHub.Data.RateLimit.Limits
instance GHC.Classes.Eq GitHub.Data.RateLimit.Limits
instance GHC.Show.Show GitHub.Data.RateLimit.Limits
instance GHC.Generics.Generic GitHub.Data.RateLimit.RateLimit
instance GHC.Classes.Ord GitHub.Data.RateLimit.RateLimit
instance GHC.Classes.Eq GitHub.Data.RateLimit.RateLimit
instance GHC.Show.Show GitHub.Data.RateLimit.RateLimit
instance Control.DeepSeq.NFData GitHub.Data.RateLimit.RateLimit
instance Data.Binary.Class.Binary GitHub.Data.RateLimit.RateLimit
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.RateLimit.RateLimit
instance Control.DeepSeq.NFData GitHub.Data.RateLimit.Limits
instance Data.Binary.Class.Binary GitHub.Data.RateLimit.Limits
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.RateLimit.Limits
module GitHub.Data.Name
newtype Name entity
N :: Text -> Name entity
-- | Smart constructor for Name
mkName :: proxy entity -> Text -> Name entity
untagName :: Name entity -> Text
instance Data.Data.Data entity => Data.Data.Data (GitHub.Data.Name.Name entity)
instance GHC.Generics.Generic (GitHub.Data.Name.Name entity)
instance GHC.Show.Show (GitHub.Data.Name.Name entity)
instance GHC.Classes.Ord (GitHub.Data.Name.Name entity)
instance GHC.Classes.Eq (GitHub.Data.Name.Name entity)
instance Data.Hashable.Class.Hashable (GitHub.Data.Name.Name entity)
instance Data.Binary.Class.Binary (GitHub.Data.Name.Name entity)
instance Control.DeepSeq.NFData (GitHub.Data.Name.Name entity)
instance Data.Aeson.Types.FromJSON.FromJSON (GitHub.Data.Name.Name entity)
instance Data.Aeson.Types.ToJSON.ToJSON (GitHub.Data.Name.Name entity)
instance Data.String.IsString (GitHub.Data.Name.Name entity)
instance Data.Aeson.Types.ToJSON.ToJSONKey (GitHub.Data.Name.Name entity)
instance Data.Aeson.Types.FromJSON.FromJSONKey (GitHub.Data.Name.Name entity)
module GitHub.Data.Id
-- | Numeric identifier.
newtype Id entity
Id :: Int -> Id entity
-- | Smart constructor for Id.
mkId :: proxy entity -> Int -> Id entity
untagId :: Id entity -> Int
instance Data.Data.Data entity => Data.Data.Data (GitHub.Data.Id.Id entity)
instance GHC.Generics.Generic (GitHub.Data.Id.Id entity)
instance GHC.Show.Show (GitHub.Data.Id.Id entity)
instance GHC.Classes.Ord (GitHub.Data.Id.Id entity)
instance GHC.Classes.Eq (GitHub.Data.Id.Id entity)
instance Data.Hashable.Class.Hashable (GitHub.Data.Id.Id entity)
instance Data.Binary.Class.Binary (GitHub.Data.Id.Id entity)
instance Control.DeepSeq.NFData (GitHub.Data.Id.Id entity)
instance Data.Aeson.Types.FromJSON.FromJSON (GitHub.Data.Id.Id entity)
instance Data.Aeson.Types.ToJSON.ToJSON (GitHub.Data.Id.Id entity)
module GitHub.Data.Webhooks
data RepoWebhook
RepoWebhook :: !URL -> !URL -> !Id RepoWebhook -> !Text -> !Bool -> !Vector RepoWebhookEvent -> !Map Text Text -> !RepoWebhookResponse -> !UTCTime -> !UTCTime -> RepoWebhook
[repoWebhookUrl] :: RepoWebhook -> !URL
[repoWebhookTestUrl] :: RepoWebhook -> !URL
[repoWebhookId] :: RepoWebhook -> !Id RepoWebhook
[repoWebhookName] :: RepoWebhook -> !Text
[repoWebhookActive] :: RepoWebhook -> !Bool
[repoWebhookEvents] :: RepoWebhook -> !Vector RepoWebhookEvent
[repoWebhookConfig] :: RepoWebhook -> !Map Text Text
[repoWebhookLastResponse] :: RepoWebhook -> !RepoWebhookResponse
[repoWebhookUpdatedAt] :: RepoWebhook -> !UTCTime
[repoWebhookCreatedAt] :: RepoWebhook -> !UTCTime
-- | See https://developer.github.com/webhooks/#events.
data RepoWebhookEvent
WebhookWildcardEvent :: RepoWebhookEvent
WebhookCheckRunEvent :: RepoWebhookEvent
WebhookCheckSuiteEvent :: RepoWebhookEvent
WebhookCodeScanningAlert :: RepoWebhookEvent
WebhookCommitCommentEvent :: RepoWebhookEvent
WebhookContentReferenceEvent :: RepoWebhookEvent
WebhookCreateEvent :: RepoWebhookEvent
WebhookDeleteEvent :: RepoWebhookEvent
WebhookDeployKeyEvent :: RepoWebhookEvent
WebhookDeploymentEvent :: RepoWebhookEvent
WebhookDeploymentStatusEvent :: RepoWebhookEvent
WebhookDiscussion :: RepoWebhookEvent
WebhookDiscussionComment :: RepoWebhookEvent
WebhookDownloadEvent :: RepoWebhookEvent
WebhookFollowEvent :: RepoWebhookEvent
WebhookForkEvent :: RepoWebhookEvent
WebhookGistEvent :: RepoWebhookEvent
WebhookGitHubAppAuthorizationEvent :: RepoWebhookEvent
WebhookGollumEvent :: RepoWebhookEvent
WebhookInstallationEvent :: RepoWebhookEvent
WebhookInstallationRepositoriesEvent :: RepoWebhookEvent
WebhookIssueCommentEvent :: RepoWebhookEvent
WebhookIssuesEvent :: RepoWebhookEvent
WebhookLabelEvent :: RepoWebhookEvent
WebhookMarketplacePurchaseEvent :: RepoWebhookEvent
WebhookMemberEvent :: RepoWebhookEvent
WebhookMembershipEvent :: RepoWebhookEvent
WebhookMetaEvent :: RepoWebhookEvent
WebhookMilestoneEvent :: RepoWebhookEvent
WebhookOrgBlockEvent :: RepoWebhookEvent
WebhookOrganizationEvent :: RepoWebhookEvent
WebhookPackage :: RepoWebhookEvent
WebhookPageBuildEvent :: RepoWebhookEvent
WebhookPingEvent :: RepoWebhookEvent
WebhookProjectCardEvent :: RepoWebhookEvent
WebhookProjectColumnEvent :: RepoWebhookEvent
WebhookProjectEvent :: RepoWebhookEvent
WebhookPublicEvent :: RepoWebhookEvent
WebhookPullRequestEvent :: RepoWebhookEvent
WebhookPullRequestReviewCommentEvent :: RepoWebhookEvent
WebhookPullRequestReviewEvent :: RepoWebhookEvent
WebhookPushEvent :: RepoWebhookEvent
WebhookRegistryPackageEvent :: RepoWebhookEvent
WebhookReleaseEvent :: RepoWebhookEvent
WebhookRepositoryDispatch :: RepoWebhookEvent
WebhookRepositoryEvent :: RepoWebhookEvent
WebhookRepositoryImportEvent :: RepoWebhookEvent
WebhookRepositoryVulnerabilityAlertEvent :: RepoWebhookEvent
WebhookSecretScanningAlert :: RepoWebhookEvent
WebhookSecurityAdvisoryEvent :: RepoWebhookEvent
WebhookSponsorship :: RepoWebhookEvent
WebhookStarEvent :: RepoWebhookEvent
WebhookStatusEvent :: RepoWebhookEvent
WebhookTeamAddEvent :: RepoWebhookEvent
WebhookTeamEvent :: RepoWebhookEvent
WebhookWatchEvent :: RepoWebhookEvent
WebhookWorkflowDispatch :: RepoWebhookEvent
WebhookWorkflowRun :: RepoWebhookEvent
data RepoWebhookResponse
RepoWebhookResponse :: !Maybe Int -> !Maybe Text -> !Maybe Text -> RepoWebhookResponse
[repoWebhookResponseCode] :: RepoWebhookResponse -> !Maybe Int
[repoWebhookResponseStatus] :: RepoWebhookResponse -> !Maybe Text
[repoWebhookResponseMessage] :: RepoWebhookResponse -> !Maybe Text
data PingEvent
PingEvent :: !Text -> !RepoWebhook -> !Id RepoWebhook -> PingEvent
[pingEventZen] :: PingEvent -> !Text
[pingEventHook] :: PingEvent -> !RepoWebhook
[pingEventHookId] :: PingEvent -> !Id RepoWebhook
data NewRepoWebhook
NewRepoWebhook :: !Text -> !Map Text Text -> !Maybe (Vector RepoWebhookEvent) -> !Maybe Bool -> NewRepoWebhook
[newRepoWebhookName] :: NewRepoWebhook -> !Text
[newRepoWebhookConfig] :: NewRepoWebhook -> !Map Text Text
[newRepoWebhookEvents] :: NewRepoWebhook -> !Maybe (Vector RepoWebhookEvent)
[newRepoWebhookActive] :: NewRepoWebhook -> !Maybe Bool
data EditRepoWebhook
EditRepoWebhook :: !Maybe (Map Text Text) -> !Maybe (Vector RepoWebhookEvent) -> !Maybe (Vector RepoWebhookEvent) -> !Maybe (Vector RepoWebhookEvent) -> !Maybe Bool -> EditRepoWebhook
[editRepoWebhookConfig] :: EditRepoWebhook -> !Maybe (Map Text Text)
[editRepoWebhookEvents] :: EditRepoWebhook -> !Maybe (Vector RepoWebhookEvent)
[editRepoWebhookAddEvents] :: EditRepoWebhook -> !Maybe (Vector RepoWebhookEvent)
[editRepoWebhookRemoveEvents] :: EditRepoWebhook -> !Maybe (Vector RepoWebhookEvent)
[editRepoWebhookActive] :: EditRepoWebhook -> !Maybe Bool
instance GHC.Generics.Generic GitHub.Data.Webhooks.RepoWebhookEvent
instance GHC.Classes.Ord GitHub.Data.Webhooks.RepoWebhookEvent
instance GHC.Classes.Eq GitHub.Data.Webhooks.RepoWebhookEvent
instance Data.Data.Data GitHub.Data.Webhooks.RepoWebhookEvent
instance GHC.Show.Show GitHub.Data.Webhooks.RepoWebhookEvent
instance GHC.Generics.Generic GitHub.Data.Webhooks.RepoWebhookResponse
instance GHC.Classes.Ord GitHub.Data.Webhooks.RepoWebhookResponse
instance GHC.Classes.Eq GitHub.Data.Webhooks.RepoWebhookResponse
instance Data.Data.Data GitHub.Data.Webhooks.RepoWebhookResponse
instance GHC.Show.Show GitHub.Data.Webhooks.RepoWebhookResponse
instance GHC.Generics.Generic GitHub.Data.Webhooks.RepoWebhook
instance GHC.Classes.Ord GitHub.Data.Webhooks.RepoWebhook
instance GHC.Classes.Eq GitHub.Data.Webhooks.RepoWebhook
instance Data.Data.Data GitHub.Data.Webhooks.RepoWebhook
instance GHC.Show.Show GitHub.Data.Webhooks.RepoWebhook
instance GHC.Generics.Generic GitHub.Data.Webhooks.PingEvent
instance GHC.Classes.Ord GitHub.Data.Webhooks.PingEvent
instance GHC.Classes.Eq GitHub.Data.Webhooks.PingEvent
instance Data.Data.Data GitHub.Data.Webhooks.PingEvent
instance GHC.Show.Show GitHub.Data.Webhooks.PingEvent
instance GHC.Generics.Generic GitHub.Data.Webhooks.NewRepoWebhook
instance Data.Data.Data GitHub.Data.Webhooks.NewRepoWebhook
instance GHC.Show.Show GitHub.Data.Webhooks.NewRepoWebhook
instance GHC.Classes.Ord GitHub.Data.Webhooks.NewRepoWebhook
instance GHC.Classes.Eq GitHub.Data.Webhooks.NewRepoWebhook
instance GHC.Generics.Generic GitHub.Data.Webhooks.EditRepoWebhook
instance Data.Data.Data GitHub.Data.Webhooks.EditRepoWebhook
instance GHC.Show.Show GitHub.Data.Webhooks.EditRepoWebhook
instance GHC.Classes.Ord GitHub.Data.Webhooks.EditRepoWebhook
instance GHC.Classes.Eq GitHub.Data.Webhooks.EditRepoWebhook
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.EditRepoWebhook
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.EditRepoWebhook
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Webhooks.EditRepoWebhook
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.NewRepoWebhook
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.NewRepoWebhook
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Webhooks.NewRepoWebhook
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.PingEvent
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.PingEvent
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Webhooks.PingEvent
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.RepoWebhook
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.RepoWebhook
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Webhooks.RepoWebhook
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.RepoWebhookResponse
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.RepoWebhookResponse
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Webhooks.RepoWebhookResponse
instance Control.DeepSeq.NFData GitHub.Data.Webhooks.RepoWebhookEvent
instance Data.Binary.Class.Binary GitHub.Data.Webhooks.RepoWebhookEvent
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Webhooks.RepoWebhookEvent
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Webhooks.RepoWebhookEvent
module GitHub.Data.PublicSSHKeys
data PublicSSHKeyBasic
PublicSSHKeyBasic :: !Id PublicSSHKey -> !Text -> PublicSSHKeyBasic
[basicPublicSSHKeyId] :: PublicSSHKeyBasic -> !Id PublicSSHKey
[basicPublicSSHKeyKey] :: PublicSSHKeyBasic -> !Text
data PublicSSHKey
PublicSSHKey :: !Id PublicSSHKey -> !Text -> !URL -> !Text -> !Bool -> !Maybe UTCTime -> !Bool -> PublicSSHKey
[publicSSHKeyId] :: PublicSSHKey -> !Id PublicSSHKey
[publicSSHKeyKey] :: PublicSSHKey -> !Text
[publicSSHKeyUrl] :: PublicSSHKey -> !URL
[publicSSHKeyTitle] :: PublicSSHKey -> !Text
[publicSSHKeyVerified] :: PublicSSHKey -> !Bool
[publicSSHKeyCreatedAt] :: PublicSSHKey -> !Maybe UTCTime
[publicSSHKeyReadOnly] :: PublicSSHKey -> !Bool
data NewPublicSSHKey
NewPublicSSHKey :: !Text -> !Text -> NewPublicSSHKey
[newPublicSSHKeyKey] :: NewPublicSSHKey -> !Text
[newPublicSSHKeyTitle] :: NewPublicSSHKey -> !Text
instance GHC.Generics.Generic GitHub.Data.PublicSSHKeys.PublicSSHKey
instance GHC.Classes.Ord GitHub.Data.PublicSSHKeys.PublicSSHKey
instance GHC.Classes.Eq GitHub.Data.PublicSSHKeys.PublicSSHKey
instance Data.Data.Data GitHub.Data.PublicSSHKeys.PublicSSHKey
instance GHC.Show.Show GitHub.Data.PublicSSHKeys.PublicSSHKey
instance GHC.Generics.Generic GitHub.Data.PublicSSHKeys.PublicSSHKeyBasic
instance GHC.Classes.Ord GitHub.Data.PublicSSHKeys.PublicSSHKeyBasic
instance GHC.Classes.Eq GitHub.Data.PublicSSHKeys.PublicSSHKeyBasic
instance Data.Data.Data GitHub.Data.PublicSSHKeys.PublicSSHKeyBasic
instance GHC.Show.Show GitHub.Data.PublicSSHKeys.PublicSSHKeyBasic
instance GHC.Generics.Generic GitHub.Data.PublicSSHKeys.NewPublicSSHKey
instance GHC.Classes.Ord GitHub.Data.PublicSSHKeys.NewPublicSSHKey
instance GHC.Classes.Eq GitHub.Data.PublicSSHKeys.NewPublicSSHKey
instance Data.Data.Data GitHub.Data.PublicSSHKeys.NewPublicSSHKey
instance GHC.Show.Show GitHub.Data.PublicSSHKeys.NewPublicSSHKey
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.PublicSSHKeys.NewPublicSSHKey
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PublicSSHKeys.NewPublicSSHKey
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PublicSSHKeys.PublicSSHKeyBasic
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PublicSSHKeys.PublicSSHKey
module GitHub.Data.Email
data EmailVisibility
EmailVisibilityPrivate :: EmailVisibility
EmailVisibilityPublic :: EmailVisibility
data Email
Email :: !Text -> !Bool -> !Bool -> !Maybe EmailVisibility -> Email
[emailAddress] :: Email -> !Text
[emailVerified] :: Email -> !Bool
[emailPrimary] :: Email -> !Bool
[emailVisibility] :: Email -> !Maybe EmailVisibility
instance GHC.Generics.Generic GitHub.Data.Email.EmailVisibility
instance GHC.Classes.Ord GitHub.Data.Email.EmailVisibility
instance GHC.Classes.Eq GitHub.Data.Email.EmailVisibility
instance GHC.Enum.Bounded GitHub.Data.Email.EmailVisibility
instance GHC.Enum.Enum GitHub.Data.Email.EmailVisibility
instance Data.Data.Data GitHub.Data.Email.EmailVisibility
instance GHC.Show.Show GitHub.Data.Email.EmailVisibility
instance GHC.Generics.Generic GitHub.Data.Email.Email
instance GHC.Classes.Ord GitHub.Data.Email.Email
instance GHC.Classes.Eq GitHub.Data.Email.Email
instance Data.Data.Data GitHub.Data.Email.Email
instance GHC.Show.Show GitHub.Data.Email.Email
instance Control.DeepSeq.NFData GitHub.Data.Email.Email
instance Data.Binary.Class.Binary GitHub.Data.Email.Email
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Email.Email
instance Control.DeepSeq.NFData GitHub.Data.Email.EmailVisibility
instance Data.Binary.Class.Binary GitHub.Data.Email.EmailVisibility
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Email.EmailVisibility
module GitHub.Data.DeployKeys
data RepoDeployKey
RepoDeployKey :: !Id RepoDeployKey -> !Text -> !URL -> !Text -> !Bool -> !UTCTime -> !Bool -> RepoDeployKey
[repoDeployKeyId] :: RepoDeployKey -> !Id RepoDeployKey
[repoDeployKeyKey] :: RepoDeployKey -> !Text
[repoDeployKeyUrl] :: RepoDeployKey -> !URL
[repoDeployKeyTitle] :: RepoDeployKey -> !Text
[repoDeployKeyVerified] :: RepoDeployKey -> !Bool
[repoDeployKeyCreatedAt] :: RepoDeployKey -> !UTCTime
[repoDeployKeyReadOnly] :: RepoDeployKey -> !Bool
data NewRepoDeployKey
NewRepoDeployKey :: !Text -> !Text -> !Bool -> NewRepoDeployKey
[newRepoDeployKeyKey] :: NewRepoDeployKey -> !Text
[newRepoDeployKeyTitle] :: NewRepoDeployKey -> !Text
[newRepoDeployKeyReadOnly] :: NewRepoDeployKey -> !Bool
instance GHC.Generics.Generic GitHub.Data.DeployKeys.RepoDeployKey
instance GHC.Classes.Ord GitHub.Data.DeployKeys.RepoDeployKey
instance GHC.Classes.Eq GitHub.Data.DeployKeys.RepoDeployKey
instance Data.Data.Data GitHub.Data.DeployKeys.RepoDeployKey
instance GHC.Show.Show GitHub.Data.DeployKeys.RepoDeployKey
instance GHC.Generics.Generic GitHub.Data.DeployKeys.NewRepoDeployKey
instance GHC.Classes.Ord GitHub.Data.DeployKeys.NewRepoDeployKey
instance GHC.Classes.Eq GitHub.Data.DeployKeys.NewRepoDeployKey
instance Data.Data.Data GitHub.Data.DeployKeys.NewRepoDeployKey
instance GHC.Show.Show GitHub.Data.DeployKeys.NewRepoDeployKey
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.DeployKeys.NewRepoDeployKey
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.DeployKeys.NewRepoDeployKey
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.DeployKeys.RepoDeployKey
module GitHub.Data.Definitions
-- | Errors have been tagged according to their source, so you can more
-- easily dispatch and handle them.
data Error
-- | A HTTP error occurred. The actual caught error is included.
HTTPError :: !HttpException -> Error
-- | An error in the parser itself.
ParseError :: !Text -> Error
-- | The JSON is malformed or unexpected.
JsonError :: !Text -> Error
-- | Incorrect input.
UserError :: !Text -> Error
-- | Type of the repository owners.
data OwnerType
OwnerUser :: OwnerType
OwnerOrganization :: OwnerType
OwnerBot :: OwnerType
data SimpleUser
SimpleUser :: !Id User -> !Name User -> !URL -> !URL -> SimpleUser
[simpleUserId] :: SimpleUser -> !Id User
[simpleUserLogin] :: SimpleUser -> !Name User
[simpleUserAvatarUrl] :: SimpleUser -> !URL
[simpleUserUrl] :: SimpleUser -> !URL
data SimpleOrganization
SimpleOrganization :: !Id Organization -> !Name Organization -> !URL -> !URL -> SimpleOrganization
[simpleOrganizationId] :: SimpleOrganization -> !Id Organization
[simpleOrganizationLogin] :: SimpleOrganization -> !Name Organization
[simpleOrganizationUrl] :: SimpleOrganization -> !URL
[simpleOrganizationAvatarUrl] :: SimpleOrganization -> !URL
-- | Sometimes we don't know the type of the owner, e.g. in Repo
data SimpleOwner
SimpleOwner :: !Id Owner -> !Name Owner -> !URL -> !URL -> !OwnerType -> SimpleOwner
[simpleOwnerId] :: SimpleOwner -> !Id Owner
[simpleOwnerLogin] :: SimpleOwner -> !Name Owner
[simpleOwnerUrl] :: SimpleOwner -> !URL
[simpleOwnerAvatarUrl] :: SimpleOwner -> !URL
[simpleOwnerType] :: SimpleOwner -> !OwnerType
data User
User :: !Id User -> !Name User -> !Maybe Text -> !OwnerType -> !UTCTime -> !Int -> !URL -> !Int -> !Int -> !Maybe Bool -> !Maybe Text -> !Maybe Text -> !Int -> !Maybe Text -> !Maybe Text -> !Maybe Text -> !URL -> !URL -> User
[userId] :: User -> !Id User
[userLogin] :: User -> !Name User
[userName] :: User -> !Maybe Text
-- | Should always be OwnerUser or OwnerBot
[userType] :: User -> !OwnerType
[userCreatedAt] :: User -> !UTCTime
[userPublicGists] :: User -> !Int
[userAvatarUrl] :: User -> !URL
[userFollowers] :: User -> !Int
[userFollowing] :: User -> !Int
[userHireable] :: User -> !Maybe Bool
[userBlog] :: User -> !Maybe Text
[userBio] :: User -> !Maybe Text
[userPublicRepos] :: User -> !Int
[userLocation] :: User -> !Maybe Text
[userCompany] :: User -> !Maybe Text
[userEmail] :: User -> !Maybe Text
[userUrl] :: User -> !URL
[userHtmlUrl] :: User -> !URL
data Organization
Organization :: !Id Organization -> !Name Organization -> !Maybe Text -> !OwnerType -> !Maybe Text -> !Maybe Text -> !Int -> !Maybe Text -> !URL -> !Int -> !URL -> !Maybe Text -> !Int -> !Int -> !URL -> !UTCTime -> Organization
[organizationId] :: Organization -> !Id Organization
[organizationLogin] :: Organization -> !Name Organization
[organizationName] :: Organization -> !Maybe Text
-- | Should always be OwnerOrganization
[organizationType] :: Organization -> !OwnerType
[organizationBlog] :: Organization -> !Maybe Text
[organizationLocation] :: Organization -> !Maybe Text
[organizationFollowers] :: Organization -> !Int
[organizationCompany] :: Organization -> !Maybe Text
[organizationAvatarUrl] :: Organization -> !URL
[organizationPublicGists] :: Organization -> !Int
[organizationHtmlUrl] :: Organization -> !URL
[organizationEmail] :: Organization -> !Maybe Text
[organizationFollowing] :: Organization -> !Int
[organizationPublicRepos] :: Organization -> !Int
[organizationUrl] :: Organization -> !URL
[organizationCreatedAt] :: Organization -> !UTCTime
-- | In practice you can't have concrete values of Owner.
newtype Owner
Owner :: Either User Organization -> Owner
fromOwner :: Owner -> Either User Organization
parseUser :: Object -> Parser User
parseOrganization :: Object -> Parser Organization
-- | Filter members returned in the list.
data OrgMemberFilter
-- | Members without two-factor authentication enabled. Available for
-- organization owners.
OrgMemberFilter2faDisabled :: OrgMemberFilter
-- | All members the authenticated user can see.
OrgMemberFilterAll :: OrgMemberFilter
-- | Filter members returned by their role.
data OrgMemberRole
-- | All members of the organization, regardless of role.
OrgMemberRoleAll :: OrgMemberRole
-- | Organization owners.
OrgMemberRoleAdmin :: OrgMemberRole
-- | Non-owner organization members.
OrgMemberRoleMember :: OrgMemberRole
-- | Request query string
type QueryString = [(ByteString, Maybe ByteString)]
-- | Count of elements
type Count = Int
newtype IssueNumber
IssueNumber :: Int -> IssueNumber
unIssueNumber :: IssueNumber -> Int
data IssueLabel
IssueLabel :: !Text -> !URL -> !Name IssueLabel -> !Maybe Text -> IssueLabel
[labelColor] :: IssueLabel -> !Text
[labelUrl] :: IssueLabel -> !URL
[labelName] :: IssueLabel -> !Name IssueLabel
[labelDesc] :: IssueLabel -> !Maybe Text
data NewIssueLabel
NewIssueLabel :: !Text -> !Name NewIssueLabel -> !Maybe Text -> NewIssueLabel
[newLabelColor] :: NewIssueLabel -> !Text
[newLabelName] :: NewIssueLabel -> !Name NewIssueLabel
[newLabelDesc] :: NewIssueLabel -> !Maybe Text
data UpdateIssueLabel
UpdateIssueLabel :: !Text -> !Name UpdateIssueLabel -> !Maybe Text -> UpdateIssueLabel
[updateLabelColor] :: UpdateIssueLabel -> !Text
[updateLabelName] :: UpdateIssueLabel -> !Name UpdateIssueLabel
[updateLabelDesc] :: UpdateIssueLabel -> !Maybe Text
instance GHC.Show.Show GitHub.Data.Definitions.Error
instance Data.Data.Data GitHub.Data.Definitions.OwnerType
instance GHC.Generics.Generic GitHub.Data.Definitions.OwnerType
instance GHC.Read.Read GitHub.Data.Definitions.OwnerType
instance GHC.Show.Show GitHub.Data.Definitions.OwnerType
instance GHC.Enum.Bounded GitHub.Data.Definitions.OwnerType
instance GHC.Enum.Enum GitHub.Data.Definitions.OwnerType
instance GHC.Classes.Ord GitHub.Data.Definitions.OwnerType
instance GHC.Classes.Eq GitHub.Data.Definitions.OwnerType
instance GHC.Generics.Generic GitHub.Data.Definitions.User
instance GHC.Classes.Ord GitHub.Data.Definitions.User
instance GHC.Classes.Eq GitHub.Data.Definitions.User
instance Data.Data.Data GitHub.Data.Definitions.User
instance GHC.Show.Show GitHub.Data.Definitions.User
instance GHC.Generics.Generic GitHub.Data.Definitions.SimpleUser
instance GHC.Classes.Ord GitHub.Data.Definitions.SimpleUser
instance GHC.Classes.Eq GitHub.Data.Definitions.SimpleUser
instance Data.Data.Data GitHub.Data.Definitions.SimpleUser
instance GHC.Show.Show GitHub.Data.Definitions.SimpleUser
instance GHC.Generics.Generic GitHub.Data.Definitions.Organization
instance GHC.Classes.Ord GitHub.Data.Definitions.Organization
instance GHC.Classes.Eq GitHub.Data.Definitions.Organization
instance Data.Data.Data GitHub.Data.Definitions.Organization
instance GHC.Show.Show GitHub.Data.Definitions.Organization
instance GHC.Generics.Generic GitHub.Data.Definitions.SimpleOrganization
instance GHC.Classes.Ord GitHub.Data.Definitions.SimpleOrganization
instance GHC.Classes.Eq GitHub.Data.Definitions.SimpleOrganization
instance Data.Data.Data GitHub.Data.Definitions.SimpleOrganization
instance GHC.Show.Show GitHub.Data.Definitions.SimpleOrganization
instance GHC.Generics.Generic GitHub.Data.Definitions.Owner
instance GHC.Classes.Ord GitHub.Data.Definitions.Owner
instance GHC.Classes.Eq GitHub.Data.Definitions.Owner
instance Data.Data.Data GitHub.Data.Definitions.Owner
instance GHC.Show.Show GitHub.Data.Definitions.Owner
instance GHC.Generics.Generic GitHub.Data.Definitions.SimpleOwner
instance GHC.Classes.Ord GitHub.Data.Definitions.SimpleOwner
instance GHC.Classes.Eq GitHub.Data.Definitions.SimpleOwner
instance Data.Data.Data GitHub.Data.Definitions.SimpleOwner
instance GHC.Show.Show GitHub.Data.Definitions.SimpleOwner
instance GHC.Generics.Generic GitHub.Data.Definitions.OrgMemberFilter
instance Data.Data.Data GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Enum.Bounded GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Enum.Enum GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Classes.Ord GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Classes.Eq GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Show.Show GitHub.Data.Definitions.OrgMemberFilter
instance GHC.Generics.Generic GitHub.Data.Definitions.OrgMemberRole
instance Data.Data.Data GitHub.Data.Definitions.OrgMemberRole
instance GHC.Enum.Bounded GitHub.Data.Definitions.OrgMemberRole
instance GHC.Enum.Enum GitHub.Data.Definitions.OrgMemberRole
instance GHC.Classes.Ord GitHub.Data.Definitions.OrgMemberRole
instance GHC.Classes.Eq GitHub.Data.Definitions.OrgMemberRole
instance GHC.Show.Show GitHub.Data.Definitions.OrgMemberRole
instance Data.Data.Data GitHub.Data.Definitions.IssueNumber
instance GHC.Generics.Generic GitHub.Data.Definitions.IssueNumber
instance GHC.Show.Show GitHub.Data.Definitions.IssueNumber
instance GHC.Classes.Ord GitHub.Data.Definitions.IssueNumber
instance GHC.Classes.Eq GitHub.Data.Definitions.IssueNumber
instance GHC.Generics.Generic GitHub.Data.Definitions.IssueLabel
instance GHC.Classes.Ord GitHub.Data.Definitions.IssueLabel
instance GHC.Classes.Eq GitHub.Data.Definitions.IssueLabel
instance Data.Data.Data GitHub.Data.Definitions.IssueLabel
instance GHC.Show.Show GitHub.Data.Definitions.IssueLabel
instance GHC.Generics.Generic GitHub.Data.Definitions.NewIssueLabel
instance GHC.Classes.Ord GitHub.Data.Definitions.NewIssueLabel
instance GHC.Classes.Eq GitHub.Data.Definitions.NewIssueLabel
instance Data.Data.Data GitHub.Data.Definitions.NewIssueLabel
instance GHC.Show.Show GitHub.Data.Definitions.NewIssueLabel
instance GHC.Generics.Generic GitHub.Data.Definitions.UpdateIssueLabel
instance GHC.Classes.Ord GitHub.Data.Definitions.UpdateIssueLabel
instance GHC.Classes.Eq GitHub.Data.Definitions.UpdateIssueLabel
instance Data.Data.Data GitHub.Data.Definitions.UpdateIssueLabel
instance GHC.Show.Show GitHub.Data.Definitions.UpdateIssueLabel
instance Control.DeepSeq.NFData GitHub.Data.Definitions.UpdateIssueLabel
instance Data.Binary.Class.Binary GitHub.Data.Definitions.UpdateIssueLabel
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Definitions.UpdateIssueLabel
instance Control.DeepSeq.NFData GitHub.Data.Definitions.NewIssueLabel
instance Data.Binary.Class.Binary GitHub.Data.Definitions.NewIssueLabel
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Definitions.NewIssueLabel
instance Control.DeepSeq.NFData GitHub.Data.Definitions.IssueLabel
instance Data.Binary.Class.Binary GitHub.Data.Definitions.IssueLabel
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.IssueLabel
instance Data.Hashable.Class.Hashable GitHub.Data.Definitions.IssueNumber
instance Data.Binary.Class.Binary GitHub.Data.Definitions.IssueNumber
instance Control.DeepSeq.NFData GitHub.Data.Definitions.IssueNumber
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.IssueNumber
instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Definitions.IssueNumber
instance Control.DeepSeq.NFData GitHub.Data.Definitions.SimpleOwner
instance Data.Binary.Class.Binary GitHub.Data.Definitions.SimpleOwner
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.SimpleOwner
instance Control.DeepSeq.NFData GitHub.Data.Definitions.Owner
instance Data.Binary.Class.Binary GitHub.Data.Definitions.Owner
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.Owner
instance Control.DeepSeq.NFData GitHub.Data.Definitions.SimpleOrganization
instance Data.Binary.Class.Binary GitHub.Data.Definitions.SimpleOrganization
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.SimpleOrganization
instance Control.DeepSeq.NFData GitHub.Data.Definitions.Organization
instance Data.Binary.Class.Binary GitHub.Data.Definitions.Organization
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.Organization
instance Control.DeepSeq.NFData GitHub.Data.Definitions.SimpleUser
instance Data.Binary.Class.Binary GitHub.Data.Definitions.SimpleUser
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.SimpleUser
instance Control.DeepSeq.NFData GitHub.Data.Definitions.User
instance Data.Binary.Class.Binary GitHub.Data.Definitions.User
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.User
instance Control.DeepSeq.NFData GitHub.Data.Definitions.OwnerType
instance Data.Binary.Class.Binary GitHub.Data.Definitions.OwnerType
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Definitions.OwnerType
instance GHC.Exception.Type.Exception GitHub.Data.Definitions.Error
module GitHub.Data.Reviews
data ReviewState
ReviewStatePending :: ReviewState
ReviewStateApproved :: ReviewState
ReviewStateDismissed :: ReviewState
ReviewStateCommented :: ReviewState
ReviewStateChangesRequested :: ReviewState
data Review
Review :: !Text -> !Text -> ReviewState -> !Maybe UTCTime -> !URL -> !Text -> !SimpleUser -> !Id Review -> Review
[reviewBody] :: Review -> !Text
[reviewCommitId] :: Review -> !Text
[reviewState] :: Review -> ReviewState
[reviewSubmittedAt] :: Review -> !Maybe UTCTime
[reviewPullRequestUrl] :: Review -> !URL
[reviewHtmlUrl] :: Review -> !Text
[reviewUser] :: Review -> !SimpleUser
[reviewId] :: Review -> !Id Review
data ReviewComment
ReviewComment :: !Id ReviewComment -> !SimpleUser -> !Text -> !URL -> !Id Review -> !Text -> !Text -> !Int -> !Int -> !Text -> !Text -> !UTCTime -> !UTCTime -> !URL -> !URL -> ReviewComment
[reviewCommentId] :: ReviewComment -> !Id ReviewComment
[reviewCommentUser] :: ReviewComment -> !SimpleUser
[reviewCommentBody] :: ReviewComment -> !Text
[reviewCommentUrl] :: ReviewComment -> !URL
[reviewCommentPullRequestReviewId] :: ReviewComment -> !Id Review
[reviewCommentDiffHunk] :: ReviewComment -> !Text
[reviewCommentPath] :: ReviewComment -> !Text
[reviewCommentPosition] :: ReviewComment -> !Int
[reviewCommentOriginalPosition] :: ReviewComment -> !Int
[reviewCommentCommitId] :: ReviewComment -> !Text
[reviewCommentOriginalCommitId] :: ReviewComment -> !Text
[reviewCommentCreatedAt] :: ReviewComment -> !UTCTime
[reviewCommentUpdatedAt] :: ReviewComment -> !UTCTime
[reviewCommentHtmlUrl] :: ReviewComment -> !URL
[reviewCommentPullRequestUrl] :: ReviewComment -> !URL
instance GHC.Generics.Generic GitHub.Data.Reviews.ReviewState
instance GHC.Classes.Ord GitHub.Data.Reviews.ReviewState
instance GHC.Classes.Eq GitHub.Data.Reviews.ReviewState
instance GHC.Enum.Bounded GitHub.Data.Reviews.ReviewState
instance GHC.Enum.Enum GitHub.Data.Reviews.ReviewState
instance GHC.Show.Show GitHub.Data.Reviews.ReviewState
instance GHC.Generics.Generic GitHub.Data.Reviews.Review
instance GHC.Show.Show GitHub.Data.Reviews.Review
instance GHC.Generics.Generic GitHub.Data.Reviews.ReviewComment
instance GHC.Show.Show GitHub.Data.Reviews.ReviewComment
instance Control.DeepSeq.NFData GitHub.Data.Reviews.ReviewComment
instance Data.Binary.Class.Binary GitHub.Data.Reviews.ReviewComment
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Reviews.ReviewComment
instance Control.DeepSeq.NFData GitHub.Data.Reviews.Review
instance Data.Binary.Class.Binary GitHub.Data.Reviews.Review
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Reviews.Review
instance Control.DeepSeq.NFData GitHub.Data.Reviews.ReviewState
instance Data.Binary.Class.Binary GitHub.Data.Reviews.ReviewState
instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Reviews.ReviewState
module GitHub.Data.Request
-- | Most requests ask for JSON.
type Request = GenRequest 'MtJSON
-- | Github request data type.
--
-- -- application/vnd.github.v3+json --MtJSON :: MediaType a -- | application/vnd.github.v3.raw -- https://developer.github.com/v3/media/#raw-1 MtRaw :: MediaType a -- | application/vnd.github.v3.diff -- https://developer.github.com/v3/media/#diff MtDiff :: MediaType a -- | application/vnd.github.v3.patch -- https://developer.github.com/v3/media/#patch MtPatch :: MediaType a -- | application/vnd.github.v3.sha -- https://developer.github.com/v3/media/#sha MtSha :: MediaType a -- | application/vnd.github.v3.star+json -- https://developer.github.com/v3/activity/starring/#alternative-response-with-star-creation-timestamps-1 MtStar :: MediaType a -- | -- https://developer.github.com/v3/repos/contents/#get-archive-link MtRedirect :: MediaType a -- | Parse status MtStatus :: MediaType a -- | Always succeeds MtUnit :: MediaType a -- | Some other (preview) type; this is an extension point. MtPreview :: a -> MediaType a type Paths = [Text] class IsPathPart a toPathPart :: IsPathPart a => a -> Text -- | Request query string type QueryString = [(ByteString, Maybe ByteString)] -- | Count of elements type Count = Int instance GHC.Generics.Generic GitHub.Data.Request.CommandMethod instance Data.Data.Data GitHub.Data.Request.CommandMethod instance GHC.Enum.Bounded GitHub.Data.Request.CommandMethod instance GHC.Enum.Enum GitHub.Data.Request.CommandMethod instance GHC.Show.Show GitHub.Data.Request.CommandMethod instance GHC.Read.Read GitHub.Data.Request.CommandMethod instance GHC.Classes.Ord GitHub.Data.Request.CommandMethod instance GHC.Classes.Eq GitHub.Data.Request.CommandMethod instance GHC.Generics.Generic GitHub.Data.Request.FetchCount instance GHC.Show.Show GitHub.Data.Request.FetchCount instance GHC.Read.Read GitHub.Data.Request.FetchCount instance GHC.Classes.Ord GitHub.Data.Request.FetchCount instance GHC.Classes.Eq GitHub.Data.Request.FetchCount instance GHC.Generics.Generic (GitHub.Data.Request.MediaType a) instance Data.Data.Data a => Data.Data.Data (GitHub.Data.Request.MediaType a) instance GHC.Show.Show a => GHC.Show.Show (GitHub.Data.Request.MediaType a) instance GHC.Read.Read a => GHC.Read.Read (GitHub.Data.Request.MediaType a) instance GHC.Classes.Ord a => GHC.Classes.Ord (GitHub.Data.Request.MediaType a) instance GHC.Classes.Eq a => GHC.Classes.Eq (GitHub.Data.Request.MediaType a) instance GHC.Generics.Generic GitHub.Data.Request.RW instance Data.Data.Data GitHub.Data.Request.RW instance GHC.Enum.Bounded GitHub.Data.Request.RW instance GHC.Enum.Enum GitHub.Data.Request.RW instance GHC.Show.Show GitHub.Data.Request.RW instance GHC.Read.Read GitHub.Data.Request.RW instance GHC.Classes.Ord GitHub.Data.Request.RW instance GHC.Classes.Eq GitHub.Data.Request.RW instance GHC.Classes.Eq (GitHub.Data.Request.GenRequest rw mt a) instance GHC.Classes.Ord (GitHub.Data.Request.GenRequest rw mt a) instance GHC.Show.Show (GitHub.Data.Request.GenRequest rw mt a) instance Data.Hashable.Class.Hashable (GitHub.Data.Request.GenRequest rw mt a) instance GHC.Num.Num GitHub.Data.Request.FetchCount instance Data.Hashable.Class.Hashable GitHub.Data.Request.FetchCount instance Data.Binary.Class.Binary GitHub.Data.Request.FetchCount instance Control.DeepSeq.NFData GitHub.Data.Request.FetchCount instance Data.Hashable.Class.Hashable GitHub.Data.Request.CommandMethod instance GitHub.Data.Request.IsPathPart (GitHub.Data.Name.Name a) instance GitHub.Data.Request.IsPathPart (GitHub.Data.Id.Id a) instance GitHub.Data.Request.IsPathPart GitHub.Data.Definitions.IssueNumber -- | This module also exports FromJSON a => FromJSON -- (HashMap Language a) orphan-ish instance for -- aeson < 1 module GitHub.Data.Repos data Repo Repo :: !Id Repo -> !Name Repo -> !SimpleOwner -> !Bool -> !URL -> !Maybe Text -> !Maybe Bool -> !URL -> !Maybe URL -> !Maybe URL -> !Maybe URL -> !URL -> !Maybe URL -> !Maybe Text -> !Maybe Language -> !Int -> !Int -> !Int -> !Maybe Int -> !Maybe Text -> !Int -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Bool -> !Bool -> !Maybe UTCTime -> !Maybe UTCTime -> !Maybe UTCTime -> !Maybe RepoPermissions -> Repo [repoId] :: Repo -> !Id Repo [repoName] :: Repo -> !Name Repo [repoOwner] :: Repo -> !SimpleOwner [repoPrivate] :: Repo -> !Bool [repoHtmlUrl] :: Repo -> !URL [repoDescription] :: Repo -> !Maybe Text [repoFork] :: Repo -> !Maybe Bool [repoUrl] :: Repo -> !URL [repoGitUrl] :: Repo -> !Maybe URL [repoSshUrl] :: Repo -> !Maybe URL [repoCloneUrl] :: Repo -> !Maybe URL [repoHooksUrl] :: Repo -> !URL [repoSvnUrl] :: Repo -> !Maybe URL [repoHomepage] :: Repo -> !Maybe Text [repoLanguage] :: Repo -> !Maybe Language [repoForksCount] :: Repo -> !Int [repoStargazersCount] :: Repo -> !Int [repoWatchersCount] :: Repo -> !Int [repoSize] :: Repo -> !Maybe Int [repoDefaultBranch] :: Repo -> !Maybe Text [repoOpenIssuesCount] :: Repo -> !Int [repoHasIssues] :: Repo -> !Maybe Bool [repoHasProjects] :: Repo -> !Maybe Bool [repoHasWiki] :: Repo -> !Maybe Bool [repoHasPages] :: Repo -> !Maybe Bool [repoHasDownloads] :: Repo -> !Maybe Bool [repoArchived] :: Repo -> !Bool [repoDisabled] :: Repo -> !Bool -- | this is Nothing for new repositories [repoPushedAt] :: Repo -> !Maybe UTCTime [repoCreatedAt] :: Repo -> !Maybe UTCTime [repoUpdatedAt] :: Repo -> !Maybe UTCTime -- | Repository permissions as they relate to the authenticated user. [repoPermissions] :: Repo -> !Maybe RepoPermissions data CodeSearchRepo CodeSearchRepo :: !Id Repo -> !Name Repo -> !SimpleOwner -> !Bool -> !URL -> !Maybe Text -> !Maybe Bool -> !URL -> !Maybe URL -> !Maybe URL -> !Maybe URL -> !URL -> !Maybe URL -> !Maybe Text -> !Maybe Language -> !Maybe Int -> !Maybe Text -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Bool -> !Bool -> !Maybe UTCTime -> !Maybe UTCTime -> !Maybe UTCTime -> !Maybe RepoPermissions -> CodeSearchRepo [codeSearchRepoId] :: CodeSearchRepo -> !Id Repo [codeSearchRepoName] :: CodeSearchRepo -> !Name Repo [codeSearchRepoOwner] :: CodeSearchRepo -> !SimpleOwner [codeSearchRepoPrivate] :: CodeSearchRepo -> !Bool [codeSearchRepoHtmlUrl] :: CodeSearchRepo -> !URL [codeSearchRepoDescription] :: CodeSearchRepo -> !Maybe Text [codeSearchRepoFork] :: CodeSearchRepo -> !Maybe Bool [codeSearchRepoUrl] :: CodeSearchRepo -> !URL [codeSearchRepoGitUrl] :: CodeSearchRepo -> !Maybe URL [codeSearchRepoSshUrl] :: CodeSearchRepo -> !Maybe URL [codeSearchRepoCloneUrl] :: CodeSearchRepo -> !Maybe URL [codeSearchRepoHooksUrl] :: CodeSearchRepo -> !URL [codeSearchRepoSvnUrl] :: CodeSearchRepo -> !Maybe URL [codeSearchRepoHomepage] :: CodeSearchRepo -> !Maybe Text [codeSearchRepoLanguage] :: CodeSearchRepo -> !Maybe Language [codeSearchRepoSize] :: CodeSearchRepo -> !Maybe Int [codeSearchRepoDefaultBranch] :: CodeSearchRepo -> !Maybe Text [codeSearchRepoHasIssues] :: CodeSearchRepo -> !Maybe Bool [codeSearchRepoHasProjects] :: CodeSearchRepo -> !Maybe Bool [codeSearchRepoHasWiki] :: CodeSearchRepo -> !Maybe Bool [codeSearchRepoHasPages] :: CodeSearchRepo -> !Maybe Bool [codeSearchRepoHasDownloads] :: CodeSearchRepo -> !Maybe Bool [codeSearchRepoArchived] :: CodeSearchRepo -> !Bool [codeSearchRepoDisabled] :: CodeSearchRepo -> !Bool -- | this is Nothing for new repositories [codeSearchRepoPushedAt] :: CodeSearchRepo -> !Maybe UTCTime [codeSearchRepoCreatedAt] :: CodeSearchRepo -> !Maybe UTCTime [codeSearchRepoUpdatedAt] :: CodeSearchRepo -> !Maybe UTCTime -- | Repository permissions as they relate to the authenticated user. [codeSearchRepoPermissions] :: CodeSearchRepo -> !Maybe RepoPermissions -- | Repository permissions, as they relate to the authenticated user. -- -- Returned by for example currentUserReposR data RepoPermissions RepoPermissions :: !Bool -> !Bool -> !Bool -> RepoPermissions [repoPermissionAdmin] :: RepoPermissions -> !Bool [repoPermissionPush] :: RepoPermissions -> !Bool [repoPermissionPull] :: RepoPermissions -> !Bool data RepoRef RepoRef :: !SimpleOwner -> !Name Repo -> RepoRef [repoRefOwner] :: RepoRef -> !SimpleOwner [repoRefRepo] :: RepoRef -> !Name Repo data NewRepo NewRepo :: !Name Repo -> !Maybe Text -> !Maybe Text -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Text -> !Maybe Text -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> NewRepo [newRepoName] :: NewRepo -> !Name Repo [newRepoDescription] :: NewRepo -> !Maybe Text [newRepoHomepage] :: NewRepo -> !Maybe Text [newRepoPrivate] :: NewRepo -> !Maybe Bool [newRepoHasIssues] :: NewRepo -> !Maybe Bool [newRepoHasProjects] :: NewRepo -> !Maybe Bool [newRepoHasWiki] :: NewRepo -> !Maybe Bool [newRepoAutoInit] :: NewRepo -> !Maybe Bool [newRepoGitignoreTemplate] :: NewRepo -> !Maybe Text [newRepoLicenseTemplate] :: NewRepo -> !Maybe Text [newRepoAllowSquashMerge] :: NewRepo -> !Maybe Bool [newRepoAllowMergeCommit] :: NewRepo -> !Maybe Bool [newRepoAllowRebaseMerge] :: NewRepo -> !Maybe Bool newRepo :: Name Repo -> NewRepo data EditRepo EditRepo :: !Maybe (Name Repo) -> !Maybe Text -> !Maybe Text -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Text -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> !Maybe Bool -> EditRepo [editName] :: EditRepo -> !Maybe (Name Repo) [editDescription] :: EditRepo -> !Maybe Text [editHomepage] :: EditRepo -> !Maybe Text [editPrivate] :: EditRepo -> !Maybe Bool [editHasIssues] :: EditRepo -> !Maybe Bool [editHasProjects] :: EditRepo -> !Maybe Bool [editHasWiki] :: EditRepo -> !Maybe Bool [editDefaultBranch] :: EditRepo -> !Maybe Text [editAllowSquashMerge] :: EditRepo -> !Maybe Bool [editAllowMergeCommit] :: EditRepo -> !Maybe Bool [editAllowRebaseMerge] :: EditRepo -> !Maybe Bool [editArchived] :: EditRepo -> !Maybe Bool -- | Filter the list of the user's repos using any of these constructors. data RepoPublicity -- | All repos accessible to the user. RepoPublicityAll :: RepoPublicity -- | Only repos owned by the user. RepoPublicityOwner :: RepoPublicity -- | Only public repos. RepoPublicityPublic :: RepoPublicity -- | Only private repos. RepoPublicityPrivate :: RepoPublicity -- | Only repos to which the user is a member but not an owner. RepoPublicityMember :: RepoPublicity -- | The value is the number of bytes of code written in that language. type Languages = HashMap Language Int -- | A programming language. newtype Language Language :: Text -> Language getLanguage :: Language -> Text data Contributor -- | An existing Github user, with their number of contributions, avatar -- URL, login, URL, ID, and Gravatar ID. KnownContributor :: !Int -> !URL -> !Name User -> !URL -> !Id User -> !Text -> Contributor -- | An unknown Github user with their number of contributions and recorded -- name. AnonymousContributor :: !Int -> !Text -> Contributor contributorToSimpleUser :: Contributor -> Maybe SimpleUser -- | The permission of a collaborator on a repository. See -- https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level data CollaboratorPermission CollaboratorPermissionAdmin :: CollaboratorPermission CollaboratorPermissionWrite :: CollaboratorPermission CollaboratorPermissionRead :: CollaboratorPermission CollaboratorPermissionNone :: CollaboratorPermission -- | A collaborator and its permission on a repository. See -- https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level data CollaboratorWithPermission CollaboratorWithPermission :: SimpleUser -> CollaboratorPermission -> CollaboratorWithPermission data ArchiveFormat -- | ".tar.gz" format ArchiveFormatTarball :: ArchiveFormat -- | ".zip" format ArchiveFormatZipball :: ArchiveFormat instance GHC.Generics.Generic GitHub.Data.Repos.RepoPermissions instance GHC.Classes.Ord GitHub.Data.Repos.RepoPermissions instance GHC.Classes.Eq GitHub.Data.Repos.RepoPermissions instance Data.Data.Data GitHub.Data.Repos.RepoPermissions instance GHC.Show.Show GitHub.Data.Repos.RepoPermissions instance GHC.Generics.Generic GitHub.Data.Repos.RepoPublicity instance Data.Data.Data GitHub.Data.Repos.RepoPublicity instance GHC.Enum.Bounded GitHub.Data.Repos.RepoPublicity instance GHC.Enum.Enum GitHub.Data.Repos.RepoPublicity instance GHC.Classes.Ord GitHub.Data.Repos.RepoPublicity instance GHC.Classes.Eq GitHub.Data.Repos.RepoPublicity instance GHC.Show.Show GitHub.Data.Repos.RepoPublicity instance GHC.Generics.Generic GitHub.Data.Repos.Language instance GHC.Classes.Ord GitHub.Data.Repos.Language instance GHC.Classes.Eq GitHub.Data.Repos.Language instance Data.Data.Data GitHub.Data.Repos.Language instance GHC.Show.Show GitHub.Data.Repos.Language instance GHC.Generics.Generic GitHub.Data.Repos.Repo instance GHC.Classes.Ord GitHub.Data.Repos.Repo instance GHC.Classes.Eq GitHub.Data.Repos.Repo instance Data.Data.Data GitHub.Data.Repos.Repo instance GHC.Show.Show GitHub.Data.Repos.Repo instance GHC.Generics.Generic GitHub.Data.Repos.EditRepo instance Data.Data.Data GitHub.Data.Repos.EditRepo instance GHC.Show.Show GitHub.Data.Repos.EditRepo instance GHC.Classes.Ord GitHub.Data.Repos.EditRepo instance GHC.Classes.Eq GitHub.Data.Repos.EditRepo instance GHC.Generics.Generic GitHub.Data.Repos.NewRepo instance Data.Data.Data GitHub.Data.Repos.NewRepo instance GHC.Show.Show GitHub.Data.Repos.NewRepo instance GHC.Classes.Ord GitHub.Data.Repos.NewRepo instance GHC.Classes.Eq GitHub.Data.Repos.NewRepo instance GHC.Generics.Generic GitHub.Data.Repos.RepoRef instance GHC.Classes.Ord GitHub.Data.Repos.RepoRef instance GHC.Classes.Eq GitHub.Data.Repos.RepoRef instance Data.Data.Data GitHub.Data.Repos.RepoRef instance GHC.Show.Show GitHub.Data.Repos.RepoRef instance GHC.Generics.Generic GitHub.Data.Repos.CodeSearchRepo instance GHC.Classes.Ord GitHub.Data.Repos.CodeSearchRepo instance GHC.Classes.Eq GitHub.Data.Repos.CodeSearchRepo instance Data.Data.Data GitHub.Data.Repos.CodeSearchRepo instance GHC.Show.Show GitHub.Data.Repos.CodeSearchRepo instance GHC.Generics.Generic GitHub.Data.Repos.Contributor instance GHC.Classes.Ord GitHub.Data.Repos.Contributor instance GHC.Classes.Eq GitHub.Data.Repos.Contributor instance Data.Data.Data GitHub.Data.Repos.Contributor instance GHC.Show.Show GitHub.Data.Repos.Contributor instance GHC.Generics.Generic GitHub.Data.Repos.CollaboratorPermission instance GHC.Classes.Ord GitHub.Data.Repos.CollaboratorPermission instance GHC.Classes.Eq GitHub.Data.Repos.CollaboratorPermission instance GHC.Enum.Bounded GitHub.Data.Repos.CollaboratorPermission instance GHC.Enum.Enum GitHub.Data.Repos.CollaboratorPermission instance Data.Data.Data GitHub.Data.Repos.CollaboratorPermission instance GHC.Show.Show GitHub.Data.Repos.CollaboratorPermission instance GHC.Generics.Generic GitHub.Data.Repos.CollaboratorWithPermission instance GHC.Classes.Ord GitHub.Data.Repos.CollaboratorWithPermission instance GHC.Classes.Eq GitHub.Data.Repos.CollaboratorWithPermission instance Data.Data.Data GitHub.Data.Repos.CollaboratorWithPermission instance GHC.Show.Show GitHub.Data.Repos.CollaboratorWithPermission instance GHC.Generics.Generic GitHub.Data.Repos.ArchiveFormat instance Data.Data.Data GitHub.Data.Repos.ArchiveFormat instance GHC.Enum.Bounded GitHub.Data.Repos.ArchiveFormat instance GHC.Enum.Enum GitHub.Data.Repos.ArchiveFormat instance GHC.Classes.Ord GitHub.Data.Repos.ArchiveFormat instance GHC.Classes.Eq GitHub.Data.Repos.ArchiveFormat instance GHC.Show.Show GitHub.Data.Repos.ArchiveFormat instance GitHub.Data.Request.IsPathPart GitHub.Data.Repos.ArchiveFormat instance Control.DeepSeq.NFData GitHub.Data.Repos.CollaboratorWithPermission instance Data.Binary.Class.Binary GitHub.Data.Repos.CollaboratorWithPermission instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Repos.CollaboratorWithPermission instance Control.DeepSeq.NFData GitHub.Data.Repos.CollaboratorPermission instance Data.Binary.Class.Binary GitHub.Data.Repos.CollaboratorPermission instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Repos.CollaboratorPermission instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Repos.CollaboratorPermission instance Control.DeepSeq.NFData GitHub.Data.Repos.Contributor instance Data.Binary.Class.Binary GitHub.Data.Repos.Contributor instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Repos.Contributor instance Control.DeepSeq.NFData GitHub.Data.Repos.CodeSearchRepo instance Data.Binary.Class.Binary GitHub.Data.Repos.CodeSearchRepo instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Repos.CodeSearchRepo instance Control.DeepSeq.NFData GitHub.Data.Repos.RepoRef instance Data.Binary.Class.Binary GitHub.Data.Repos.RepoRef instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Repos.RepoRef instance Control.DeepSeq.NFData GitHub.Data.Repos.NewRepo instance Data.Binary.Class.Binary GitHub.Data.Repos.NewRepo instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Repos.NewRepo instance Control.DeepSeq.NFData GitHub.Data.Repos.EditRepo instance Data.Binary.Class.Binary GitHub.Data.Repos.EditRepo instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Repos.EditRepo instance Control.DeepSeq.NFData GitHub.Data.Repos.Repo instance Data.Binary.Class.Binary GitHub.Data.Repos.Repo instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Repos.Repo instance Control.DeepSeq.NFData GitHub.Data.Repos.Language instance Data.Binary.Class.Binary GitHub.Data.Repos.Language instance Data.Hashable.Class.Hashable GitHub.Data.Repos.Language instance Data.String.IsString GitHub.Data.Repos.Language instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Repos.Language instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Repos.Language instance Data.Aeson.Types.FromJSON.FromJSONKey GitHub.Data.Repos.Language instance Control.DeepSeq.NFData GitHub.Data.Repos.RepoPermissions instance Data.Binary.Class.Binary GitHub.Data.Repos.RepoPermissions instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Repos.RepoPermissions module GitHub.Data.Teams data Privacy PrivacyClosed :: Privacy PrivacySecret :: Privacy data Permission PermissionPull :: Permission PermissionPush :: Permission PermissionAdmin :: Permission data AddTeamRepoPermission AddTeamRepoPermission :: !Permission -> AddTeamRepoPermission [addTeamRepoPermission] :: AddTeamRepoPermission -> !Permission data SimpleTeam SimpleTeam :: !Id Team -> !URL -> !Text -> !Name Team -> !Maybe Text -> !Privacy -> !Permission -> !URL -> !URL -> SimpleTeam [simpleTeamId] :: SimpleTeam -> !Id Team [simpleTeamUrl] :: SimpleTeam -> !URL [simpleTeamName] :: SimpleTeam -> !Text [simpleTeamSlug] :: SimpleTeam -> !Name Team [simpleTeamDescription] :: SimpleTeam -> !Maybe Text [simpleTeamPrivacy] :: SimpleTeam -> !Privacy [simpleTeamPermission] :: SimpleTeam -> !Permission [simpleTeamMembersUrl] :: SimpleTeam -> !URL [simpleTeamRepositoriesUrl] :: SimpleTeam -> !URL data Team Team :: !Id Team -> !URL -> !Text -> !Name Team -> !Maybe Text -> !Privacy -> !Permission -> !URL -> !URL -> !Int -> !Int -> !SimpleOrganization -> Team [teamId] :: Team -> !Id Team [teamUrl] :: Team -> !URL [teamName] :: Team -> !Text [teamSlug] :: Team -> !Name Team [teamDescription] :: Team -> !Maybe Text [teamPrivacy] :: Team -> !Privacy [teamPermission] :: Team -> !Permission [teamMembersUrl] :: Team -> !URL [teamRepositoriesUrl] :: Team -> !URL [teamMembersCount] :: Team -> !Int [teamReposCount] :: Team -> !Int [teamOrganization] :: Team -> !SimpleOrganization data CreateTeam CreateTeam :: !Name Team -> !Maybe Text -> !Vector (Name Repo) -> !Privacy -> !Permission -> CreateTeam [createTeamName] :: CreateTeam -> !Name Team [createTeamDescription] :: CreateTeam -> !Maybe Text [createTeamRepoNames] :: CreateTeam -> !Vector (Name Repo) [createTeamPrivacy] :: CreateTeam -> !Privacy [createTeamPermission] :: CreateTeam -> !Permission data EditTeam EditTeam :: !Name Team -> !Maybe Text -> !Maybe Privacy -> !Maybe Permission -> EditTeam [editTeamName] :: EditTeam -> !Name Team [editTeamDescription] :: EditTeam -> !Maybe Text [editTeamPrivacy] :: EditTeam -> !Maybe Privacy [editTeamPermission] :: EditTeam -> !Maybe Permission data Role RoleMaintainer :: Role RoleMember :: Role data ReqState StatePending :: ReqState StateActive :: ReqState data TeamMembership TeamMembership :: !URL -> !Role -> !ReqState -> TeamMembership [teamMembershipUrl] :: TeamMembership -> !URL [teamMembershipRole] :: TeamMembership -> !Role [teamMembershipReqState] :: TeamMembership -> !ReqState data CreateTeamMembership CreateTeamMembership :: !Role -> CreateTeamMembership [createTeamMembershipRole] :: CreateTeamMembership -> !Role -- | Filters members returned by their role in the team. data TeamMemberRole -- | all members of the team. TeamMemberRoleAll :: TeamMemberRole -- | team maintainers TeamMemberRoleMaintainer :: TeamMemberRole -- | normal members of the team. TeamMemberRoleMember :: TeamMemberRole instance GHC.Generics.Generic GitHub.Data.Teams.Privacy instance GHC.Classes.Ord GitHub.Data.Teams.Privacy instance GHC.Classes.Eq GitHub.Data.Teams.Privacy instance GHC.Enum.Bounded GitHub.Data.Teams.Privacy instance GHC.Enum.Enum GitHub.Data.Teams.Privacy instance Data.Data.Data GitHub.Data.Teams.Privacy instance GHC.Show.Show GitHub.Data.Teams.Privacy instance GHC.Generics.Generic GitHub.Data.Teams.Permission instance GHC.Classes.Ord GitHub.Data.Teams.Permission instance GHC.Classes.Eq GitHub.Data.Teams.Permission instance GHC.Enum.Bounded GitHub.Data.Teams.Permission instance GHC.Enum.Enum GitHub.Data.Teams.Permission instance Data.Data.Data GitHub.Data.Teams.Permission instance GHC.Show.Show GitHub.Data.Teams.Permission instance GHC.Generics.Generic GitHub.Data.Teams.AddTeamRepoPermission instance GHC.Classes.Ord GitHub.Data.Teams.AddTeamRepoPermission instance GHC.Classes.Eq GitHub.Data.Teams.AddTeamRepoPermission instance Data.Data.Data GitHub.Data.Teams.AddTeamRepoPermission instance GHC.Show.Show GitHub.Data.Teams.AddTeamRepoPermission instance GHC.Generics.Generic GitHub.Data.Teams.Team instance GHC.Classes.Ord GitHub.Data.Teams.Team instance GHC.Classes.Eq GitHub.Data.Teams.Team instance Data.Data.Data GitHub.Data.Teams.Team instance GHC.Show.Show GitHub.Data.Teams.Team instance GHC.Generics.Generic GitHub.Data.Teams.SimpleTeam instance GHC.Classes.Ord GitHub.Data.Teams.SimpleTeam instance GHC.Classes.Eq GitHub.Data.Teams.SimpleTeam instance Data.Data.Data GitHub.Data.Teams.SimpleTeam instance GHC.Show.Show GitHub.Data.Teams.SimpleTeam instance GHC.Generics.Generic GitHub.Data.Teams.CreateTeam instance GHC.Classes.Ord GitHub.Data.Teams.CreateTeam instance GHC.Classes.Eq GitHub.Data.Teams.CreateTeam instance Data.Data.Data GitHub.Data.Teams.CreateTeam instance GHC.Show.Show GitHub.Data.Teams.CreateTeam instance GHC.Generics.Generic GitHub.Data.Teams.EditTeam instance GHC.Classes.Ord GitHub.Data.Teams.EditTeam instance GHC.Classes.Eq GitHub.Data.Teams.EditTeam instance Data.Data.Data GitHub.Data.Teams.EditTeam instance GHC.Show.Show GitHub.Data.Teams.EditTeam instance GHC.Generics.Generic GitHub.Data.Teams.Role instance GHC.Classes.Ord GitHub.Data.Teams.Role instance GHC.Classes.Eq GitHub.Data.Teams.Role instance Data.Data.Data GitHub.Data.Teams.Role instance GHC.Show.Show GitHub.Data.Teams.Role instance GHC.Generics.Generic GitHub.Data.Teams.ReqState instance GHC.Classes.Ord GitHub.Data.Teams.ReqState instance GHC.Classes.Eq GitHub.Data.Teams.ReqState instance Data.Data.Data GitHub.Data.Teams.ReqState instance GHC.Show.Show GitHub.Data.Teams.ReqState instance GHC.Generics.Generic GitHub.Data.Teams.TeamMembership instance GHC.Classes.Ord GitHub.Data.Teams.TeamMembership instance GHC.Classes.Eq GitHub.Data.Teams.TeamMembership instance Data.Data.Data GitHub.Data.Teams.TeamMembership instance GHC.Show.Show GitHub.Data.Teams.TeamMembership instance GHC.Generics.Generic GitHub.Data.Teams.CreateTeamMembership instance GHC.Classes.Ord GitHub.Data.Teams.CreateTeamMembership instance GHC.Classes.Eq GitHub.Data.Teams.CreateTeamMembership instance Data.Data.Data GitHub.Data.Teams.CreateTeamMembership instance GHC.Show.Show GitHub.Data.Teams.CreateTeamMembership instance GHC.Generics.Generic GitHub.Data.Teams.TeamMemberRole instance Data.Data.Data GitHub.Data.Teams.TeamMemberRole instance GHC.Enum.Bounded GitHub.Data.Teams.TeamMemberRole instance GHC.Enum.Enum GitHub.Data.Teams.TeamMemberRole instance GHC.Classes.Ord GitHub.Data.Teams.TeamMemberRole instance GHC.Classes.Eq GitHub.Data.Teams.TeamMemberRole instance GHC.Show.Show GitHub.Data.Teams.TeamMemberRole instance Control.DeepSeq.NFData GitHub.Data.Teams.CreateTeamMembership instance Data.Binary.Class.Binary GitHub.Data.Teams.CreateTeamMembership instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.CreateTeamMembership instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Teams.CreateTeamMembership instance Control.DeepSeq.NFData GitHub.Data.Teams.TeamMembership instance Data.Binary.Class.Binary GitHub.Data.Teams.TeamMembership instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.TeamMembership instance Control.DeepSeq.NFData GitHub.Data.Teams.ReqState instance Data.Binary.Class.Binary GitHub.Data.Teams.ReqState instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.ReqState instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Teams.ReqState instance Control.DeepSeq.NFData GitHub.Data.Teams.Role instance Data.Binary.Class.Binary GitHub.Data.Teams.Role instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.Role instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Teams.Role instance Control.DeepSeq.NFData GitHub.Data.Teams.EditTeam instance Data.Binary.Class.Binary GitHub.Data.Teams.EditTeam instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Teams.EditTeam instance Control.DeepSeq.NFData GitHub.Data.Teams.CreateTeam instance Data.Binary.Class.Binary GitHub.Data.Teams.CreateTeam instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Teams.CreateTeam instance Control.DeepSeq.NFData GitHub.Data.Teams.SimpleTeam instance Data.Binary.Class.Binary GitHub.Data.Teams.SimpleTeam instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.SimpleTeam instance Control.DeepSeq.NFData GitHub.Data.Teams.Team instance Data.Binary.Class.Binary GitHub.Data.Teams.Team instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.Team instance Control.DeepSeq.NFData GitHub.Data.Teams.AddTeamRepoPermission instance Data.Binary.Class.Binary GitHub.Data.Teams.AddTeamRepoPermission instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.AddTeamRepoPermission instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Teams.AddTeamRepoPermission instance Control.DeepSeq.NFData GitHub.Data.Teams.Permission instance Data.Binary.Class.Binary GitHub.Data.Teams.Permission instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.Permission instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Teams.Permission instance Control.DeepSeq.NFData GitHub.Data.Teams.Privacy instance Data.Binary.Class.Binary GitHub.Data.Teams.Privacy instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Teams.Privacy instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Teams.Privacy module GitHub.Data.Search data SearchResult' entities SearchResult :: !Int -> !entities -> SearchResult' entities [searchResultTotalCount] :: SearchResult' entities -> !Int [searchResultResults] :: SearchResult' entities -> !entities type SearchResult entity = SearchResult' (Vector entity) data Code Code :: !Text -> !Text -> !Text -> !URL -> !URL -> !URL -> !CodeSearchRepo -> Code [codeName] :: Code -> !Text [codePath] :: Code -> !Text [codeSha] :: Code -> !Text [codeUrl] :: Code -> !URL [codeGitUrl] :: Code -> !URL [codeHtmlUrl] :: Code -> !URL [codeRepo] :: Code -> !CodeSearchRepo instance GHC.Generics.Generic (GitHub.Data.Search.SearchResult' entities) instance GHC.Classes.Ord entities => GHC.Classes.Ord (GitHub.Data.Search.SearchResult' entities) instance GHC.Classes.Eq entities => GHC.Classes.Eq (GitHub.Data.Search.SearchResult' entities) instance Data.Data.Data entities => Data.Data.Data (GitHub.Data.Search.SearchResult' entities) instance GHC.Show.Show entities => GHC.Show.Show (GitHub.Data.Search.SearchResult' entities) instance GHC.Generics.Generic GitHub.Data.Search.Code instance GHC.Classes.Ord GitHub.Data.Search.Code instance GHC.Classes.Eq GitHub.Data.Search.Code instance Data.Data.Data GitHub.Data.Search.Code instance GHC.Show.Show GitHub.Data.Search.Code instance Control.DeepSeq.NFData GitHub.Data.Search.Code instance Data.Binary.Class.Binary GitHub.Data.Search.Code instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Search.Code instance Control.DeepSeq.NFData entities => Control.DeepSeq.NFData (GitHub.Data.Search.SearchResult' entities) instance Data.Binary.Class.Binary entities => Data.Binary.Class.Binary (GitHub.Data.Search.SearchResult' entities) instance (GHC.Base.Monoid entities, Data.Aeson.Types.FromJSON.FromJSON entities) => Data.Aeson.Types.FromJSON.FromJSON (GitHub.Data.Search.SearchResult' entities) instance GHC.Base.Semigroup res => GHC.Base.Semigroup (GitHub.Data.Search.SearchResult' res) instance Data.Foldable.Foldable GitHub.Data.Search.SearchResult' module GitHub.Data.Releases data Release Release :: !URL -> !URL -> !URL -> !URL -> !URL -> !URL -> !Id Release -> !Text -> !Text -> !Text -> !Text -> !Bool -> !Bool -> !UTCTime -> !Maybe UTCTime -> !SimpleUser -> !Vector ReleaseAsset -> Release [releaseUrl] :: Release -> !URL [releaseHtmlUrl] :: Release -> !URL [releaseAssetsurl] :: Release -> !URL [releaseUploadUrl] :: Release -> !URL [releaseTarballUrl] :: Release -> !URL [releaseZipballUrl] :: Release -> !URL [releaseId] :: Release -> !Id Release [releaseTagName] :: Release -> !Text [releaseTargetCommitish] :: Release -> !Text [releaseName] :: Release -> !Text [releaseBody] :: Release -> !Text [releaseDraft] :: Release -> !Bool [releasePrerelease] :: Release -> !Bool [releaseCreatedAt] :: Release -> !UTCTime [releasePublishedAt] :: Release -> !Maybe UTCTime [releaseAuthor] :: Release -> !SimpleUser [releaseAssets] :: Release -> !Vector ReleaseAsset data ReleaseAsset ReleaseAsset :: !URL -> !Text -> !Id ReleaseAsset -> !Text -> !Maybe Text -> !Text -> !Text -> !Int -> !Int -> !UTCTime -> !UTCTime -> !SimpleUser -> ReleaseAsset [releaseAssetUrl] :: ReleaseAsset -> !URL [releaseAssetBrowserDownloadUrl] :: ReleaseAsset -> !Text [releaseAssetId] :: ReleaseAsset -> !Id ReleaseAsset [releaseAssetName] :: ReleaseAsset -> !Text [releaseAssetLabel] :: ReleaseAsset -> !Maybe Text [releaseAssetState] :: ReleaseAsset -> !Text [releaseAssetContentType] :: ReleaseAsset -> !Text [releaseAssetSize] :: ReleaseAsset -> !Int [releaseAssetDownloadCount] :: ReleaseAsset -> !Int [releaseAssetCreatedAt] :: ReleaseAsset -> !UTCTime [releaseAssetUpdatedAt] :: ReleaseAsset -> !UTCTime [releaseAssetUploader] :: ReleaseAsset -> !SimpleUser instance GHC.Generics.Generic GitHub.Data.Releases.ReleaseAsset instance GHC.Classes.Ord GitHub.Data.Releases.ReleaseAsset instance GHC.Classes.Eq GitHub.Data.Releases.ReleaseAsset instance Data.Data.Data GitHub.Data.Releases.ReleaseAsset instance GHC.Show.Show GitHub.Data.Releases.ReleaseAsset instance GHC.Generics.Generic GitHub.Data.Releases.Release instance GHC.Classes.Ord GitHub.Data.Releases.Release instance GHC.Classes.Eq GitHub.Data.Releases.Release instance Data.Data.Data GitHub.Data.Releases.Release instance GHC.Show.Show GitHub.Data.Releases.Release instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Releases.Release instance Control.DeepSeq.NFData GitHub.Data.Releases.Release instance Data.Binary.Class.Binary GitHub.Data.Releases.Release instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Releases.ReleaseAsset instance Control.DeepSeq.NFData GitHub.Data.Releases.ReleaseAsset instance Data.Binary.Class.Binary GitHub.Data.Releases.ReleaseAsset module GitHub.Data.Milestone data Milestone Milestone :: !SimpleUser -> !Maybe UTCTime -> !Int -> !Id Milestone -> !Int -> !Maybe Text -> !Text -> !URL -> !UTCTime -> !Text -> Milestone [milestoneCreator] :: Milestone -> !SimpleUser [milestoneDueOn] :: Milestone -> !Maybe UTCTime [milestoneOpenIssues] :: Milestone -> !Int [milestoneNumber] :: Milestone -> !Id Milestone [milestoneClosedIssues] :: Milestone -> !Int [milestoneDescription] :: Milestone -> !Maybe Text [milestoneTitle] :: Milestone -> !Text [milestoneUrl] :: Milestone -> !URL [milestoneCreatedAt] :: Milestone -> !UTCTime [milestoneState] :: Milestone -> !Text data NewMilestone NewMilestone :: !Text -> !Text -> !Maybe Text -> !Maybe UTCTime -> NewMilestone [newMilestoneTitle] :: NewMilestone -> !Text [newMilestoneState] :: NewMilestone -> !Text [newMilestoneDescription] :: NewMilestone -> !Maybe Text [newMilestoneDueOn] :: NewMilestone -> !Maybe UTCTime data UpdateMilestone UpdateMilestone :: !Maybe Text -> !Maybe Text -> !Maybe Text -> !Maybe UTCTime -> UpdateMilestone [updateMilestoneTitle] :: UpdateMilestone -> !Maybe Text [updateMilestoneState] :: UpdateMilestone -> !Maybe Text [updateMilestoneDescription] :: UpdateMilestone -> !Maybe Text [updateMilestoneDueOn] :: UpdateMilestone -> !Maybe UTCTime instance GHC.Generics.Generic GitHub.Data.Milestone.Milestone instance GHC.Classes.Ord GitHub.Data.Milestone.Milestone instance GHC.Classes.Eq GitHub.Data.Milestone.Milestone instance Data.Data.Data GitHub.Data.Milestone.Milestone instance GHC.Show.Show GitHub.Data.Milestone.Milestone instance GHC.Generics.Generic GitHub.Data.Milestone.NewMilestone instance GHC.Classes.Ord GitHub.Data.Milestone.NewMilestone instance GHC.Classes.Eq GitHub.Data.Milestone.NewMilestone instance Data.Data.Data GitHub.Data.Milestone.NewMilestone instance GHC.Show.Show GitHub.Data.Milestone.NewMilestone instance GHC.Generics.Generic GitHub.Data.Milestone.UpdateMilestone instance GHC.Classes.Ord GitHub.Data.Milestone.UpdateMilestone instance GHC.Classes.Eq GitHub.Data.Milestone.UpdateMilestone instance Data.Data.Data GitHub.Data.Milestone.UpdateMilestone instance GHC.Show.Show GitHub.Data.Milestone.UpdateMilestone instance Control.DeepSeq.NFData GitHub.Data.Milestone.UpdateMilestone instance Data.Binary.Class.Binary GitHub.Data.Milestone.UpdateMilestone instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Milestone.UpdateMilestone instance Control.DeepSeq.NFData GitHub.Data.Milestone.NewMilestone instance Data.Binary.Class.Binary GitHub.Data.Milestone.NewMilestone instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Milestone.NewMilestone instance Control.DeepSeq.NFData GitHub.Data.Milestone.Milestone instance Data.Binary.Class.Binary GitHub.Data.Milestone.Milestone instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Milestone.Milestone -- | Module with modifiers for pull requests' and issues' listings. module GitHub.Data.Options stateOpen :: HasState mod => mod stateClosed :: HasState mod => mod stateAll :: HasState mod => mod sortAscending :: HasDirection mod => mod sortDescending :: HasDirection mod => mod sortByCreated :: HasCreatedUpdated mod => mod sortByUpdated :: HasCreatedUpdated mod => mod -- | See https://developer.github.com/v3/pulls/#parameters. data PullRequestMod prModToQueryString :: PullRequestMod -> QueryString optionsBase :: Text -> PullRequestMod optionsNoBase :: PullRequestMod optionsHead :: Text -> PullRequestMod optionsNoHead :: PullRequestMod sortByPopularity :: PullRequestMod sortByLongRunning :: PullRequestMod -- | See -- https://docs.github.com/en/rest/reference/issues#list-issues-assigned-to-the-authenticated-user--parameters. data IssueMod issueModToQueryString :: IssueMod -> QueryString sortByComments :: HasComments mod => mod optionsLabels :: (HasLabels mod, Foldable f) => f (Name IssueLabel) -> mod optionsSince :: HasSince mod => UTCTime -> mod optionsSinceAll :: HasSince mod => mod optionsAssignedIssues :: IssueMod optionsCreatedIssues :: IssueMod optionsMentionedIssues :: IssueMod optionsSubscribedIssues :: IssueMod optionsAllIssues :: IssueMod -- | See https://developer.github.com/v3/issues/#parameters-1. data IssueRepoMod issueRepoModToQueryString :: IssueRepoMod -> QueryString -- | Issues created by a certain user. optionsCreator :: Name User -> IssueRepoMod -- | Issue mentioning the given user. optionsMentioned :: Name User -> IssueRepoMod -- | Don't care about milestones (default). -- -- optionsAnyMilestone means there should be some milestone, but -- it can be any. -- -- See -- https://developer.github.com/v3/issues/#list-issues-for-a-repository optionsIrrelevantMilestone :: IssueRepoMod -- | Issues that have a milestone. optionsAnyMilestone :: IssueRepoMod -- | Issues that have no milestone. optionsNoMilestone :: IssueRepoMod -- | Issues with the given milestone. optionsMilestone :: Id Milestone -> IssueRepoMod -- | Issues with or without assignee (default). optionsIrrelevantAssignee :: IssueRepoMod -- | Issues assigned to someone. optionsAnyAssignee :: IssueRepoMod -- | Issues assigned to nobody. optionsNoAssignee :: IssueRepoMod -- | Issues assigned to a specific user. optionsAssignee :: Name User -> IssueRepoMod -- | See -- https://docs.github.com/en/rest/actions/artifacts#list-artifacts-for-a-repository. data ArtifactMod artifactModToQueryString :: ArtifactMod -> QueryString -- | Filters artifacts by exact match on their name field. optionsArtifactName :: Text -> ArtifactMod -- | See -- https://docs.github.com/en/rest/actions/cache#list-github-actions-caches-for-a-repository. data CacheMod cacheModToQueryString :: CacheMod -> QueryString optionsRef :: Text -> CacheMod optionsNoRef :: CacheMod optionsKey :: Text -> CacheMod optionsNoKey :: CacheMod optionsDirectionAsc :: CacheMod optionsDirectionDesc :: CacheMod sortByCreatedAt :: CacheMod sortByLastAccessedAt :: CacheMod sortBySizeInBytes :: CacheMod -- | See -- https://docs.github.com/en/rest/actions/workflow-runs#list-workflow-runs-for-a-repository. data WorkflowRunMod workflowRunModToQueryString :: WorkflowRunMod -> QueryString optionsWorkflowRunActor :: Text -> WorkflowRunMod optionsWorkflowRunBranch :: Text -> WorkflowRunMod optionsWorkflowRunEvent :: Text -> WorkflowRunMod optionsWorkflowRunStatus :: Text -> WorkflowRunMod optionsWorkflowRunCreated :: Text -> WorkflowRunMod optionsWorkflowRunHeadSha :: Text -> WorkflowRunMod -- | Issue or PullRequest state data IssueState StateOpen :: IssueState StateClosed :: IssueState -- | Issue state reason data IssueStateReason StateReasonCompleted :: IssueStateReason StateReasonNotPlanned :: IssueStateReason StateReasonReopened :: IssueStateReason -- | PullRequest mergeable_state data MergeableState StateUnknown :: MergeableState StateClean :: MergeableState StateDirty :: MergeableState StateUnstable :: MergeableState StateBlocked :: MergeableState StateBehind :: MergeableState StateDraft :: MergeableState class HasState mod class HasDirection mod class HasCreatedUpdated mod class HasComments mod class HasLabels mod class HasSince mod instance Data.Data.Data GitHub.Data.Options.IssueState instance GHC.Generics.Generic GitHub.Data.Options.IssueState instance GHC.Enum.Bounded GitHub.Data.Options.IssueState instance GHC.Enum.Enum GitHub.Data.Options.IssueState instance GHC.Show.Show GitHub.Data.Options.IssueState instance GHC.Classes.Ord GitHub.Data.Options.IssueState instance GHC.Classes.Eq GitHub.Data.Options.IssueState instance Data.Data.Data GitHub.Data.Options.IssueStateReason instance GHC.Generics.Generic GitHub.Data.Options.IssueStateReason instance GHC.Enum.Bounded GitHub.Data.Options.IssueStateReason instance GHC.Enum.Enum GitHub.Data.Options.IssueStateReason instance GHC.Show.Show GitHub.Data.Options.IssueStateReason instance GHC.Classes.Ord GitHub.Data.Options.IssueStateReason instance GHC.Classes.Eq GitHub.Data.Options.IssueStateReason instance Data.Data.Data GitHub.Data.Options.MergeableState instance GHC.Generics.Generic GitHub.Data.Options.MergeableState instance GHC.Enum.Bounded GitHub.Data.Options.MergeableState instance GHC.Enum.Enum GitHub.Data.Options.MergeableState instance GHC.Show.Show GitHub.Data.Options.MergeableState instance GHC.Classes.Ord GitHub.Data.Options.MergeableState instance GHC.Classes.Eq GitHub.Data.Options.MergeableState instance Data.Data.Data GitHub.Data.Options.SortDirection instance GHC.Generics.Generic GitHub.Data.Options.SortDirection instance GHC.Enum.Bounded GitHub.Data.Options.SortDirection instance GHC.Enum.Enum GitHub.Data.Options.SortDirection instance GHC.Show.Show GitHub.Data.Options.SortDirection instance GHC.Classes.Ord GitHub.Data.Options.SortDirection instance GHC.Classes.Eq GitHub.Data.Options.SortDirection instance Data.Data.Data GitHub.Data.Options.SortPR instance GHC.Generics.Generic GitHub.Data.Options.SortPR instance GHC.Enum.Bounded GitHub.Data.Options.SortPR instance GHC.Enum.Enum GitHub.Data.Options.SortPR instance GHC.Show.Show GitHub.Data.Options.SortPR instance GHC.Classes.Ord GitHub.Data.Options.SortPR instance GHC.Classes.Eq GitHub.Data.Options.SortPR instance Data.Data.Data GitHub.Data.Options.IssueFilter instance GHC.Generics.Generic GitHub.Data.Options.IssueFilter instance GHC.Enum.Bounded GitHub.Data.Options.IssueFilter instance GHC.Enum.Enum GitHub.Data.Options.IssueFilter instance GHC.Show.Show GitHub.Data.Options.IssueFilter instance GHC.Classes.Ord GitHub.Data.Options.IssueFilter instance GHC.Classes.Eq GitHub.Data.Options.IssueFilter instance Data.Data.Data GitHub.Data.Options.SortIssue instance GHC.Generics.Generic GitHub.Data.Options.SortIssue instance GHC.Enum.Bounded GitHub.Data.Options.SortIssue instance GHC.Enum.Enum GitHub.Data.Options.SortIssue instance GHC.Show.Show GitHub.Data.Options.SortIssue instance GHC.Classes.Ord GitHub.Data.Options.SortIssue instance GHC.Classes.Eq GitHub.Data.Options.SortIssue instance Data.Data.Data a => Data.Data.Data (GitHub.Data.Options.FilterBy a) instance GHC.Generics.Generic (GitHub.Data.Options.FilterBy a) instance GHC.Show.Show a => GHC.Show.Show (GitHub.Data.Options.FilterBy a) instance GHC.Classes.Ord a => GHC.Classes.Ord (GitHub.Data.Options.FilterBy a) instance GHC.Classes.Eq a => GHC.Classes.Eq (GitHub.Data.Options.FilterBy a) instance Data.Data.Data GitHub.Data.Options.SortCache instance GHC.Generics.Generic GitHub.Data.Options.SortCache instance GHC.Enum.Bounded GitHub.Data.Options.SortCache instance GHC.Enum.Enum GitHub.Data.Options.SortCache instance GHC.Show.Show GitHub.Data.Options.SortCache instance GHC.Classes.Ord GitHub.Data.Options.SortCache instance GHC.Classes.Eq GitHub.Data.Options.SortCache instance Data.Data.Data GitHub.Data.Options.PullRequestOptions instance GHC.Generics.Generic GitHub.Data.Options.PullRequestOptions instance GHC.Show.Show GitHub.Data.Options.PullRequestOptions instance GHC.Classes.Ord GitHub.Data.Options.PullRequestOptions instance GHC.Classes.Eq GitHub.Data.Options.PullRequestOptions instance Data.Data.Data GitHub.Data.Options.IssueOptions instance GHC.Generics.Generic GitHub.Data.Options.IssueOptions instance GHC.Show.Show GitHub.Data.Options.IssueOptions instance GHC.Classes.Ord GitHub.Data.Options.IssueOptions instance GHC.Classes.Eq GitHub.Data.Options.IssueOptions instance Data.Data.Data GitHub.Data.Options.IssueRepoOptions instance GHC.Generics.Generic GitHub.Data.Options.IssueRepoOptions instance GHC.Show.Show GitHub.Data.Options.IssueRepoOptions instance GHC.Classes.Ord GitHub.Data.Options.IssueRepoOptions instance GHC.Classes.Eq GitHub.Data.Options.IssueRepoOptions instance Data.Data.Data GitHub.Data.Options.ArtifactOptions instance GHC.Generics.Generic GitHub.Data.Options.ArtifactOptions instance GHC.Show.Show GitHub.Data.Options.ArtifactOptions instance GHC.Classes.Ord GitHub.Data.Options.ArtifactOptions instance GHC.Classes.Eq GitHub.Data.Options.ArtifactOptions instance Data.Data.Data GitHub.Data.Options.CacheOptions instance GHC.Generics.Generic GitHub.Data.Options.CacheOptions instance GHC.Show.Show GitHub.Data.Options.CacheOptions instance GHC.Classes.Ord GitHub.Data.Options.CacheOptions instance GHC.Classes.Eq GitHub.Data.Options.CacheOptions instance Data.Data.Data GitHub.Data.Options.WorkflowRunOptions instance GHC.Generics.Generic GitHub.Data.Options.WorkflowRunOptions instance GHC.Show.Show GitHub.Data.Options.WorkflowRunOptions instance GHC.Classes.Ord GitHub.Data.Options.WorkflowRunOptions instance GHC.Classes.Eq GitHub.Data.Options.WorkflowRunOptions instance GHC.Base.Semigroup GitHub.Data.Options.WorkflowRunMod instance GHC.Base.Monoid GitHub.Data.Options.WorkflowRunMod instance GHC.Base.Semigroup GitHub.Data.Options.CacheMod instance GHC.Base.Monoid GitHub.Data.Options.CacheMod instance GHC.Base.Semigroup GitHub.Data.Options.ArtifactMod instance GHC.Base.Monoid GitHub.Data.Options.ArtifactMod instance GitHub.Data.Options.HasState GitHub.Data.Options.IssueRepoMod instance GitHub.Data.Options.HasDirection GitHub.Data.Options.IssueRepoMod instance GitHub.Data.Options.HasCreatedUpdated GitHub.Data.Options.IssueRepoMod instance GitHub.Data.Options.HasComments GitHub.Data.Options.IssueRepoMod instance GitHub.Data.Options.HasLabels GitHub.Data.Options.IssueRepoMod instance GitHub.Data.Options.HasSince GitHub.Data.Options.IssueRepoMod instance GHC.Base.Semigroup GitHub.Data.Options.IssueRepoMod instance GHC.Base.Monoid GitHub.Data.Options.IssueRepoMod instance GitHub.Data.Options.HasSince GitHub.Data.Options.IssueMod instance GitHub.Data.Options.HasLabels GitHub.Data.Options.IssueMod instance GitHub.Data.Options.HasComments GitHub.Data.Options.IssueMod instance GitHub.Data.Options.HasState GitHub.Data.Options.IssueMod instance GitHub.Data.Options.HasDirection GitHub.Data.Options.IssueMod instance GitHub.Data.Options.HasCreatedUpdated GitHub.Data.Options.IssueMod instance GHC.Base.Semigroup GitHub.Data.Options.IssueMod instance GHC.Base.Monoid GitHub.Data.Options.IssueMod instance GitHub.Data.Options.HasState GitHub.Data.Options.PullRequestMod instance GitHub.Data.Options.HasDirection GitHub.Data.Options.PullRequestMod instance GitHub.Data.Options.HasCreatedUpdated GitHub.Data.Options.PullRequestMod instance GHC.Base.Semigroup GitHub.Data.Options.PullRequestMod instance GHC.Base.Monoid GitHub.Data.Options.PullRequestMod instance Control.DeepSeq.NFData GitHub.Data.Options.SortCache instance Data.Binary.Class.Binary GitHub.Data.Options.SortCache instance Control.DeepSeq.NFData GitHub.Data.Options.SortIssue instance Data.Binary.Class.Binary GitHub.Data.Options.SortIssue instance Control.DeepSeq.NFData GitHub.Data.Options.IssueFilter instance Data.Binary.Class.Binary GitHub.Data.Options.IssueFilter instance Control.DeepSeq.NFData GitHub.Data.Options.SortPR instance Data.Binary.Class.Binary GitHub.Data.Options.SortPR instance Control.DeepSeq.NFData GitHub.Data.Options.SortDirection instance Data.Binary.Class.Binary GitHub.Data.Options.SortDirection instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Options.MergeableState instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Options.MergeableState instance Control.DeepSeq.NFData GitHub.Data.Options.MergeableState instance Data.Binary.Class.Binary GitHub.Data.Options.MergeableState instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Options.IssueStateReason instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Options.IssueStateReason instance Control.DeepSeq.NFData GitHub.Data.Options.IssueStateReason instance Data.Binary.Class.Binary GitHub.Data.Options.IssueStateReason instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Options.IssueState instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Options.IssueState instance Control.DeepSeq.NFData GitHub.Data.Options.IssueState instance Data.Binary.Class.Binary GitHub.Data.Options.IssueState module GitHub.Data.PullRequests data SimplePullRequest SimplePullRequest :: !Maybe UTCTime -> !UTCTime -> !SimpleUser -> !URL -> !IssueState -> !IssueNumber -> !URL -> !UTCTime -> !Maybe Text -> Vector SimpleUser -> Vector SimpleUser -> Vector SimpleTeam -> !URL -> !URL -> !URL -> !PullRequestLinks -> !Maybe UTCTime -> !Text -> !Id PullRequest -> SimplePullRequest [simplePullRequestClosedAt] :: SimplePullRequest -> !Maybe UTCTime [simplePullRequestCreatedAt] :: SimplePullRequest -> !UTCTime [simplePullRequestUser] :: SimplePullRequest -> !SimpleUser [simplePullRequestPatchUrl] :: SimplePullRequest -> !URL [simplePullRequestState] :: SimplePullRequest -> !IssueState [simplePullRequestNumber] :: SimplePullRequest -> !IssueNumber [simplePullRequestHtmlUrl] :: SimplePullRequest -> !URL [simplePullRequestUpdatedAt] :: SimplePullRequest -> !UTCTime [simplePullRequestBody] :: SimplePullRequest -> !Maybe Text [simplePullRequestAssignees] :: SimplePullRequest -> Vector SimpleUser [simplePullRequestRequestedReviewers] :: SimplePullRequest -> Vector SimpleUser [simplePullRequestRequestedTeamReviewers] :: SimplePullRequest -> Vector SimpleTeam [simplePullRequestIssueUrl] :: SimplePullRequest -> !URL [simplePullRequestDiffUrl] :: SimplePullRequest -> !URL [simplePullRequestUrl] :: SimplePullRequest -> !URL [simplePullRequestLinks] :: SimplePullRequest -> !PullRequestLinks [simplePullRequestMergedAt] :: SimplePullRequest -> !Maybe UTCTime [simplePullRequestTitle] :: SimplePullRequest -> !Text [simplePullRequestId] :: SimplePullRequest -> !Id PullRequest data PullRequest PullRequest :: !Maybe UTCTime -> !UTCTime -> !SimpleUser -> !URL -> !IssueState -> !IssueNumber -> !URL -> !UTCTime -> !Maybe Text -> Vector SimpleUser -> Vector SimpleUser -> Vector SimpleTeam -> !URL -> !URL -> !URL -> !PullRequestLinks -> !Maybe UTCTime -> !Text -> !Id PullRequest -> !Maybe SimpleUser -> !Int -> !PullRequestCommit -> !Count -> !Count -> !Count -> !Count -> !PullRequestCommit -> !Count -> !Bool -> !Maybe Bool -> !MergeableState -> PullRequest [pullRequestClosedAt] :: PullRequest -> !Maybe UTCTime [pullRequestCreatedAt] :: PullRequest -> !UTCTime [pullRequestUser] :: PullRequest -> !SimpleUser [pullRequestPatchUrl] :: PullRequest -> !URL [pullRequestState] :: PullRequest -> !IssueState [pullRequestNumber] :: PullRequest -> !IssueNumber [pullRequestHtmlUrl] :: PullRequest -> !URL [pullRequestUpdatedAt] :: PullRequest -> !UTCTime [pullRequestBody] :: PullRequest -> !Maybe Text [pullRequestAssignees] :: PullRequest -> Vector SimpleUser [pullRequestRequestedReviewers] :: PullRequest -> Vector SimpleUser [pullRequestRequestedTeamReviewers] :: PullRequest -> Vector SimpleTeam [pullRequestIssueUrl] :: PullRequest -> !URL [pullRequestDiffUrl] :: PullRequest -> !URL [pullRequestUrl] :: PullRequest -> !URL [pullRequestLinks] :: PullRequest -> !PullRequestLinks [pullRequestMergedAt] :: PullRequest -> !Maybe UTCTime [pullRequestTitle] :: PullRequest -> !Text [pullRequestId] :: PullRequest -> !Id PullRequest [pullRequestMergedBy] :: PullRequest -> !Maybe SimpleUser [pullRequestChangedFiles] :: PullRequest -> !Int [pullRequestHead] :: PullRequest -> !PullRequestCommit [pullRequestComments] :: PullRequest -> !Count [pullRequestDeletions] :: PullRequest -> !Count [pullRequestAdditions] :: PullRequest -> !Count [pullRequestReviewComments] :: PullRequest -> !Count [pullRequestBase] :: PullRequest -> !PullRequestCommit [pullRequestCommits] :: PullRequest -> !Count [pullRequestMerged] :: PullRequest -> !Bool [pullRequestMergeable] :: PullRequest -> !Maybe Bool [pullRequestMergeableState] :: PullRequest -> !MergeableState data EditPullRequest EditPullRequest :: !Maybe Text -> !Maybe Text -> !Maybe IssueState -> !Maybe Text -> !Maybe Bool -> EditPullRequest [editPullRequestTitle] :: EditPullRequest -> !Maybe Text [editPullRequestBody] :: EditPullRequest -> !Maybe Text [editPullRequestState] :: EditPullRequest -> !Maybe IssueState [editPullRequestBase] :: EditPullRequest -> !Maybe Text [editPullRequestMaintainerCanModify] :: EditPullRequest -> !Maybe Bool data CreatePullRequest CreatePullRequest :: !Text -> !Text -> !Text -> !Text -> CreatePullRequest [createPullRequestTitle] :: CreatePullRequest -> !Text [createPullRequestBody] :: CreatePullRequest -> !Text [createPullRequestHead] :: CreatePullRequest -> !Text [createPullRequestBase] :: CreatePullRequest -> !Text CreatePullRequestIssue :: !Int -> !Text -> !Text -> CreatePullRequest [createPullRequestIssueNum] :: CreatePullRequest -> !Int [createPullRequestHead] :: CreatePullRequest -> !Text [createPullRequestBase] :: CreatePullRequest -> !Text data PullRequestLinks PullRequestLinks :: !URL -> !URL -> !URL -> !URL -> PullRequestLinks [pullRequestLinksReviewComments] :: PullRequestLinks -> !URL [pullRequestLinksComments] :: PullRequestLinks -> !URL [pullRequestLinksHtml] :: PullRequestLinks -> !URL [pullRequestLinksSelf] :: PullRequestLinks -> !URL data PullRequestCommit PullRequestCommit :: !Text -> !Text -> !Text -> !SimpleUser -> !Maybe Repo -> PullRequestCommit [pullRequestCommitLabel] :: PullRequestCommit -> !Text [pullRequestCommitRef] :: PullRequestCommit -> !Text [pullRequestCommitSha] :: PullRequestCommit -> !Text [pullRequestCommitUser] :: PullRequestCommit -> !SimpleUser [pullRequestCommitRepo] :: PullRequestCommit -> !Maybe Repo data PullRequestEvent PullRequestEvent :: !PullRequestEventType -> !Int -> !PullRequest -> !Repo -> !SimpleUser -> PullRequestEvent [pullRequestEventAction] :: PullRequestEvent -> !PullRequestEventType [pullRequestEventNumber] :: PullRequestEvent -> !Int [pullRequestEventPullRequest] :: PullRequestEvent -> !PullRequest [pullRequestRepository] :: PullRequestEvent -> !Repo [pullRequestSender] :: PullRequestEvent -> !SimpleUser data PullRequestEventType PullRequestOpened :: PullRequestEventType PullRequestClosed :: PullRequestEventType PullRequestSynchronized :: PullRequestEventType PullRequestReopened :: PullRequestEventType PullRequestAssigned :: PullRequestEventType PullRequestUnassigned :: PullRequestEventType PullRequestLabeled :: PullRequestEventType PullRequestUnlabeled :: PullRequestEventType PullRequestReviewRequested :: PullRequestEventType PullRequestReviewRequestRemoved :: PullRequestEventType PullRequestEdited :: PullRequestEventType data PullRequestReference PullRequestReference :: !Maybe URL -> !Maybe URL -> !Maybe URL -> PullRequestReference [pullRequestReferenceHtmlUrl] :: PullRequestReference -> !Maybe URL [pullRequestReferencePatchUrl] :: PullRequestReference -> !Maybe URL [pullRequestReferenceDiffUrl] :: PullRequestReference -> !Maybe URL -- | Pull request merge results data MergeResult MergeSuccessful :: MergeResult MergeCannotPerform :: MergeResult MergeConflict :: MergeResult instance GHC.Generics.Generic GitHub.Data.PullRequests.EditPullRequest instance GHC.Show.Show GitHub.Data.PullRequests.EditPullRequest instance GHC.Generics.Generic GitHub.Data.PullRequests.CreatePullRequest instance GHC.Show.Show GitHub.Data.PullRequests.CreatePullRequest instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestLinks instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestLinks instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestLinks instance Data.Data.Data GitHub.Data.PullRequests.PullRequestLinks instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestLinks instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestCommit instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestCommit instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestCommit instance Data.Data.Data GitHub.Data.PullRequests.PullRequestCommit instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestCommit instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequest instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequest instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequest instance Data.Data.Data GitHub.Data.PullRequests.PullRequest instance GHC.Show.Show GitHub.Data.PullRequests.PullRequest instance GHC.Generics.Generic GitHub.Data.PullRequests.SimplePullRequest instance GHC.Classes.Ord GitHub.Data.PullRequests.SimplePullRequest instance GHC.Classes.Eq GitHub.Data.PullRequests.SimplePullRequest instance Data.Data.Data GitHub.Data.PullRequests.SimplePullRequest instance GHC.Show.Show GitHub.Data.PullRequests.SimplePullRequest instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestEventType instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestEventType instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestEventType instance Data.Data.Data GitHub.Data.PullRequests.PullRequestEventType instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestEventType instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestEvent instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestEvent instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestEvent instance Data.Data.Data GitHub.Data.PullRequests.PullRequestEvent instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestEvent instance Data.Data.Data GitHub.Data.PullRequests.PullRequestReference instance GHC.Generics.Generic GitHub.Data.PullRequests.PullRequestReference instance GHC.Show.Show GitHub.Data.PullRequests.PullRequestReference instance GHC.Classes.Ord GitHub.Data.PullRequests.PullRequestReference instance GHC.Classes.Eq GitHub.Data.PullRequests.PullRequestReference instance GHC.Generics.Generic GitHub.Data.PullRequests.MergeResult instance GHC.Enum.Bounded GitHub.Data.PullRequests.MergeResult instance GHC.Enum.Enum GitHub.Data.PullRequests.MergeResult instance GHC.Show.Show GitHub.Data.PullRequests.MergeResult instance GHC.Read.Read GitHub.Data.PullRequests.MergeResult instance GHC.Classes.Ord GitHub.Data.PullRequests.MergeResult instance GHC.Classes.Eq GitHub.Data.PullRequests.MergeResult instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PullRequests.PullRequestLinks instance Data.Aeson.Types.FromJSON.FromJSON a => Data.Aeson.Types.FromJSON.FromJSON (GitHub.Data.PullRequests.Href a) instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestReference instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestReference instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PullRequests.PullRequestReference instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestEvent instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestEvent instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PullRequests.PullRequestEvent instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestEventType instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestEventType instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PullRequests.PullRequestEventType instance Control.DeepSeq.NFData GitHub.Data.PullRequests.SimplePullRequest instance Data.Binary.Class.Binary GitHub.Data.PullRequests.SimplePullRequest instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PullRequests.SimplePullRequest instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequest instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequest instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PullRequests.PullRequest instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestCommit instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestCommit instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.PullRequests.PullRequestCommit instance Control.DeepSeq.NFData GitHub.Data.PullRequests.PullRequestLinks instance Data.Binary.Class.Binary GitHub.Data.PullRequests.PullRequestLinks instance Control.DeepSeq.NFData GitHub.Data.PullRequests.CreatePullRequest instance Data.Binary.Class.Binary GitHub.Data.PullRequests.CreatePullRequest instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.PullRequests.CreatePullRequest instance Control.DeepSeq.NFData GitHub.Data.PullRequests.EditPullRequest instance Data.Binary.Class.Binary GitHub.Data.PullRequests.EditPullRequest instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.PullRequests.EditPullRequest module GitHub.Data.Issues data Issue Issue :: !Maybe UTCTime -> !UTCTime -> !URL -> !Maybe URL -> !Maybe SimpleUser -> !Vector IssueLabel -> !IssueNumber -> !Vector SimpleUser -> !SimpleUser -> !Text -> !Maybe PullRequestReference -> !URL -> !UTCTime -> !Maybe Text -> !IssueState -> !Id Issue -> !Int -> !Maybe Milestone -> !Maybe IssueStateReason -> Issue [issueClosedAt] :: Issue -> !Maybe UTCTime [issueUpdatedAt] :: Issue -> !UTCTime [issueEventsUrl] :: Issue -> !URL [issueHtmlUrl] :: Issue -> !Maybe URL [issueClosedBy] :: Issue -> !Maybe SimpleUser [issueLabels] :: Issue -> !Vector IssueLabel [issueNumber] :: Issue -> !IssueNumber [issueAssignees] :: Issue -> !Vector SimpleUser [issueUser] :: Issue -> !SimpleUser [issueTitle] :: Issue -> !Text [issuePullRequest] :: Issue -> !Maybe PullRequestReference [issueUrl] :: Issue -> !URL [issueCreatedAt] :: Issue -> !UTCTime [issueBody] :: Issue -> !Maybe Text [issueState] :: Issue -> !IssueState [issueId] :: Issue -> !Id Issue [issueComments] :: Issue -> !Int [issueMilestone] :: Issue -> !Maybe Milestone [issueStateReason] :: Issue -> !Maybe IssueStateReason data NewIssue NewIssue :: !Text -> !Maybe Text -> !Vector (Name User) -> !Maybe (Id Milestone) -> !Maybe (Vector (Name IssueLabel)) -> NewIssue [newIssueTitle] :: NewIssue -> !Text [newIssueBody] :: NewIssue -> !Maybe Text [newIssueAssignees] :: NewIssue -> !Vector (Name User) [newIssueMilestone] :: NewIssue -> !Maybe (Id Milestone) [newIssueLabels] :: NewIssue -> !Maybe (Vector (Name IssueLabel)) data EditIssue EditIssue :: !Maybe Text -> !Maybe Text -> !Maybe (Vector (Name User)) -> !Maybe IssueState -> !Maybe (Id Milestone) -> !Maybe (Vector (Name IssueLabel)) -> EditIssue [editIssueTitle] :: EditIssue -> !Maybe Text [editIssueBody] :: EditIssue -> !Maybe Text [editIssueAssignees] :: EditIssue -> !Maybe (Vector (Name User)) [editIssueState] :: EditIssue -> !Maybe IssueState [editIssueMilestone] :: EditIssue -> !Maybe (Id Milestone) [editIssueLabels] :: EditIssue -> !Maybe (Vector (Name IssueLabel)) data IssueComment IssueComment :: !UTCTime -> !SimpleUser -> !URL -> !URL -> !UTCTime -> !Text -> !Int -> IssueComment [issueCommentUpdatedAt] :: IssueComment -> !UTCTime [issueCommentUser] :: IssueComment -> !SimpleUser [issueCommentUrl] :: IssueComment -> !URL [issueCommentHtmlUrl] :: IssueComment -> !URL [issueCommentCreatedAt] :: IssueComment -> !UTCTime [issueCommentBody] :: IssueComment -> !Text [issueCommentId] :: IssueComment -> !Int -- | See https://developer.github.com/v3/issues/events/#events-1 data EventType -- | The actor was @mentioned in an issue body. Mentioned :: EventType -- | The actor subscribed to receive notifications for an issue. Subscribed :: EventType -- | The issue was unsubscribed from by the actor. Unsubscribed :: EventType -- | The issue was referenced from a commit message. The commit_id -- attribute is the commit SHA1 of where that happened. Referenced :: EventType -- | The issue was merged by the actor. The commit_id attribute is the SHA1 -- of the HEAD commit that was merged. Merged :: EventType -- | The issue was assigned to the actor. Assigned :: EventType -- | The issue was closed by the actor. When the commit_id is present, it -- identifies the commit that closed the issue using “closes / fixes #NN” -- syntax. Closed :: EventType -- | The issue was reopened by the actor. Reopened :: EventType -- | The issue was unassigned to the actor ActorUnassigned :: EventType -- | A label was added to the issue. Labeled :: EventType -- | A label was removed from the issue. Unlabeled :: EventType -- | The issue was added to a milestone. Milestoned :: EventType -- | The issue was removed from a milestone. Demilestoned :: EventType -- | The issue title was changed. Renamed :: EventType -- | The issue was locked by the actor. Locked :: EventType -- | The issue was unlocked by the actor. Unlocked :: EventType -- | The pull request’s branch was deleted. HeadRefDeleted :: EventType -- | The pull request’s branch was restored. HeadRefRestored :: EventType -- | The actor requested review from the subject on this pull request. ReviewRequested :: EventType -- | The actor dismissed a review from the pull request. ReviewDismissed :: EventType -- | The actor removed the review request for the subject on this pull -- request. ReviewRequestRemoved :: EventType -- | A user with write permissions marked an issue as a duplicate of -- another issue or a pull request as a duplicate of another pull -- request. MarkedAsDuplicate :: EventType -- | An issue that a user had previously marked as a duplicate of another -- issue is no longer considered a duplicate, or a pull request that a -- user had previously marked as a duplicate of another pull request is -- no longer considered a duplicate. UnmarkedAsDuplicate :: EventType -- | The issue was added to a project board. AddedToProject :: EventType -- | The issue was moved between columns in a project board. MovedColumnsInProject :: EventType -- | The issue was removed from a project board. RemovedFromProject :: EventType -- | The issue was created by converting a note in a project board to an -- issue. ConvertedNoteToIssue :: EventType -- | Issue event data IssueEvent IssueEvent :: !SimpleUser -> !EventType -> !Maybe Text -> !URL -> !UTCTime -> !Int -> !Maybe Issue -> !Maybe IssueLabel -> IssueEvent [issueEventActor] :: IssueEvent -> !SimpleUser [issueEventType] :: IssueEvent -> !EventType [issueEventCommitId] :: IssueEvent -> !Maybe Text [issueEventUrl] :: IssueEvent -> !URL [issueEventCreatedAt] :: IssueEvent -> !UTCTime [issueEventId] :: IssueEvent -> !Int [issueEventIssue] :: IssueEvent -> !Maybe Issue [issueEventLabel] :: IssueEvent -> !Maybe IssueLabel instance GHC.Generics.Generic GitHub.Data.Issues.Issue instance GHC.Classes.Ord GitHub.Data.Issues.Issue instance GHC.Classes.Eq GitHub.Data.Issues.Issue instance Data.Data.Data GitHub.Data.Issues.Issue instance GHC.Show.Show GitHub.Data.Issues.Issue instance GHC.Generics.Generic GitHub.Data.Issues.NewIssue instance GHC.Classes.Ord GitHub.Data.Issues.NewIssue instance GHC.Classes.Eq GitHub.Data.Issues.NewIssue instance Data.Data.Data GitHub.Data.Issues.NewIssue instance GHC.Show.Show GitHub.Data.Issues.NewIssue instance GHC.Generics.Generic GitHub.Data.Issues.EditIssue instance GHC.Classes.Ord GitHub.Data.Issues.EditIssue instance GHC.Classes.Eq GitHub.Data.Issues.EditIssue instance Data.Data.Data GitHub.Data.Issues.EditIssue instance GHC.Show.Show GitHub.Data.Issues.EditIssue instance GHC.Generics.Generic GitHub.Data.Issues.IssueComment instance GHC.Classes.Ord GitHub.Data.Issues.IssueComment instance GHC.Classes.Eq GitHub.Data.Issues.IssueComment instance Data.Data.Data GitHub.Data.Issues.IssueComment instance GHC.Show.Show GitHub.Data.Issues.IssueComment instance GHC.Generics.Generic GitHub.Data.Issues.EventType instance GHC.Classes.Ord GitHub.Data.Issues.EventType instance GHC.Classes.Eq GitHub.Data.Issues.EventType instance GHC.Enum.Bounded GitHub.Data.Issues.EventType instance GHC.Enum.Enum GitHub.Data.Issues.EventType instance Data.Data.Data GitHub.Data.Issues.EventType instance GHC.Show.Show GitHub.Data.Issues.EventType instance GHC.Generics.Generic GitHub.Data.Issues.IssueEvent instance GHC.Classes.Ord GitHub.Data.Issues.IssueEvent instance GHC.Classes.Eq GitHub.Data.Issues.IssueEvent instance Data.Data.Data GitHub.Data.Issues.IssueEvent instance GHC.Show.Show GitHub.Data.Issues.IssueEvent instance Control.DeepSeq.NFData GitHub.Data.Issues.IssueEvent instance Data.Binary.Class.Binary GitHub.Data.Issues.IssueEvent instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Issues.IssueEvent instance Control.DeepSeq.NFData GitHub.Data.Issues.EventType instance Data.Binary.Class.Binary GitHub.Data.Issues.EventType instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Issues.EventType instance Control.DeepSeq.NFData GitHub.Data.Issues.IssueComment instance Data.Binary.Class.Binary GitHub.Data.Issues.IssueComment instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Issues.IssueComment instance Control.DeepSeq.NFData GitHub.Data.Issues.EditIssue instance Data.Binary.Class.Binary GitHub.Data.Issues.EditIssue instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Issues.EditIssue instance Control.DeepSeq.NFData GitHub.Data.Issues.NewIssue instance Data.Binary.Class.Binary GitHub.Data.Issues.NewIssue instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Issues.NewIssue instance Control.DeepSeq.NFData GitHub.Data.Issues.Issue instance Data.Binary.Class.Binary GitHub.Data.Issues.Issue instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Issues.Issue module GitHub.Data.Invitation data Invitation Invitation :: !Id Invitation -> !Maybe (Name User) -> !Maybe Text -> !InvitationRole -> !UTCTime -> !SimpleUser -> Invitation [invitationId] :: Invitation -> !Id Invitation [invitationLogin] :: Invitation -> !Maybe (Name User) [invitationEmail] :: Invitation -> !Maybe Text [invitationRole] :: Invitation -> !InvitationRole [invitationCreatedAt] :: Invitation -> !UTCTime [inviter] :: Invitation -> !SimpleUser data InvitationRole InvitationRoleDirectMember :: InvitationRole InvitationRoleAdmin :: InvitationRole InvitationRoleBillingManager :: InvitationRole InvitationRoleHiringManager :: InvitationRole InvitationRoleReinstate :: InvitationRole data RepoInvitation RepoInvitation :: !Id RepoInvitation -> !SimpleUser -> !SimpleUser -> !Repo -> !URL -> !UTCTime -> !Text -> !URL -> RepoInvitation [repoInvitationId] :: RepoInvitation -> !Id RepoInvitation [repoInvitationInvitee] :: RepoInvitation -> !SimpleUser [repoInvitationInviter] :: RepoInvitation -> !SimpleUser [repoInvitationRepo] :: RepoInvitation -> !Repo [repoInvitationUrl] :: RepoInvitation -> !URL [repoInvitationCreatedAt] :: RepoInvitation -> !UTCTime [repoInvitationPermission] :: RepoInvitation -> !Text [repoInvitationHtmlUrl] :: RepoInvitation -> !URL instance Data.Data.Data GitHub.Data.Invitation.InvitationRole instance GHC.Generics.Generic GitHub.Data.Invitation.InvitationRole instance GHC.Enum.Bounded GitHub.Data.Invitation.InvitationRole instance GHC.Enum.Enum GitHub.Data.Invitation.InvitationRole instance GHC.Show.Show GitHub.Data.Invitation.InvitationRole instance GHC.Classes.Ord GitHub.Data.Invitation.InvitationRole instance GHC.Classes.Eq GitHub.Data.Invitation.InvitationRole instance GHC.Generics.Generic GitHub.Data.Invitation.Invitation instance GHC.Classes.Ord GitHub.Data.Invitation.Invitation instance GHC.Classes.Eq GitHub.Data.Invitation.Invitation instance Data.Data.Data GitHub.Data.Invitation.Invitation instance GHC.Show.Show GitHub.Data.Invitation.Invitation instance GHC.Generics.Generic GitHub.Data.Invitation.RepoInvitation instance GHC.Classes.Ord GitHub.Data.Invitation.RepoInvitation instance GHC.Classes.Eq GitHub.Data.Invitation.RepoInvitation instance Data.Data.Data GitHub.Data.Invitation.RepoInvitation instance GHC.Show.Show GitHub.Data.Invitation.RepoInvitation instance Control.DeepSeq.NFData GitHub.Data.Invitation.RepoInvitation instance Data.Binary.Class.Binary GitHub.Data.Invitation.RepoInvitation instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Invitation.RepoInvitation instance Control.DeepSeq.NFData GitHub.Data.Invitation.Invitation instance Data.Binary.Class.Binary GitHub.Data.Invitation.Invitation instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Invitation.Invitation instance Control.DeepSeq.NFData GitHub.Data.Invitation.InvitationRole instance Data.Binary.Class.Binary GitHub.Data.Invitation.InvitationRole instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Invitation.InvitationRole module GitHub.Data.GitData -- | The options for querying commits. data CommitQueryOption CommitQuerySha :: !Text -> CommitQueryOption CommitQueryPath :: !Text -> CommitQueryOption CommitQueryAuthor :: !Text -> CommitQueryOption CommitQuerySince :: !UTCTime -> CommitQueryOption CommitQueryUntil :: !UTCTime -> CommitQueryOption data Stats Stats :: !Int -> !Int -> !Int -> Stats [statsAdditions] :: Stats -> !Int [statsTotal] :: Stats -> !Int [statsDeletions] :: Stats -> !Int data Commit Commit :: !Name Commit -> !Vector Tree -> !URL -> !GitCommit -> !Maybe SimpleUser -> !Maybe SimpleUser -> !Vector File -> !Maybe Stats -> Commit [commitSha] :: Commit -> !Name Commit [commitParents] :: Commit -> !Vector Tree [commitUrl] :: Commit -> !URL [commitGitCommit] :: Commit -> !GitCommit [commitCommitter] :: Commit -> !Maybe SimpleUser [commitAuthor] :: Commit -> !Maybe SimpleUser [commitFiles] :: Commit -> !Vector File [commitStats] :: Commit -> !Maybe Stats data Tree Tree :: !Name Tree -> !URL -> !Vector GitTree -> Tree [treeSha] :: Tree -> !Name Tree [treeUrl] :: Tree -> !URL [treeGitTrees] :: Tree -> !Vector GitTree data GitTree GitTree :: !Text -> !Name GitTree -> !Maybe URL -> !Maybe Int -> !Text -> !Text -> GitTree [gitTreeType] :: GitTree -> !Text [gitTreeSha] :: GitTree -> !Name GitTree [gitTreeUrl] :: GitTree -> !Maybe URL [gitTreeSize] :: GitTree -> !Maybe Int [gitTreePath] :: GitTree -> !Text [gitTreeMode] :: GitTree -> !Text data GitCommit GitCommit :: !Text -> !URL -> !GitUser -> !GitUser -> !Tree -> !Maybe (Name GitCommit) -> !Vector Tree -> GitCommit [gitCommitMessage] :: GitCommit -> !Text [gitCommitUrl] :: GitCommit -> !URL [gitCommitCommitter] :: GitCommit -> !GitUser [gitCommitAuthor] :: GitCommit -> !GitUser [gitCommitTree] :: GitCommit -> !Tree [gitCommitSha] :: GitCommit -> !Maybe (Name GitCommit) [gitCommitParents] :: GitCommit -> !Vector Tree data Blob Blob :: !URL -> !Text -> !Text -> !Name Blob -> !Int -> Blob [blobUrl] :: Blob -> !URL [blobEncoding] :: Blob -> !Text [blobContent] :: Blob -> !Text [blobSha] :: Blob -> !Name Blob [blobSize] :: Blob -> !Int data Tag Tag :: !Text -> !URL -> !URL -> !BranchCommit -> Tag [tagName] :: Tag -> !Text [tagZipballUrl] :: Tag -> !URL [tagTarballUrl] :: Tag -> !URL [tagCommit] :: Tag -> !BranchCommit data Branch Branch :: !Text -> !BranchCommit -> Branch [branchName] :: Branch -> !Text [branchCommit] :: Branch -> !BranchCommit data BranchCommit BranchCommit :: !Text -> !URL -> BranchCommit [branchCommitSha] :: BranchCommit -> !Text [branchCommitUrl] :: BranchCommit -> !URL data Diff Diff :: !Text -> !Int -> !URL -> !URL -> !Commit -> !Vector Commit -> !Int -> !URL -> !Vector File -> !Int -> !URL -> !URL -> Diff [diffStatus] :: Diff -> !Text [diffBehindBy] :: Diff -> !Int [diffPatchUrl] :: Diff -> !URL [diffUrl] :: Diff -> !URL [diffBaseCommit] :: Diff -> !Commit [diffCommits] :: Diff -> !Vector Commit [diffTotalCommits] :: Diff -> !Int [diffHtmlUrl] :: Diff -> !URL [diffFiles] :: Diff -> !Vector File [diffAheadBy] :: Diff -> !Int [diffDiffUrl] :: Diff -> !URL [diffPermalinkUrl] :: Diff -> !URL data NewGitReference NewGitReference :: !Text -> !Text -> NewGitReference [newGitReferenceRef] :: NewGitReference -> !Text [newGitReferenceSha] :: NewGitReference -> !Text data GitReference GitReference :: !GitObject -> !URL -> !Name GitReference -> GitReference [gitReferenceObject] :: GitReference -> !GitObject [gitReferenceUrl] :: GitReference -> !URL [gitReferenceRef] :: GitReference -> !Name GitReference data GitObject GitObject :: !Text -> !Text -> !URL -> GitObject [gitObjectType] :: GitObject -> !Text [gitObjectSha] :: GitObject -> !Text [gitObjectUrl] :: GitObject -> !URL data GitUser GitUser :: !Text -> !Text -> !UTCTime -> GitUser [gitUserName] :: GitUser -> !Text [gitUserEmail] :: GitUser -> !Text [gitUserDate] :: GitUser -> !UTCTime data File File :: !Maybe URL -> !Text -> !Maybe URL -> !Int -> !Maybe Text -> !Int -> !Maybe Text -> !Text -> !Int -> File [fileBlobUrl] :: File -> !Maybe URL [fileStatus] :: File -> !Text [fileRawUrl] :: File -> !Maybe URL [fileAdditions] :: File -> !Int [fileSha] :: File -> !Maybe Text [fileChanges] :: File -> !Int [filePatch] :: File -> !Maybe Text [fileFilename] :: File -> !Text [fileDeletions] :: File -> !Int instance Data.Data.Data GitHub.Data.GitData.CommitQueryOption instance GHC.Generics.Generic GitHub.Data.GitData.CommitQueryOption instance GHC.Classes.Ord GitHub.Data.GitData.CommitQueryOption instance GHC.Classes.Eq GitHub.Data.GitData.CommitQueryOption instance GHC.Show.Show GitHub.Data.GitData.CommitQueryOption instance GHC.Generics.Generic GitHub.Data.GitData.Stats instance GHC.Classes.Ord GitHub.Data.GitData.Stats instance GHC.Classes.Eq GitHub.Data.GitData.Stats instance Data.Data.Data GitHub.Data.GitData.Stats instance GHC.Show.Show GitHub.Data.GitData.Stats instance GHC.Generics.Generic GitHub.Data.GitData.GitTree instance GHC.Classes.Ord GitHub.Data.GitData.GitTree instance GHC.Classes.Eq GitHub.Data.GitData.GitTree instance Data.Data.Data GitHub.Data.GitData.GitTree instance GHC.Show.Show GitHub.Data.GitData.GitTree instance GHC.Generics.Generic GitHub.Data.GitData.Tree instance GHC.Classes.Ord GitHub.Data.GitData.Tree instance GHC.Classes.Eq GitHub.Data.GitData.Tree instance Data.Data.Data GitHub.Data.GitData.Tree instance GHC.Show.Show GitHub.Data.GitData.Tree instance GHC.Generics.Generic GitHub.Data.GitData.Blob instance GHC.Classes.Ord GitHub.Data.GitData.Blob instance GHC.Classes.Eq GitHub.Data.GitData.Blob instance Data.Data.Data GitHub.Data.GitData.Blob instance GHC.Show.Show GitHub.Data.GitData.Blob instance GHC.Generics.Generic GitHub.Data.GitData.BranchCommit instance GHC.Classes.Ord GitHub.Data.GitData.BranchCommit instance GHC.Classes.Eq GitHub.Data.GitData.BranchCommit instance Data.Data.Data GitHub.Data.GitData.BranchCommit instance GHC.Show.Show GitHub.Data.GitData.BranchCommit instance GHC.Generics.Generic GitHub.Data.GitData.Branch instance GHC.Classes.Ord GitHub.Data.GitData.Branch instance GHC.Classes.Eq GitHub.Data.GitData.Branch instance Data.Data.Data GitHub.Data.GitData.Branch instance GHC.Show.Show GitHub.Data.GitData.Branch instance GHC.Generics.Generic GitHub.Data.GitData.Tag instance GHC.Classes.Ord GitHub.Data.GitData.Tag instance GHC.Classes.Eq GitHub.Data.GitData.Tag instance Data.Data.Data GitHub.Data.GitData.Tag instance GHC.Show.Show GitHub.Data.GitData.Tag instance GHC.Generics.Generic GitHub.Data.GitData.NewGitReference instance GHC.Classes.Ord GitHub.Data.GitData.NewGitReference instance GHC.Classes.Eq GitHub.Data.GitData.NewGitReference instance Data.Data.Data GitHub.Data.GitData.NewGitReference instance GHC.Show.Show GitHub.Data.GitData.NewGitReference instance GHC.Generics.Generic GitHub.Data.GitData.GitObject instance GHC.Classes.Ord GitHub.Data.GitData.GitObject instance GHC.Classes.Eq GitHub.Data.GitData.GitObject instance Data.Data.Data GitHub.Data.GitData.GitObject instance GHC.Show.Show GitHub.Data.GitData.GitObject instance GHC.Generics.Generic GitHub.Data.GitData.GitReference instance GHC.Classes.Ord GitHub.Data.GitData.GitReference instance GHC.Classes.Eq GitHub.Data.GitData.GitReference instance Data.Data.Data GitHub.Data.GitData.GitReference instance GHC.Show.Show GitHub.Data.GitData.GitReference instance GHC.Generics.Generic GitHub.Data.GitData.GitUser instance GHC.Classes.Ord GitHub.Data.GitData.GitUser instance GHC.Classes.Eq GitHub.Data.GitData.GitUser instance Data.Data.Data GitHub.Data.GitData.GitUser instance GHC.Show.Show GitHub.Data.GitData.GitUser instance GHC.Generics.Generic GitHub.Data.GitData.GitCommit instance GHC.Classes.Ord GitHub.Data.GitData.GitCommit instance GHC.Classes.Eq GitHub.Data.GitData.GitCommit instance Data.Data.Data GitHub.Data.GitData.GitCommit instance GHC.Show.Show GitHub.Data.GitData.GitCommit instance GHC.Generics.Generic GitHub.Data.GitData.File instance GHC.Classes.Ord GitHub.Data.GitData.File instance GHC.Classes.Eq GitHub.Data.GitData.File instance Data.Data.Data GitHub.Data.GitData.File instance GHC.Show.Show GitHub.Data.GitData.File instance GHC.Generics.Generic GitHub.Data.GitData.Commit instance GHC.Classes.Ord GitHub.Data.GitData.Commit instance GHC.Classes.Eq GitHub.Data.GitData.Commit instance Data.Data.Data GitHub.Data.GitData.Commit instance GHC.Show.Show GitHub.Data.GitData.Commit instance GHC.Generics.Generic GitHub.Data.GitData.Diff instance GHC.Classes.Ord GitHub.Data.GitData.Diff instance GHC.Classes.Eq GitHub.Data.GitData.Diff instance Data.Data.Data GitHub.Data.GitData.Diff instance GHC.Show.Show GitHub.Data.GitData.Diff instance Control.DeepSeq.NFData GitHub.Data.GitData.Diff instance Data.Binary.Class.Binary GitHub.Data.GitData.Diff instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.Diff instance Control.DeepSeq.NFData GitHub.Data.GitData.Commit instance Data.Binary.Class.Binary GitHub.Data.GitData.Commit instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.Commit instance Control.DeepSeq.NFData GitHub.Data.GitData.File instance Data.Binary.Class.Binary GitHub.Data.GitData.File instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.File instance Control.DeepSeq.NFData GitHub.Data.GitData.GitCommit instance Data.Binary.Class.Binary GitHub.Data.GitData.GitCommit instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.GitCommit instance Control.DeepSeq.NFData GitHub.Data.GitData.GitUser instance Data.Binary.Class.Binary GitHub.Data.GitData.GitUser instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.GitUser instance Control.DeepSeq.NFData GitHub.Data.GitData.GitReference instance Data.Binary.Class.Binary GitHub.Data.GitData.GitReference instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.GitReference instance Control.DeepSeq.NFData GitHub.Data.GitData.GitObject instance Data.Binary.Class.Binary GitHub.Data.GitData.GitObject instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.GitObject instance Control.DeepSeq.NFData GitHub.Data.GitData.NewGitReference instance Data.Binary.Class.Binary GitHub.Data.GitData.NewGitReference instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.GitData.NewGitReference instance Control.DeepSeq.NFData GitHub.Data.GitData.Tag instance Data.Binary.Class.Binary GitHub.Data.GitData.Tag instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.Tag instance Control.DeepSeq.NFData GitHub.Data.GitData.Branch instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.Branch instance Control.DeepSeq.NFData GitHub.Data.GitData.BranchCommit instance Data.Binary.Class.Binary GitHub.Data.GitData.BranchCommit instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.BranchCommit instance Control.DeepSeq.NFData GitHub.Data.GitData.Blob instance Data.Binary.Class.Binary GitHub.Data.GitData.Blob instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.Blob instance Control.DeepSeq.NFData GitHub.Data.GitData.Tree instance Data.Binary.Class.Binary GitHub.Data.GitData.Tree instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.Tree instance Control.DeepSeq.NFData GitHub.Data.GitData.GitTree instance Data.Binary.Class.Binary GitHub.Data.GitData.GitTree instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.GitTree instance Control.DeepSeq.NFData GitHub.Data.GitData.Stats instance Data.Binary.Class.Binary GitHub.Data.GitData.Stats instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.GitData.Stats module GitHub.Data.Statuses data StatusState StatusPending :: StatusState StatusSuccess :: StatusState StatusError :: StatusState StatusFailure :: StatusState data Status Status :: !UTCTime -> !UTCTime -> !StatusState -> !Maybe URL -> !Maybe Text -> !Id Status -> !URL -> !Maybe Text -> !Maybe SimpleUser -> Status [statusCreatedAt] :: Status -> !UTCTime [statusUpdatedAt] :: Status -> !UTCTime [statusState] :: Status -> !StatusState [statusTargetUrl] :: Status -> !Maybe URL [statusDescription] :: Status -> !Maybe Text [statusId] :: Status -> !Id Status [statusUrl] :: Status -> !URL [statusContext] :: Status -> !Maybe Text [statusCreator] :: Status -> !Maybe SimpleUser data NewStatus NewStatus :: !StatusState -> !Maybe URL -> !Maybe Text -> !Maybe Text -> NewStatus [newStatusState] :: NewStatus -> !StatusState [newStatusTargetUrl] :: NewStatus -> !Maybe URL [newStatusDescription] :: NewStatus -> !Maybe Text [newStatusContext] :: NewStatus -> !Maybe Text data CombinedStatus CombinedStatus :: !StatusState -> !Name Commit -> !Int -> !Vector Status -> !RepoRef -> !URL -> !URL -> CombinedStatus [combinedStatusState] :: CombinedStatus -> !StatusState [combinedStatusSha] :: CombinedStatus -> !Name Commit [combinedStatusTotalCount] :: CombinedStatus -> !Int [combinedStatusStatuses] :: CombinedStatus -> !Vector Status [combinedStatusRepository] :: CombinedStatus -> !RepoRef [combinedStatusCommitUrl] :: CombinedStatus -> !URL [combinedStatusUrl] :: CombinedStatus -> !URL instance GHC.Generics.Generic GitHub.Data.Statuses.StatusState instance GHC.Classes.Ord GitHub.Data.Statuses.StatusState instance GHC.Classes.Eq GitHub.Data.Statuses.StatusState instance GHC.Enum.Bounded GitHub.Data.Statuses.StatusState instance GHC.Enum.Enum GitHub.Data.Statuses.StatusState instance Data.Data.Data GitHub.Data.Statuses.StatusState instance GHC.Show.Show GitHub.Data.Statuses.StatusState instance GHC.Generics.Generic GitHub.Data.Statuses.Status instance GHC.Classes.Ord GitHub.Data.Statuses.Status instance GHC.Classes.Eq GitHub.Data.Statuses.Status instance Data.Data.Data GitHub.Data.Statuses.Status instance GHC.Show.Show GitHub.Data.Statuses.Status instance GHC.Generics.Generic GitHub.Data.Statuses.NewStatus instance GHC.Classes.Ord GitHub.Data.Statuses.NewStatus instance GHC.Classes.Eq GitHub.Data.Statuses.NewStatus instance Data.Data.Data GitHub.Data.Statuses.NewStatus instance GHC.Show.Show GitHub.Data.Statuses.NewStatus instance GHC.Generics.Generic GitHub.Data.Statuses.CombinedStatus instance GHC.Classes.Ord GitHub.Data.Statuses.CombinedStatus instance GHC.Classes.Eq GitHub.Data.Statuses.CombinedStatus instance Data.Data.Data GitHub.Data.Statuses.CombinedStatus instance GHC.Show.Show GitHub.Data.Statuses.CombinedStatus instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Statuses.CombinedStatus instance Control.DeepSeq.NFData GitHub.Data.Statuses.NewStatus instance Data.Binary.Class.Binary GitHub.Data.Statuses.NewStatus instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Statuses.NewStatus instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Statuses.Status instance Control.DeepSeq.NFData GitHub.Data.Statuses.StatusState instance Data.Binary.Class.Binary GitHub.Data.Statuses.StatusState instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Statuses.StatusState instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Statuses.StatusState module GitHub.Data.Gists data Gist Gist :: !SimpleUser -> !URL -> !URL -> !Maybe Text -> !UTCTime -> !Bool -> !Int -> !UTCTime -> !URL -> !Name Gist -> !HashMap Text GistFile -> !URL -> Gist [gistUser] :: Gist -> !SimpleUser [gistGitPushUrl] :: Gist -> !URL [gistUrl] :: Gist -> !URL [gistDescription] :: Gist -> !Maybe Text [gistCreatedAt] :: Gist -> !UTCTime [gistPublic] :: Gist -> !Bool [gistComments] :: Gist -> !Int [gistUpdatedAt] :: Gist -> !UTCTime [gistHtmlUrl] :: Gist -> !URL [gistId] :: Gist -> !Name Gist [gistFiles] :: Gist -> !HashMap Text GistFile [gistGitPullUrl] :: Gist -> !URL data GistFile GistFile :: !Text -> !URL -> !Int -> !Maybe Language -> !Text -> !Maybe Text -> GistFile [gistFileType] :: GistFile -> !Text [gistFileRawUrl] :: GistFile -> !URL [gistFileSize] :: GistFile -> !Int [gistFileLanguage] :: GistFile -> !Maybe Language [gistFileFilename] :: GistFile -> !Text [gistFileContent] :: GistFile -> !Maybe Text data GistComment GistComment :: !SimpleUser -> !URL -> !UTCTime -> !Text -> !UTCTime -> !Id GistComment -> GistComment [gistCommentUser] :: GistComment -> !SimpleUser [gistCommentUrl] :: GistComment -> !URL [gistCommentCreatedAt] :: GistComment -> !UTCTime [gistCommentBody] :: GistComment -> !Text [gistCommentUpdatedAt] :: GistComment -> !UTCTime [gistCommentId] :: GistComment -> !Id GistComment data NewGist NewGist :: !Maybe Text -> !HashMap Text NewGistFile -> !Maybe Bool -> NewGist [newGistDescription] :: NewGist -> !Maybe Text [newGistFiles] :: NewGist -> !HashMap Text NewGistFile [newGistPublic] :: NewGist -> !Maybe Bool data NewGistFile NewGistFile :: !Text -> NewGistFile [newGistFileContent] :: NewGistFile -> !Text instance GHC.Generics.Generic GitHub.Data.Gists.GistFile instance GHC.Classes.Eq GitHub.Data.Gists.GistFile instance Data.Data.Data GitHub.Data.Gists.GistFile instance GHC.Show.Show GitHub.Data.Gists.GistFile instance GHC.Generics.Generic GitHub.Data.Gists.Gist instance GHC.Classes.Eq GitHub.Data.Gists.Gist instance Data.Data.Data GitHub.Data.Gists.Gist instance GHC.Show.Show GitHub.Data.Gists.Gist instance GHC.Generics.Generic GitHub.Data.Gists.GistComment instance GHC.Classes.Ord GitHub.Data.Gists.GistComment instance GHC.Classes.Eq GitHub.Data.Gists.GistComment instance Data.Data.Data GitHub.Data.Gists.GistComment instance GHC.Show.Show GitHub.Data.Gists.GistComment instance GHC.Generics.Generic GitHub.Data.Gists.NewGistFile instance GHC.Classes.Eq GitHub.Data.Gists.NewGistFile instance Data.Data.Data GitHub.Data.Gists.NewGistFile instance GHC.Show.Show GitHub.Data.Gists.NewGistFile instance GHC.Generics.Generic GitHub.Data.Gists.NewGist instance GHC.Classes.Eq GitHub.Data.Gists.NewGist instance Data.Data.Data GitHub.Data.Gists.NewGist instance GHC.Show.Show GitHub.Data.Gists.NewGist instance Control.DeepSeq.NFData GitHub.Data.Gists.NewGist instance Data.Binary.Class.Binary GitHub.Data.Gists.NewGist instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Gists.NewGist instance Control.DeepSeq.NFData GitHub.Data.Gists.NewGistFile instance Data.Binary.Class.Binary GitHub.Data.Gists.NewGistFile instance Data.Aeson.Types.ToJSON.ToJSON GitHub.Data.Gists.NewGistFile instance Control.DeepSeq.NFData GitHub.Data.Gists.GistComment instance Data.Binary.Class.Binary GitHub.Data.Gists.GistComment instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Gists.GistComment instance Control.DeepSeq.NFData GitHub.Data.Gists.Gist instance Data.Binary.Class.Binary GitHub.Data.Gists.Gist instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Gists.Gist instance Control.DeepSeq.NFData GitHub.Data.Gists.GistFile instance Data.Binary.Class.Binary GitHub.Data.Gists.GistFile instance Data.Aeson.Types.FromJSON.FromJSON GitHub.Data.Gists.GistFile module GitHub.Data.Events -- | Events. -- -- TODO: -- --
-- >>> github' userInfoForR "mike-burns" ---- -- or -- --
-- >>> github userInfoForR (OAuth "github-token") "mike-burns" --userInfoForR :: Name User -> Request k User -- | Query a single user or an organization. See -- https://developer.github.com/v3/users/#get-a-single-user ownerInfoForR :: Name Owner -> Request k Owner -- | Query the authenticated user. See -- https://developer.github.com/v3/users/#get-the-authenticated-user userInfoCurrentR :: Request 'RA User -- | The Github Search API, as described at -- http://developer.github.com/v3/search/. module GitHub.Endpoints.Search -- | Search repositories. See -- https://developer.github.com/v3/search/#search-repositories searchReposR :: Text -> FetchCount -> Request k (SearchResult Repo) -- | Search code. See -- https://developer.github.com/v3/search/#search-code searchCodeR :: Text -> FetchCount -> Request k (SearchResult Code) -- | Search issues. See -- https://developer.github.com/v3/search/#search-issues searchIssuesR :: Text -> FetchCount -> Request k (SearchResult Issue) -- | Search users. See -- https://developer.github.com/v3/search/#search-code searchUsersR :: Text -> FetchCount -> Request k (SearchResult SimpleUser) -- | The webhooks API, as described at -- https://developer.github.com/v3/repos/hooks/ -- https://developer.github.com/webhooks module GitHub.Endpoints.Repos.Webhooks -- | List hooks. See -- https://developer.github.com/v3/repos/hooks/#list-hooks webhooksForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector RepoWebhook) webhookForR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request k RepoWebhook -- | Create a hook. See -- https://developer.github.com/v3/repos/hooks/#create-a-hook createRepoWebhookR :: Name Owner -> Name Repo -> NewRepoWebhook -> Request 'RW RepoWebhook -- | Edit a hook. See -- https://developer.github.com/v3/repos/hooks/#edit-a-hook editRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> EditRepoWebhook -> Request 'RW RepoWebhook -- | Test a push hook. See -- https://developer.github.com/v3/repos/hooks/#test-a-push-hook testPushRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> GenRequest 'MtStatus 'RW Bool -- | Ping a hook. See -- https://developer.github.com/v3/repos/hooks/#ping-a-hook pingRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> GenRequest 'MtStatus 'RW Bool -- | Delete a hook. See -- https://developer.github.com/v3/repos/hooks/#delete-a-hook deleteRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> GenRequest 'MtUnit 'RW () -- | The repo statuses API as described on -- https://developer.github.com/v3/repos/statuses/. module GitHub.Endpoints.Repos.Statuses -- | Create a new status See -- https://developer.github.com/v3/repos/statuses/#create-a-status createStatusR :: Name Owner -> Name Repo -> Name Commit -> NewStatus -> Request 'RW Status -- | All statuses for a commit See -- https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref statusesForR :: Name Owner -> Name Repo -> Name Commit -> FetchCount -> Request 'RW (Vector Status) -- | The combined status for a specific commit See -- https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref statusForR :: Name Owner -> Name Repo -> Name Commit -> Request 'RW CombinedStatus module GitHub.Endpoints.Repos.Releases -- | List releases for a repository. See -- https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository releasesR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Release) -- | Get a single release. See -- https://developer.github.com/v3/repos/releases/#get-a-single-release releaseR :: Name Owner -> Name Repo -> Id Release -> Request k Release -- | Get the latest release. See -- https://developer.github.com/v3/repos/releases/#get-the-latest-release latestReleaseR :: Name Owner -> Name Repo -> Request k Release -- | Get a release by tag name See -- https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name releaseByTagNameR :: Name Owner -> Name Repo -> Text -> Request k Release -- | The repo invitations API as described on -- https://developer.github.com/v3/repos/invitations/. module GitHub.Endpoints.Repos.Invitations -- | List open invitations of a repository See -- https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository listInvitationsOnR :: Name Owner -> Name Repo -> FetchCount -> GenRequest 'MtJSON k (Vector RepoInvitation) -- | List a user's repository invitations See -- https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations listInvitationsForR :: FetchCount -> Request k (Vector RepoInvitation) -- | Accept a repository invitation See -- https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation acceptInvitationFromR :: Id RepoInvitation -> GenRequest 'MtUnit 'RW () -- | Hot forking action, as described at -- http://developer.github.com/v3/repos/forks/. module GitHub.Endpoints.Repos.Forks -- | List forks. See -- https://developer.github.com/v3/repos/forks/#list-forks forksForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Repo) -- | The deployments API, as described at -- https://developer.github.com/v3/repos/deployments/ module GitHub.Endpoints.Repos.Deployments -- | List deployments. See -- https://developer.github.com/v3/repos/deployments/#list-deployments deploymentsWithOptionsForR :: FromJSON a => Name Owner -> Name Repo -> FetchCount -> [DeploymentQueryOption] -> Request 'RA (Vector (Deployment a)) -- | Create a deployment. See -- https://developer.github.com/v3/repos/deployments/#create-a-deployment createDeploymentR :: (ToJSON a, FromJSON a) => Name Owner -> Name Repo -> CreateDeployment a -> Request 'RW (Deployment a) -- | List deployment statuses. See -- https://developer.github.com/v3/repos/deployments/#list-deployment-statuses deploymentStatusesForR :: Name Owner -> Name Repo -> Id (Deployment a) -> FetchCount -> Request 'RA (Vector DeploymentStatus) -- | Create a deployment status. See -- https://developer.github.com/v3/repos/deployments/#list-deployment-statuses createDeploymentStatusR :: Name Owner -> Name Repo -> Id (Deployment a) -> CreateDeploymentStatus -> Request 'RW DeploymentStatus -- | The deploy keys API, as described at -- https://developer.github.com/v3/repos/keys module GitHub.Endpoints.Repos.DeployKeys -- | Querying deploy keys. See -- https://developer.github.com/v3/repos/keys/#list-deploy-keys deployKeysForR :: Name Owner -> Name Repo -> FetchCount -> Request 'RA (Vector RepoDeployKey) -- | Querying a deploy key. See -- https://developer.github.com/v3/repos/keys/#get-a-deploy-key deployKeyForR :: Name Owner -> Name Repo -> Id RepoDeployKey -> Request 'RA RepoDeployKey -- | Create a deploy key. See -- https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key. createRepoDeployKeyR :: Name Owner -> Name Repo -> NewRepoDeployKey -> Request 'RW RepoDeployKey -- | Delete a deploy key. See -- https://developer.github.com/v3/repos/keys/#remove-a-deploy-key deleteRepoDeployKeyR :: Name Owner -> Name Repo -> Id RepoDeployKey -> GenRequest 'MtUnit 'RW () -- | The Github Repo Contents API, as documented at -- https://developer.github.com/v3/repos/contents/ module GitHub.Endpoints.Repos.Contents contentsForR :: Name Owner -> Name Repo -> Text -> Maybe Text -> Request k Content readmeForR :: Name Owner -> Name Repo -> Request k Content -- | Get archive link. See -- https://developer.github.com/v3/repos/contents/#get-archive-link archiveForR :: Name Owner -> Name Repo -> ArchiveFormat -> Maybe Text -> GenRequest 'MtRedirect rw URI -- | Create a file. See -- https://developer.github.com/v3/repos/contents/#create-a-file createFileR :: Name Owner -> Name Repo -> CreateFile -> Request 'RW ContentResult -- | Update a file. See -- https://developer.github.com/v3/repos/contents/#update-a-file updateFileR :: Name Owner -> Name Repo -> UpdateFile -> Request 'RW ContentResult -- | Delete a file. See -- https://developer.github.com/v3/repos/contents/#delete-a-file deleteFileR :: Name Owner -> Name Repo -> DeleteFile -> GenRequest 'MtUnit 'RW () -- | The repo commits API as described on -- http://developer.github.com/v3/repos/commits/. module GitHub.Endpoints.Repos.Commits -- | The options for querying commits. data CommitQueryOption CommitQuerySha :: !Text -> CommitQueryOption CommitQueryPath :: !Text -> CommitQueryOption CommitQueryAuthor :: !Text -> CommitQueryOption CommitQuerySince :: !UTCTime -> CommitQueryOption CommitQueryUntil :: !UTCTime -> CommitQueryOption -- | List commits on a repository. See -- https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository commitsForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Commit) -- | List commits on a repository. See -- https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository commitsWithOptionsForR :: Name Owner -> Name Repo -> FetchCount -> [CommitQueryOption] -> Request k (Vector Commit) -- | Query a single commit. See -- https://developer.github.com/v3/repos/commits/#get-a-single-commit commitR :: Name Owner -> Name Repo -> Name Commit -> Request k Commit -- | Compare two commits. See -- https://developer.github.com/v3/repos/commits/#compare-two-commits diffR :: Name Owner -> Name Repo -> Name Commit -> Name Commit -> Request k Diff -- | The repo commits API as described on -- http://developer.github.com/v3/repos/comments/. module GitHub.Endpoints.Repos.Comments -- | List commit comments for a repository. See -- https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository commentsForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Comment) -- | List comments for a single commit. See -- https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit commitCommentsForR :: Name Owner -> Name Repo -> Name Commit -> FetchCount -> Request k (Vector Comment) -- | Query a single commit comment. See -- https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment commitCommentForR :: Name Owner -> Name Repo -> Id Comment -> Request k Comment -- | The repo collaborators API as described on -- http://developer.github.com/v3/repos/collaborators/. module GitHub.Endpoints.Repos.Collaborators -- | List collaborators. See -- https://developer.github.com/v3/repos/collaborators/#list-collaborators collaboratorsOnR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector SimpleUser) -- | Review a user's permission level. -- https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level collaboratorPermissionOnR :: Name Owner -> Name Repo -> Name User -> GenRequest 'MtJSON rw CollaboratorWithPermission -- | Check if a user is a collaborator. See -- https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator isCollaboratorOnR :: Name Owner -> Name Repo -> Name User -> GenRequest 'MtStatus rw Bool -- | Invite a user as a collaborator. See -- https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator addCollaboratorR :: Name Owner -> Name Repo -> Name User -> GenRequest 'MtJSON 'RW (Maybe RepoInvitation) -- | The Github Repos API, as documented at -- http://developer.github.com/v3/repos/ module GitHub.Endpoints.Repos -- | List your repositories. See -- https://docs.github.com/en/rest/reference/repos#list-repositories-for-the-authenticated-user currentUserReposR :: RepoPublicity -> FetchCount -> Request k (Vector Repo) -- | List user repositories. See -- https://docs.github.com/en/rest/reference/repos#list-repositories-for-a-user userReposR :: Name Owner -> RepoPublicity -> FetchCount -> Request k (Vector Repo) -- | List organization repositories. See -- https://docs.github.com/en/rest/reference/repos#list-organization-repositories organizationReposR :: Name Organization -> RepoPublicity -> FetchCount -> Request k (Vector Repo) -- | Query single repository. See -- https://developer.github.com/v3/repos/#get repositoryR :: Name Owner -> Name Repo -> Request k Repo -- | List contributors. See -- https://developer.github.com/v3/repos/#list-contributors contributorsR :: Name Owner -> Name Repo -> Bool -> FetchCount -> Request k (Vector Contributor) -- | List languages. See -- https://developer.github.com/v3/repos/#list-languages languagesForR :: Name Owner -> Name Repo -> Request k Languages -- | List tags. See https://developer.github.com/v3/repos/#list-tags tagsForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Tag) -- | List branches. See -- https://developer.github.com/v3/repos/#list-branches branchesForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Branch) -- | Create a new repository. See -- https://developer.github.com/v3/repos/#create createRepoR :: NewRepo -> Request 'RW Repo -- | Create a new repository for an organization. See -- https://developer.github.com/v3/repos/#create createOrganizationRepoR :: Name Organization -> NewRepo -> Request 'RW Repo -- | Fork an existing repository. See -- https://developer.github.com/v3/repos/forks/#create-a-fork -- TODO: The third paramater (an optional Organisation) is not used yet. forkExistingRepoR :: Name Owner -> Name Repo -> Maybe (Name Owner) -> Request 'RW Repo -- | Edit an existing repository. See -- https://developer.github.com/v3/repos/#edit editRepoR :: Name Owner -> Name Repo -> EditRepo -> Request 'RW Repo -- | Delete a repository,. See -- https://developer.github.com/v3/repos/#delete-a-repository deleteRepoR :: Name Owner -> Name Repo -> GenRequest 'MtUnit 'RW () -- | The Github RateLimit API, as described at -- http://developer.github.com/v3/rate_limit/. module GitHub.Endpoints.RateLimit -- | Get your current rate limit status. -- https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status rateLimitR :: Request k RateLimit -- | The reviews API as described on -- http://developer.github.com/v3/pulls/reviews/. module GitHub.Endpoints.PullRequests.Reviews -- | List reviews for a pull request. See -- https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request pullRequestReviewsR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector Review) -- | Query a single pull request review. see -- https://developer.github.com/v3/pulls/reviews/#get-a-single-review pullRequestReviewR :: Name Owner -> Name Repo -> IssueNumber -> Id Review -> Request k Review -- | Query the comments for a single pull request review. see -- https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review pullRequestReviewCommentsR :: Name Owner -> Name Repo -> IssueNumber -> Id Review -> Request k [ReviewComment] -- | The pull request review comments API as described at -- http://developer.github.com/v3/pulls/comments/. module GitHub.Endpoints.PullRequests.Comments -- | List comments on a pull request. See -- https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request pullRequestCommentsR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector Comment) -- | Query a single comment. See -- https://developer.github.com/v3/pulls/comments/#get-a-single-comment pullRequestCommentR :: Name Owner -> Name Repo -> Id Comment -> Request k Comment -- | Create a comment. -- -- See -- https://developer.github.com/v3/pulls/comments/#create-a-comment createPullCommentR :: Name Owner -> Name Repo -> IssueNumber -> Text -> Text -> Int -> Text -> Request 'RW Comment -- | Create a comment reply. -- -- See -- https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply createPullCommentReplyR :: Name Owner -> Name Repo -> IssueNumber -> Id Comment -> Text -> Request 'RW Comment -- | The pull requests API as documented at -- http://developer.github.com/v3/pulls/. module GitHub.Endpoints.PullRequests -- | List pull requests. See -- https://developer.github.com/v3/pulls/#list-pull-requests pullRequestsForR :: Name Owner -> Name Repo -> PullRequestMod -> FetchCount -> Request k (Vector SimplePullRequest) -- | Query a single pull request. See -- https://developer.github.com/v3/pulls/#get-a-single-pull-request pullRequestR :: Name Owner -> Name Repo -> IssueNumber -> Request k PullRequest -- | Query a single pull request to obtain the diff See -- https://developer.github.com/v3/pulls/#get-a-single-pull-request pullRequestDiffR :: Name Owner -> Name Repo -> IssueNumber -> GenRequest 'MtDiff rw ByteString -- | Query a single pull request to obtain the patch See -- https://developer.github.com/v3/pulls/#get-a-single-pull-request pullRequestPatchR :: Name Owner -> Name Repo -> IssueNumber -> GenRequest 'MtPatch rw ByteString -- | Create a pull request. See -- https://developer.github.com/v3/pulls/#create-a-pull-request createPullRequestR :: Name Owner -> Name Repo -> CreatePullRequest -> Request 'RW PullRequest -- | Update a pull request. See -- https://developer.github.com/v3/pulls/#update-a-pull-request updatePullRequestR :: Name Owner -> Name Repo -> IssueNumber -> EditPullRequest -> Request 'RW PullRequest -- | List commits on a pull request. See -- https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request pullRequestCommitsR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector Commit) -- | List pull requests files. See -- https://developer.github.com/v3/pulls/#list-pull-requests-files pullRequestFilesR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector File) -- | Query if a pull request has been merged. See -- https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged isPullRequestMergedR :: Name Owner -> Name Repo -> IssueNumber -> GenRequest 'MtStatus rw Bool -- | Merge a pull request (Merge Button). -- https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button mergePullRequestR :: Name Owner -> Name Repo -> IssueNumber -> Maybe Text -> GenRequest 'MtStatus 'RW MergeResult -- | The Owner teams API as described on -- http://developer.github.com/v3/orgs/teams/. module GitHub.Endpoints.Organizations.Teams -- | List teams. See -- https://developer.github.com/v3/orgs/teams/#list-teams teamsOfR :: Name Organization -> FetchCount -> Request k (Vector SimpleTeam) -- | Query team. See -- https://developer.github.com/v3/orgs/teams/#get-team teamInfoForR :: Id Team -> Request k Team -- | Create team. See -- https://developer.github.com/v3/orgs/teams/#create-team createTeamForR :: Name Organization -> CreateTeam -> Request 'RW Team -- | Edit team. See -- https://developer.github.com/v3/orgs/teams/#edit-team editTeamR :: Id Team -> EditTeam -> Request 'RW Team deleteTeamR :: Id Team -> GenRequest 'MtUnit 'RW () -- | List team members. -- -- See -- https://developer.github.com/v3/orgs/teams/#list-team-members listTeamMembersR :: Id Team -> TeamMemberRole -> FetchCount -> Request 'RA (Vector SimpleUser) -- | Query team repositories. See -- https://developer.github.com/v3/orgs/teams/#list-team-repos listTeamReposR :: Id Team -> FetchCount -> Request k (Vector Repo) -- | Add or update a team repository. See -- https://developer.github.com/v3/orgs/teams/#add-or-update-team-repository addOrUpdateTeamRepoR :: Id Team -> Name Organization -> Name Repo -> Permission -> GenRequest 'MtUnit 'RW () -- | Query team membership. See -- <https://developer.github.com/v3/orgs/teams/#get-team-membership teamMembershipInfoForR :: Id Team -> Name Owner -> Request k TeamMembership -- | Add team membership. See -- https://developer.github.com/v3/orgs/teams/#add-team-membership addTeamMembershipForR :: Id Team -> Name Owner -> Role -> Request 'RW TeamMembership -- | Remove team membership. See -- https://developer.github.com/v3/orgs/teams/#remove-team-membership deleteTeamMembershipForR :: Id Team -> Name Owner -> GenRequest 'MtUnit 'RW () -- | List user teams. See -- https://developer.github.com/v3/orgs/teams/#list-user-teams listTeamsCurrentR :: FetchCount -> Request 'RA (Vector Team) -- | The organization members API as described on -- https://developer.github.com/v3/orgs/outside_collaborators/. module GitHub.Endpoints.Organizations.OutsideCollaborators -- | All the users who are outside collaborators of the specified -- organization. -- -- See -- https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators outsideCollaboratorsR :: Name Organization -> FetchCount -> Request k (Vector SimpleUser) -- | The organization members API as described on -- http://developer.github.com/v3/orgs/members/. module GitHub.Endpoints.Organizations.Members -- | All the users who are members of the specified organization. -- -- See https://developer.github.com/v3/orgs/members/#members-list membersOfR :: Name Organization -> FetchCount -> Request k (Vector SimpleUser) -- | membersOfR with filters. -- -- See https://developer.github.com/v3/orgs/members/#members-list membersOfWithR :: Name Organization -> OrgMemberFilter -> OrgMemberRole -> FetchCount -> Request k (Vector SimpleUser) -- | Check if a user is a member of an organization. -- -- See -- https://developer.github.com/v3/orgs/members/#check-membership isMemberOfR :: Name User -> Name Organization -> GenRequest 'MtStatus rw Bool -- | List pending organization invitations -- -- See -- https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations orgInvitationsR :: Name Organization -> FetchCount -> Request 'RA (Vector Invitation) -- | The orgs API as described on -- http://developer.github.com/v3/orgs/. module GitHub.Endpoints.Organizations -- | List public user organizations. See -- https://developer.github.com/v3/orgs/#list-user-organizations publicOrganizationsForR :: Name User -> FetchCount -> Request k (Vector SimpleOrganization) -- | Query an organization. See -- https://developer.github.com/v3/orgs/#get-an-organization publicOrganizationR :: Name Organization -> Request k Organization -- | List all user organizations. See -- https://developer.github.com/v3/orgs/#list-your-organizations organizationsR :: FetchCount -> Request k (Vector SimpleOrganization) -- | The milestones API as described on -- http://developer.github.com/v3/issues/milestones/. module GitHub.Endpoints.Issues.Milestones -- | List milestones for a repository. See -- https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository milestonesR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Milestone) -- | Query a single milestone. See -- https://developer.github.com/v3/issues/milestones/#get-a-single-milestone milestoneR :: Name Owner -> Name Repo -> Id Milestone -> Request k Milestone -- | Create a milestone. See -- https://developer.github.com/v3/issues/milestones/#create-a-milestone createMilestoneR :: Name Owner -> Name Repo -> NewMilestone -> Request 'RW Milestone -- | Update a milestone. See -- https://developer.github.com/v3/issues/milestones/#update-a-milestone updateMilestoneR :: Name Owner -> Name Repo -> Id Milestone -> UpdateMilestone -> Request 'RW Milestone -- | Delete a milestone. See -- https://developer.github.com/v3/issues/milestones/#delete-a-milestone deleteMilestoneR :: Name Owner -> Name Repo -> Id Milestone -> GenRequest 'MtUnit 'RW () -- | The API for dealing with labels on Github issues as described on -- http://developer.github.com/v3/issues/labels/. module GitHub.Endpoints.Issues.Labels -- | List all labels for this repository. See -- https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository labelsOnRepoR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector IssueLabel) -- | Query a single label. See -- https://developer.github.com/v3/issues/labels/#get-a-single-label labelR :: Name Owner -> Name Repo -> Name IssueLabel -> Request k IssueLabel -- | Create a label. See -- https://developer.github.com/v3/issues/labels/#create-a-label createLabelR :: Name Owner -> Name Repo -> NewIssueLabel -> Request 'RW IssueLabel -- | Update a label. See -- https://developer.github.com/v3/issues/labels/#update-a-label updateLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> UpdateIssueLabel -> Request 'RW IssueLabel -- | Delete a label. See -- https://developer.github.com/v3/issues/labels/#delete-a-label deleteLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> GenRequest 'MtUnit 'RW () -- | List labels on an issue. See -- https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue labelsOnIssueR :: Name Owner -> Name Repo -> Id Issue -> FetchCount -> Request k (Vector IssueLabel) -- | Add lables to an issue. See -- https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue addLabelsToIssueR :: Foldable f => Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> Request 'RW (Vector IssueLabel) -- | Remove a label from an issue. See -- https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue removeLabelFromIssueR :: Name Owner -> Name Repo -> Id Issue -> Name IssueLabel -> GenRequest 'MtUnit 'RW () -- | Replace all labels on an issue. See -- https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue -- -- Sending an empty list will remove all labels from the issue. replaceAllLabelsForIssueR :: Foldable f => Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> Request 'RW (Vector IssueLabel) -- | Remove all labels from an issue. See -- https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue removeAllLabelsFromIssueR :: Name Owner -> Name Repo -> Id Issue -> GenRequest 'MtUnit 'RW () -- | Query labels for every issue in a milestone. See -- https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone labelsOnMilestoneR :: Name Owner -> Name Repo -> Id Milestone -> FetchCount -> Request k (Vector IssueLabel) -- | The Github issue events API, which is described on -- http://developer.github.com/v3/issues/events/ module GitHub.Endpoints.Issues.Events -- | List events for an issue. See -- https://developer.github.com/v3/issues/events/#list-events-for-an-issue eventsForIssueR :: Name Owner -> Name Repo -> Id Issue -> FetchCount -> Request k (Vector IssueEvent) -- | List events for a repository. See -- https://developer.github.com/v3/issues/events/#list-events-for-a-repository eventsForRepoR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector IssueEvent) -- | Query a single event. See -- https://developer.github.com/v3/issues/events/#get-a-single-event eventR :: Name Owner -> Name Repo -> Id IssueEvent -> Request k IssueEvent -- | The Github issue comments API from -- http://developer.github.com/v3/issues/comments/. module GitHub.Endpoints.Issues.Comments -- | Query a single comment. See -- https://developer.github.com/v3/issues/comments/#get-a-single-comment commentR :: Name Owner -> Name Repo -> Id Comment -> Request k IssueComment -- | List comments on an issue. See -- https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue commentsR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector IssueComment) -- | Create a comment. See -- https://developer.github.com/v3/issues/comments/#create-a-comment createCommentR :: Name Owner -> Name Repo -> IssueNumber -> Text -> Request 'RW Comment -- | Delete a comment. See -- https://developer.github.com/v3/issues/comments/#delete-a-comment deleteCommentR :: Name Owner -> Name Repo -> Id Comment -> GenRequest 'MtUnit 'RW () -- | Edit a comment. See -- https://developer.github.com/v3/issues/comments/#edit-a-comment editCommentR :: Name Owner -> Name Repo -> Id Comment -> Text -> Request 'RW Comment -- | The issues API as described on -- http://developer.github.com/v3/issues/. module GitHub.Endpoints.Issues -- | See https://developer.github.com/v3/issues/#list-issues. currentUserIssuesR :: IssueMod -> FetchCount -> Request 'RA (Vector Issue) -- | See https://developer.github.com/v3/issues/#list-issues. organizationIssuesR :: Name Organization -> IssueMod -> FetchCount -> Request k (Vector Issue) -- | Query a single issue. See -- https://developer.github.com/v3/issues/#get-a-single-issue issueR :: Name Owner -> Name Repo -> IssueNumber -> Request k Issue -- | List issues for a repository. See -- https://developer.github.com/v3/issues/#list-issues-for-a-repository issuesForRepoR :: Name Owner -> Name Repo -> IssueRepoMod -> FetchCount -> Request k (Vector Issue) -- | Create an issue. See -- https://developer.github.com/v3/issues/#create-an-issue createIssueR :: Name Owner -> Name Repo -> NewIssue -> Request 'RW Issue newIssue :: Text -> NewIssue -- | Edit an issue. See -- https://developer.github.com/v3/issues/#edit-an-issue editIssueR :: Name Owner -> Name Repo -> IssueNumber -> EditIssue -> Request 'RW Issue editOfIssue :: EditIssue -- | The underlying tree of SHA1s and files that make up a git repo. The -- API is described on http://developer.github.com/v3/git/trees/. module GitHub.Endpoints.GitData.Trees -- | Query a Tree. See -- https://developer.github.com/v3/git/trees/#get-a-tree treeR :: Name Owner -> Name Repo -> Name Tree -> Request k Tree -- | Query a Tree Recursively. See -- https://developer.github.com/v3/git/trees/#get-a-tree-recursively nestedTreeR :: Name Owner -> Name Repo -> Name Tree -> Request k Tree -- | The underlying git references on a Github repo, exposed for the world -- to see. The git internals documentation will also prove handy for -- understanding these. API documentation at -- http://developer.github.com/v3/git/refs/. module GitHub.Endpoints.GitData.References -- | A single reference -- | Query a reference. See -- https://developer.github.com/v3/git/refs/#get-a-reference referenceR :: Name Owner -> Name Repo -> Name GitReference -> Request k GitReference -- | Query all References. See -- https://developer.github.com/v3/git/refs/#get-all-references referencesR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector GitReference) -- | Create a reference. See -- https://developer.github.com/v3/git/refs/#create-a-reference createReferenceR :: Name Owner -> Name Repo -> NewGitReference -> Request 'RW GitReference -- | Delete a reference. See -- https://developer.github.com/v3/git/refs/#delete-a-reference deleteReferenceR :: Name Owner -> Name Repo -> Name GitReference -> GenRequest 'MtUnit 'RW () -- | Query namespaced references. See -- https://developer.github.com/v3/git/refs/#get-all-references namespacedReferencesR :: Name Owner -> Name Repo -> Text -> Request k [GitReference] -- | The API for underlying git commits of a Github repo, as described on -- http://developer.github.com/v3/git/commits/. module GitHub.Endpoints.GitData.Commits -- | Query a commit. See -- https://developer.github.com/v3/git/commits/#get-a-commit gitCommitR :: Name Owner -> Name Repo -> Name GitCommit -> Request k GitCommit -- | The API for dealing with git blobs from Github repos, as described in -- http://developer.github.com/v3/git/blobs/. module GitHub.Endpoints.GitData.Blobs -- | Query a blob. See -- https://developer.github.com/v3/git/blobs/#get-a-blob blobR :: Name Owner -> Name Repo -> Name Blob -> Request k Blob -- | The loving comments people have left on Gists, described on -- http://developer.github.com/v3/gists/comments/. module GitHub.Endpoints.Gists.Comments -- | List comments on a gist. See -- https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist commentsOnR :: Name Gist -> FetchCount -> Request k (Vector GistComment) -- | Query a single comment. See -- https://developer.github.com/v3/gists/comments/#get-a-single-comment gistCommentR :: Id GistComment -> Request k GistComment -- | The gists API as described at -- http://developer.github.com/v3/gists/. module GitHub.Endpoints.Gists -- | List gists. See -- https://developer.github.com/v3/gists/#list-gists gistsR :: Name Owner -> FetchCount -> Request k (Vector Gist) -- | Query a single gist. See -- https://developer.github.com/v3/gists/#get-a-single-gist gistR :: Name Gist -> Request k Gist -- | Create a new gist See -- https://docs.github.com/rest/reference/gists#create-a-gist createGistR :: NewGist -> Request 'RW Gist -- | Star a gist by the authenticated user. See -- https://developer.github.com/v3/gists/#star-a-gist starGistR :: Name Gist -> GenRequest 'MtUnit 'RW () -- | Unstar a gist by the authenticated user. See -- https://developer.github.com/v3/gists/#unstar-a-gist unstarGistR :: Name Gist -> GenRequest 'MtUnit 'RW () -- | Delete a gist by the authenticated user. See -- https://developer.github.com/v3/gists/#delete-a-gist deleteGistR :: Name Gist -> GenRequest 'MtUnit 'RW () -- | The GitHub Enterprise orgs API as described on -- https://developer.github.com/enterprise/v3/enterprise-admin/orgs/. module GitHub.Endpoints.Enterprise.Organizations -- | Create an organization. See -- https://developer.github.com/enterprise/v3/enterprise-admin/orgs/#create-an-organization createOrganizationR :: CreateOrganization -> Request 'RW SimpleOrganization -- | Rename an organization. See -- https://developer.github.com/enterprise/v3/enterprise-admin/orgs/#rename-an-organization renameOrganizationR :: Name Organization -> RenameOrganization -> Request 'RW RenameOrganizationResponse -- | This module re-exports all request constructors and data definitions -- for working with GitHub Enterprise. module GitHub.Enterprise -- | Create an organization. See -- https://developer.github.com/enterprise/v3/enterprise-admin/orgs/#create-an-organization createOrganizationR :: CreateOrganization -> Request 'RW SimpleOrganization -- | Rename an organization. See -- https://developer.github.com/enterprise/v3/enterprise-admin/orgs/#rename-an-organization renameOrganizationR :: Name Organization -> RenameOrganization -> Request 'RW RenameOrganizationResponse -- | The repo watching API as described on -- https://developer.github.com/v3/activity/watching/. module GitHub.Endpoints.Activity.Watching -- | List watchers. See -- https://developer.github.com/v3/activity/watching/#list-watchers watchersForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector SimpleUser) -- | List repositories being watched. See -- https://developer.github.com/v3/activity/watching/#list-repositories-being-watched reposWatchedByR :: Name Owner -> FetchCount -> Request k (Vector Repo) -- | Stop watching repository. See -- https://docs.github.com/en/rest/reference/activity#delete-a-repository-subscription unwatchRepoR :: Name Owner -> Name Repo -> Request 'RW () -- | The repo starring API as described on -- https://developer.github.com/v3/activity/starring/. module GitHub.Endpoints.Activity.Starring -- | List Stargazers. See -- https://developer.github.com/v3/activity/starring/#list-stargazers stargazersForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector SimpleUser) -- | List repositories being starred. See -- https://developer.github.com/v3/activity/starring/#list-repositories-being-starred reposStarredByR :: Name Owner -> FetchCount -> Request k (Vector Repo) -- | All the repos starred by the authenticated user. See -- https://developer.github.com/v3/activity/starring/#list-repositories-being-starred myStarredR :: FetchCount -> Request 'RA (Vector Repo) -- | All the repos starred by the authenticated user. See -- https://developer.github.com/v3/activity/starring/#alternative-response-with-star-creation-timestamps-1 myStarredAcceptStarR :: FetchCount -> GenRequest 'MtStar 'RA (Vector RepoStarred) -- | Star a repo by the authenticated user. See -- https://developer.github.com/v3/activity/starring/#star-a-repository starRepoR :: Name Owner -> Name Repo -> GenRequest 'MtUnit 'RW () -- | Unstar a repo by the authenticated user. See -- https://developer.github.com/v3/activity/starring/#unstar-a-repository unstarRepoR :: Name Owner -> Name Repo -> GenRequest 'MtUnit 'RW () -- | The repo watching API as described on -- https://developer.github.com/v3/activity/notifications/. module GitHub.Endpoints.Activity.Notifications -- | List your notifications. See -- https://developer.github.com/v3/activity/notifications/#list-your-notifications getNotificationsR :: FetchCount -> Request 'RA (Vector Notification) -- | Mark a thread as read. See -- https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read markNotificationAsReadR :: Id Notification -> GenRequest 'MtUnit 'RW () -- | Mark as read. See -- https://developer.github.com/v3/activity/notifications/#mark-as-read markAllNotificationsAsReadR :: GenRequest 'MtUnit 'RW () -- | The events API as described on -- https://developer.github.com/v3/activity/events/. module GitHub.Endpoints.Activity.Events -- | List repository events. See -- https://developer.github.com/v3/activity/events/#list-repository-events repositoryEventsR :: Name Owner -> Name Repo -> FetchCount -> Request 'RO (Vector Event) -- | List user public events. See -- https://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user userEventsR :: Name User -> FetchCount -> Request 'RO (Vector Event) module GitHub.Endpoints.Actions.Workflows -- | List repository workflows. See -- https://docs.github.com/en/rest/actions/workflows#list-repository-workflows repositoryWorkflowsR :: Name Owner -> Name Repo -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount Workflow) -- | Get a workflow. See -- https://docs.github.com/en/rest/actions/workflows#get-a-workflow workflowR :: IsPathPart idOrName => Name Owner -> Name Repo -> idOrName -> GenRequest 'MtJSON 'RA Workflow -- | Disable a workflow. See -- https://docs.github.com/en/rest/actions/workflows#disable-a-workflow disableWorkflowR :: IsPathPart idOrName => Name Owner -> Name Repo -> idOrName -> GenRequest 'MtUnit 'RW () -- | Create a workflow dispatch event. See -- https://docs.github.com/en/rest/actions/workflows#create-a-workflow-dispatch-event triggerWorkflowR :: (ToJSON a, IsPathPart idOrName) => Name Owner -> Name Repo -> idOrName -> CreateWorkflowDispatchEvent a -> GenRequest 'MtUnit 'RW () -- | Enable a workflow. See -- https://docs.github.com/en/rest/actions/workflows#enable-a-workflow enableWorkflowR :: IsPathPart idOrName => Name Owner -> Name Repo -> idOrName -> GenRequest 'MtUnit 'RW () module GitHub.Endpoints.Actions.WorkflowRuns -- | Re-run a job from a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run reRunJobR :: Name Owner -> Name Repo -> Id Job -> GenRequest 'MtUnit 'RW () -- | List workflow runs for a repository. See -- https://docs.github.com/en/rest/actions/workflow-runs#list-workflow-runs-for-a-repository workflowRunsR :: Name Owner -> Name Repo -> WorkflowRunMod -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount WorkflowRun) -- | Get a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#get-a-workflow-run workflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtJSON 'RA WorkflowRun -- | Delete a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#delete-a-workflow-run deleteWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Get the review history for a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#get-the-review-history-for-a-workflow-run workflowRunReviewHistoryR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtJSON 'RA (Vector ReviewHistory) -- | Approve a workflow run for a fork pull request. See -- https://docs.github.com/en/rest/actions/workflow-runs#approve-a-workflow-run-for-a-fork-pull-request approveWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Get a workflow run attempt. See -- https://docs.github.com/en/rest/actions/workflow-runs#get-a-workflow-run-attempt workflowRunAttemptR :: Name Owner -> Name Repo -> Id WorkflowRun -> Id RunAttempt -> GenRequest 'MtJSON 'RA WorkflowRun -- | Download workflow run attempt logs. See -- https://docs.github.com/en/rest/actions/workflow-runs#download-workflow-run-attempt-logs downloadWorkflowRunAttemptLogsR :: Name Owner -> Name Repo -> Id WorkflowRun -> Id RunAttempt -> GenRequest 'MtRedirect 'RO URI -- | Cancel a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#cancel-a-workflow-run cancelWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Download workflow run logs. See -- https://docs.github.com/en/rest/actions/workflow-runs#download-workflow-run-logs downloadWorkflowRunLogsR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtRedirect 'RA URI -- | Delete workflow run logs. See -- https://docs.github.com/en/rest/actions/workflow-runs#delete-workflow-run-logs deleteWorkflowRunLogsR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Re-run a workflow. See -- https://docs.github.com/en/rest/actions/workflow-runs#re-run-a-workflow reRunWorkflowR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Re-run failed jobs from a workflow run. See -- https://docs.github.com/en/rest/actions/re-run-failed-jobs-from-a-workflow-run reRunFailedJobsR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | List workflow runs for a workflow. See -- https://docs.github.com/en/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow workflowRunsForWorkflowR :: IsPathPart idOrName => Name Owner -> Name Repo -> idOrName -> WorkflowRunMod -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount WorkflowRun) -- | The actions API as documented at -- https://docs.github.com/en/rest/reference/actions. module GitHub.Endpoints.Actions.WorkflowJobs -- | Get a job for a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run jobR :: Name Owner -> Name Repo -> Id Job -> Request 'RA Job -- | Download job logs for a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run downloadJobLogsR :: Name Owner -> Name Repo -> Id Job -> GenRequest 'MtRedirect 'RO URI -- | List jobs for a workflow run attempt. See -- https://docs.github.com/en/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt jobsForWorkflowRunAttemptR :: Name Owner -> Name Repo -> Id WorkflowRun -> Id RunAttempt -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount Job) -- | List jobs for a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run jobsForWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount Job) -- | The actions API as documented at -- https://docs.github.com/en/rest/reference/actions. module GitHub.Endpoints.Actions.Secrets -- | List organization secrets. See -- https://docs.github.com/en/rest/actions/secrets#list-organization-secrets organizationSecretsR :: Name Organization -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount OrganizationSecret) -- | List organization secrets. See -- https://docs.github.com/en/rest/actions/secrets#get-an-organization-public-key organizationPublicKeyR :: Name Organization -> GenRequest 'MtJSON 'RA PublicKey -- | Get an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#get-an-organization-secret organizationSecretR :: Name Organization -> Name OrganizationSecret -> GenRequest 'MtJSON 'RA OrganizationSecret -- | Create or update an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#create-or-update-an-organization-secret setOrganizationSecretR :: Name Organization -> Name OrganizationSecret -> SetSecret -> GenRequest 'MtUnit 'RW () -- | Delete an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#delete-an-organization-secret deleteOrganizationSecretR :: Name Organization -> Name OrganizationSecret -> GenRequest 'MtUnit 'RW () -- | Get selected repositories for an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#list-selected-repositories-for-an-organization-secret organizationSelectedRepositoriesForSecretR :: Name Organization -> Name OrganizationSecret -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount SelectedRepo) -- | Set selected repositories for an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#set-selected-repositories-for-an-organization-secret setOrganizationSelectedRepositoriesForSecretR :: Name Organization -> Name OrganizationSecret -> SetSelectedRepositories -> GenRequest 'MtUnit 'RW () -- | Add selected repository to an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#add-selected-repository-to-an-organization-secret addOrganizationSelectedRepositoriesForSecretR :: Name Organization -> Name OrganizationSecret -> Id Repo -> GenRequest 'MtUnit 'RW () -- | Remove selected repository from an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#remove-selected-repository-from-an-organization-secret removeOrganizationSelectedRepositoriesForSecretR :: Name Organization -> Name OrganizationSecret -> Id Repo -> GenRequest 'MtUnit 'RW () -- | List repository secrets. See -- https://docs.github.com/en/rest/actions/secrets#list-repository-secrets repoSecretsR :: Name Owner -> Name Repo -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount RepoSecret) -- | Get a repository public key. See -- https://docs.github.com/en/rest/actions/secrets#get-a-repository-public-key repoPublicKeyR :: Name Owner -> Name Organization -> GenRequest 'MtJSON 'RA PublicKey -- | Get a repository secret. See -- https://docs.github.com/en/rest/actions/secrets#get-a-repository-secret repoSecretR :: Name Owner -> Name Organization -> Name RepoSecret -> GenRequest 'MtJSON 'RA RepoSecret -- | Create or update a repository secret. See -- https://docs.github.com/en/rest/actions/secrets#create-or-update-a-repository-secret setRepoSecretR :: Name Owner -> Name Organization -> Name RepoSecret -> SetRepoSecret -> GenRequest 'MtUnit 'RW () -- | Delete a repository secret. See -- https://docs.github.com/en/rest/actions/secrets#delete-a-repository-secret deleteRepoSecretR :: Name Owner -> Name Organization -> Name RepoSecret -> GenRequest 'MtUnit 'RW () -- | List environment secrets. See -- https://docs.github.com/en/rest/actions/secrets#list-environment-secrets environmentSecretsR :: Id Repo -> Name Environment -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount RepoSecret) -- | Get an environment public key. See -- https://docs.github.com/en/rest/actions/secrets#get-an-environment-public-key environmentPublicKeyR :: Id Repo -> Name Environment -> GenRequest 'MtJSON 'RA PublicKey -- | Get an environment secret See -- https://docs.github.com/en/rest/actions/secrets#get-an-environment-secret environmentSecretR :: Id Repo -> Name Environment -> Name RepoSecret -> GenRequest 'MtJSON 'RA RepoSecret -- | Create or update an environment secret. See -- https://docs.github.com/en/rest/actions/secrets#create-or-update-an-environment-secret setEnvironmentSecretR :: Id Repo -> Name Environment -> Name RepoSecret -> SetRepoSecret -> GenRequest 'MtUnit 'RW () -- | Delete an environment secret. See -- https://docs.github.com/en/rest/actions/secrets#delete-an-environment-secret deleteEnvironmentSecretR :: Id Repo -> Name Environment -> Name RepoSecret -> GenRequest 'MtUnit 'RW () -- | The actions API as documented at -- https://docs.github.com/en/rest/reference/actions. module GitHub.Endpoints.Actions.Cache -- | Get Actions cache usage for the organization. See -- https://docs.github.com/en/rest/actions/cache#get-github-actions-cache-usage-for-an-organization cacheUsageOrganizationR :: Name Organization -> GenRequest 'MtJSON 'RA OrganizationCacheUsage -- | List repositories with GitHub Actions cache usage for an organization. -- See -- https://docs.github.com/en/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization cacheUsageByRepositoryR :: Name Organization -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount RepositoryCacheUsage) -- | Get GitHub Actions cache usage for a repository. See -- https://docs.github.com/en/rest/actions/cache#get-github-actions-cache-usage-for-a-repository cacheUsageR :: Name Owner -> Name Repo -> Request k RepositoryCacheUsage -- | List the GitHub Actions caches for a repository. See -- https://docs.github.com/en/rest/actions/cache#list-github-actions-caches-for-a-repository cachesForRepoR :: Name Owner -> Name Repo -> CacheMod -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount Cache) -- | Delete GitHub Actions cache for a repository. See -- https://docs.github.com/en/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id deleteCacheR :: Name Owner -> Name Repo -> Id Cache -> GenRequest 'MtUnit 'RW () -- | The actions API as documented at -- https://docs.github.com/en/rest/reference/actions. module GitHub.Endpoints.Actions.Artifacts -- | List artifacts for repository. See -- https://docs.github.com/en/rest/reference/actions#list-artifacts-for-a-repository artifactsForR :: Name Owner -> Name Repo -> ArtifactMod -> FetchCount -> Request 'RA (WithTotalCount Artifact) -- | Get an artifact. See -- https://docs.github.com/en/rest/reference/actions#get-an-artifact artifactR :: Name Owner -> Name Repo -> Id Artifact -> Request 'RA Artifact -- | Delete an artifact. See -- https://docs.github.com/en/rest/reference/actions#delete-an-artifact deleteArtifactR :: Name Owner -> Name Repo -> Id Comment -> GenRequest 'MtUnit 'RW () -- | Download an artifact. See -- https://docs.github.com/en/rest/reference/actions#download-an-artifact downloadArtifactR :: Name Owner -> Name Repo -> Id Artifact -> GenRequest 'MtRedirect 'RW URI -- | List artifacts for a workflow run. See -- https://docs.github.com/en/rest/reference/actions#list-workflow-run-artifacts artifactsForWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> FetchCount -> Request 'RA (WithTotalCount Artifact) -- | This module provides data types and helper methods, which makes -- possible to build alternative API request intepreters in addition to -- provided IO functions. -- -- Simple example using operational package. See -- samples/Operational/Operational.hs -- --
-- type GithubMonad a = Program (GH.Request 'False) a -- -- -- | Intepret GithubMonad value into IO -- runMonad :: Manager -> GH.Auth -> GithubMonad a -> ExceptT GH.Error IO a -- runMonad mgr auth m = case view m of -- Return a -> return a -- req :>>= k -> do -- b <- ExceptT $ GH.executeRequestWithMgr mgr auth req -- runMonad mgr auth (k b) -- -- -- | Lift request into Monad -- githubRequest :: GH.Request 'False a -> GithubMonad a -- githubRequest = singleton --module GitHub.Request -- | A convenience function to turn functions returning Request -- rw x, into functions returning IO (Either Error -- x). -- --
-- >>> :t \auth -> github auth userInfoForR -- \auth -> github auth userInfoForR -- :: AuthMethod am => am -> Name User -> IO (Either Error User) ---- --
-- >>> :t github pullRequestsForR -- \auth -> github auth pullRequestsForR -- :: AuthMethod am => -- am -- -> Name Owner -- -> Name Repo -- -> PullRequestMod -- -> FetchCount -- -> IO (Either Error (Data.Vector.Vector SimplePullRequest)) --github :: (AuthMethod am, GitHubRW req res) => am -> req -> res -- | Like github' but for RO i.e. read-only requests. Note -- that GitHub has low request limit for non-authenticated requests. -- --
-- >>> :t github' userInfoForR -- github' userInfoForR :: Name User -> IO (Either Error User) --github' :: GitHubRO req res => req -> res -- | A type-class implementing github. class GitHubRW req res | req -> res -- | A type-class implementing github'. class GitHubRO req res | req -> res -- | Most requests ask for JSON. type Request = GenRequest 'MtJSON -- | Github request data type. -- --
-- parseStatus :: StatusMap a -> Status -> Either Error a --parseStatus :: MonadError Error m => StatusMap a -> Status -> m a type StatusMap a = [(Int, a)] -- | Query Link header with rel=next from the request -- headers. getNextUrl :: Response a -> Maybe URI -- | Helper for making paginated requests. Responses, a are -- combined monoidally. -- -- The result is wrapped in the last received Response. -- --
-- performPagedRequest :: (FromJSON a, Semigroup a) -- => (Request -> ExceptT Error IO (Response ByteString)) -- -> (a -> Value) -- -> Request -- -> ExceptT Error IO (Response a) --performPagedRequest :: forall a m mt. (ParseResponse mt a, Semigroup a, MonadCatch m, MonadError Error m) => (Request -> m (Response ByteString)) -> (a -> Bool) -> Request -> Tagged mt (m (Response a)) -- | Parse API response. -- --
-- parseResponse :: FromJSON a => Response ByteString -> Either Error a --parseResponseJSON :: (FromJSON a, MonadError Error m) => Response ByteString -> m a class PreviewAccept p previewContentType :: PreviewAccept p => Tagged ('MtPreview p) ByteString previewModifyRequest :: PreviewAccept p => Tagged ('MtPreview p) (Request -> Request) class PreviewAccept p => PreviewParseResponse p a previewParseResponse :: (PreviewParseResponse p a, MonadError Error m) => Request -> Response ByteString -> Tagged ('MtPreview p) (m a) withOpenSSL :: IO a -> IO a -- | Default TLS-enabled manager settings tlsManagerSettings :: ManagerSettings instance GitHub.Request.HasStatusMap a => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtStatus a instance GitHub.Request.HasStatusMap GHC.Types.Bool instance GitHub.Request.HasStatusMap GitHub.Data.PullRequests.MergeResult instance GitHub.Request.PreviewParseResponse p a => GitHub.Request.ParseResponse ('GitHub.Data.Request.MtPreview p) a instance GitHub.Request.PreviewAccept p => GitHub.Request.Accept ('GitHub.Data.Request.MtPreview p) instance (GitHub.Request.ParseResponse mt req, res GHC.Types.~ Data.Either.Either GitHub.Data.Definitions.Error req) => GitHub.Request.GitHubRW (GitHub.Data.Request.GenRequest mt rw req) (GHC.Types.IO res) instance (GitHub.Request.ParseResponse mt req, res GHC.Types.~ Data.Either.Either GitHub.Data.Definitions.Error req, rw GHC.Types.~ 'GitHub.Data.Request.RO) => GitHub.Request.GitHubRO (GitHub.Data.Request.GenRequest mt rw req) (GHC.Types.IO res) instance Data.Aeson.Types.FromJSON.FromJSON a => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtJSON a instance Data.Aeson.Types.FromJSON.FromJSON a => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtStar a instance (a GHC.Types.~ Data.ByteString.Lazy.Internal.ByteString) => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtRaw a instance (a GHC.Types.~ Data.ByteString.Lazy.Internal.ByteString) => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtDiff a instance (a GHC.Types.~ Data.ByteString.Lazy.Internal.ByteString) => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtPatch a instance (a GHC.Types.~ Data.ByteString.Lazy.Internal.ByteString) => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtSha a instance (b GHC.Types.~ Network.URI.URI) => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtRedirect b instance (a GHC.Types.~ ()) => GitHub.Request.ParseResponse 'GitHub.Data.Request.MtUnit a instance GitHub.Request.Accept 'GitHub.Data.Request.MtJSON instance GitHub.Request.Accept 'GitHub.Data.Request.MtStar instance GitHub.Request.Accept 'GitHub.Data.Request.MtRaw instance GitHub.Request.Accept 'GitHub.Data.Request.MtDiff instance GitHub.Request.Accept 'GitHub.Data.Request.MtPatch instance GitHub.Request.Accept 'GitHub.Data.Request.MtSha instance GitHub.Request.Accept 'GitHub.Data.Request.MtRedirect instance GitHub.Request.Accept 'GitHub.Data.Request.MtStatus instance GitHub.Request.Accept 'GitHub.Data.Request.MtUnit instance GitHub.Request.GitHubRO req res => GitHub.Request.GitHubRO (a -> req) (a -> res) instance GitHub.Request.GitHubRW req res => GitHub.Request.GitHubRW (a -> req) (a -> res) -- | This module re-exports all request constructors and data definitions -- from this package. -- -- See GitHub.Request module for executing Request, in -- short use github request, for example -- --
-- github userInfoForR -- :: AuthMethod am => am -> Name User -> IO (Either Error User) ---- -- The missing endpoints lists show which endpoints we know are missing, -- there might be more. module GitHub -- | List repository events. See -- https://developer.github.com/v3/activity/events/#list-repository-events repositoryEventsR :: Name Owner -> Name Repo -> FetchCount -> Request 'RO (Vector Event) -- | List user public events. See -- https://developer.github.com/v3/activity/events/#list-public-events-performed-by-a-user userEventsR :: Name User -> FetchCount -> Request 'RO (Vector Event) -- | List your notifications. See -- https://developer.github.com/v3/activity/notifications/#list-your-notifications getNotificationsR :: FetchCount -> Request 'RA (Vector Notification) -- | Mark a thread as read. See -- https://developer.github.com/v3/activity/notifications/#mark-a-thread-as-read markNotificationAsReadR :: Id Notification -> GenRequest 'MtUnit 'RW () -- | Mark as read. See -- https://developer.github.com/v3/activity/notifications/#mark-as-read markAllNotificationsAsReadR :: GenRequest 'MtUnit 'RW () -- | List Stargazers. See -- https://developer.github.com/v3/activity/starring/#list-stargazers stargazersForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector SimpleUser) -- | List repositories being starred. See -- https://developer.github.com/v3/activity/starring/#list-repositories-being-starred reposStarredByR :: Name Owner -> FetchCount -> Request k (Vector Repo) -- | All the repos starred by the authenticated user. See -- https://developer.github.com/v3/activity/starring/#list-repositories-being-starred myStarredR :: FetchCount -> Request 'RA (Vector Repo) -- | All the repos starred by the authenticated user. See -- https://developer.github.com/v3/activity/starring/#alternative-response-with-star-creation-timestamps-1 myStarredAcceptStarR :: FetchCount -> GenRequest 'MtStar 'RA (Vector RepoStarred) -- | Star a repo by the authenticated user. See -- https://developer.github.com/v3/activity/starring/#star-a-repository starRepoR :: Name Owner -> Name Repo -> GenRequest 'MtUnit 'RW () -- | Unstar a repo by the authenticated user. See -- https://developer.github.com/v3/activity/starring/#unstar-a-repository unstarRepoR :: Name Owner -> Name Repo -> GenRequest 'MtUnit 'RW () -- | List watchers. See -- https://developer.github.com/v3/activity/watching/#list-watchers watchersForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector SimpleUser) -- | List repositories being watched. See -- https://developer.github.com/v3/activity/watching/#list-repositories-being-watched reposWatchedByR :: Name Owner -> FetchCount -> Request k (Vector Repo) -- | Stop watching repository. See -- https://docs.github.com/en/rest/reference/activity#delete-a-repository-subscription unwatchRepoR :: Name Owner -> Name Repo -> Request 'RW () -- | List gists. See -- https://developer.github.com/v3/gists/#list-gists gistsR :: Name Owner -> FetchCount -> Request k (Vector Gist) -- | Query a single gist. See -- https://developer.github.com/v3/gists/#get-a-single-gist gistR :: Name Gist -> Request k Gist -- | Create a new gist See -- https://docs.github.com/rest/reference/gists#create-a-gist createGistR :: NewGist -> Request 'RW Gist -- | Star a gist by the authenticated user. See -- https://developer.github.com/v3/gists/#star-a-gist starGistR :: Name Gist -> GenRequest 'MtUnit 'RW () -- | Unstar a gist by the authenticated user. See -- https://developer.github.com/v3/gists/#unstar-a-gist unstarGistR :: Name Gist -> GenRequest 'MtUnit 'RW () -- | Delete a gist by the authenticated user. See -- https://developer.github.com/v3/gists/#delete-a-gist deleteGistR :: Name Gist -> GenRequest 'MtUnit 'RW () -- | List comments on a gist. See -- https://developer.github.com/v3/gists/comments/#list-comments-on-a-gist commentsOnR :: Name Gist -> FetchCount -> Request k (Vector GistComment) -- | Query a single comment. See -- https://developer.github.com/v3/gists/comments/#get-a-single-comment gistCommentR :: Id GistComment -> Request k GistComment -- | Query a blob. See -- https://developer.github.com/v3/git/blobs/#get-a-blob blobR :: Name Owner -> Name Repo -> Name Blob -> Request k Blob -- | Query a commit. See -- https://developer.github.com/v3/git/commits/#get-a-commit gitCommitR :: Name Owner -> Name Repo -> Name GitCommit -> Request k GitCommit -- | A single reference -- | Query a reference. See -- https://developer.github.com/v3/git/refs/#get-a-reference referenceR :: Name Owner -> Name Repo -> Name GitReference -> Request k GitReference -- | Query all References. See -- https://developer.github.com/v3/git/refs/#get-all-references referencesR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector GitReference) -- | Create a reference. See -- https://developer.github.com/v3/git/refs/#create-a-reference createReferenceR :: Name Owner -> Name Repo -> NewGitReference -> Request 'RW GitReference -- | Delete a reference. See -- https://developer.github.com/v3/git/refs/#delete-a-reference deleteReferenceR :: Name Owner -> Name Repo -> Name GitReference -> GenRequest 'MtUnit 'RW () -- | Query namespaced references. See -- https://developer.github.com/v3/git/refs/#get-all-references namespacedReferencesR :: Name Owner -> Name Repo -> Text -> Request k [GitReference] -- | Query a Tree. See -- https://developer.github.com/v3/git/trees/#get-a-tree treeR :: Name Owner -> Name Repo -> Name Tree -> Request k Tree -- | Query a Tree Recursively. See -- https://developer.github.com/v3/git/trees/#get-a-tree-recursively nestedTreeR :: Name Owner -> Name Repo -> Name Tree -> Request k Tree -- | See https://developer.github.com/v3/issues/#list-issues. currentUserIssuesR :: IssueMod -> FetchCount -> Request 'RA (Vector Issue) -- | See https://developer.github.com/v3/issues/#list-issues. organizationIssuesR :: Name Organization -> IssueMod -> FetchCount -> Request k (Vector Issue) -- | Query a single issue. See -- https://developer.github.com/v3/issues/#get-a-single-issue issueR :: Name Owner -> Name Repo -> IssueNumber -> Request k Issue -- | List issues for a repository. See -- https://developer.github.com/v3/issues/#list-issues-for-a-repository issuesForRepoR :: Name Owner -> Name Repo -> IssueRepoMod -> FetchCount -> Request k (Vector Issue) -- | Create an issue. See -- https://developer.github.com/v3/issues/#create-an-issue createIssueR :: Name Owner -> Name Repo -> NewIssue -> Request 'RW Issue -- | Edit an issue. See -- https://developer.github.com/v3/issues/#edit-an-issue editIssueR :: Name Owner -> Name Repo -> IssueNumber -> EditIssue -> Request 'RW Issue -- | Query a single comment. See -- https://developer.github.com/v3/issues/comments/#get-a-single-comment commentR :: Name Owner -> Name Repo -> Id Comment -> Request k IssueComment -- | List comments on an issue. See -- https://developer.github.com/v3/issues/comments/#list-comments-on-an-issue commentsR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector IssueComment) -- | Create a comment. See -- https://developer.github.com/v3/issues/comments/#create-a-comment createCommentR :: Name Owner -> Name Repo -> IssueNumber -> Text -> Request 'RW Comment -- | Delete a comment. See -- https://developer.github.com/v3/issues/comments/#delete-a-comment deleteCommentR :: Name Owner -> Name Repo -> Id Comment -> GenRequest 'MtUnit 'RW () -- | Edit a comment. See -- https://developer.github.com/v3/issues/comments/#edit-a-comment editCommentR :: Name Owner -> Name Repo -> Id Comment -> Text -> Request 'RW Comment -- | List events for an issue. See -- https://developer.github.com/v3/issues/events/#list-events-for-an-issue eventsForIssueR :: Name Owner -> Name Repo -> Id Issue -> FetchCount -> Request k (Vector IssueEvent) -- | List events for a repository. See -- https://developer.github.com/v3/issues/events/#list-events-for-a-repository eventsForRepoR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector IssueEvent) -- | Query a single event. See -- https://developer.github.com/v3/issues/events/#get-a-single-event eventR :: Name Owner -> Name Repo -> Id IssueEvent -> Request k IssueEvent -- | List all labels for this repository. See -- https://developer.github.com/v3/issues/labels/#list-all-labels-for-this-repository labelsOnRepoR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector IssueLabel) -- | Query a single label. See -- https://developer.github.com/v3/issues/labels/#get-a-single-label labelR :: Name Owner -> Name Repo -> Name IssueLabel -> Request k IssueLabel -- | Create a label. See -- https://developer.github.com/v3/issues/labels/#create-a-label createLabelR :: Name Owner -> Name Repo -> NewIssueLabel -> Request 'RW IssueLabel -- | Update a label. See -- https://developer.github.com/v3/issues/labels/#update-a-label updateLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> UpdateIssueLabel -> Request 'RW IssueLabel -- | Delete a label. See -- https://developer.github.com/v3/issues/labels/#delete-a-label deleteLabelR :: Name Owner -> Name Repo -> Name IssueLabel -> GenRequest 'MtUnit 'RW () -- | List labels on an issue. See -- https://developer.github.com/v3/issues/labels/#list-labels-on-an-issue labelsOnIssueR :: Name Owner -> Name Repo -> Id Issue -> FetchCount -> Request k (Vector IssueLabel) -- | Add lables to an issue. See -- https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue addLabelsToIssueR :: Foldable f => Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> Request 'RW (Vector IssueLabel) -- | Remove a label from an issue. See -- https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue removeLabelFromIssueR :: Name Owner -> Name Repo -> Id Issue -> Name IssueLabel -> GenRequest 'MtUnit 'RW () -- | Replace all labels on an issue. See -- https://developer.github.com/v3/issues/labels/#replace-all-labels-for-an-issue -- -- Sending an empty list will remove all labels from the issue. replaceAllLabelsForIssueR :: Foldable f => Name Owner -> Name Repo -> Id Issue -> f (Name IssueLabel) -> Request 'RW (Vector IssueLabel) -- | Remove all labels from an issue. See -- https://developer.github.com/v3/issues/labels/#remove-all-labels-from-an-issue removeAllLabelsFromIssueR :: Name Owner -> Name Repo -> Id Issue -> GenRequest 'MtUnit 'RW () -- | Query labels for every issue in a milestone. See -- https://developer.github.com/v3/issues/labels/#get-labels-for-every-issue-in-a-milestone labelsOnMilestoneR :: Name Owner -> Name Repo -> Id Milestone -> FetchCount -> Request k (Vector IssueLabel) -- | List milestones for a repository. See -- https://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository milestonesR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Milestone) -- | Query a single milestone. See -- https://developer.github.com/v3/issues/milestones/#get-a-single-milestone milestoneR :: Name Owner -> Name Repo -> Id Milestone -> Request k Milestone -- | Create a milestone. See -- https://developer.github.com/v3/issues/milestones/#create-a-milestone createMilestoneR :: Name Owner -> Name Repo -> NewMilestone -> Request 'RW Milestone -- | Update a milestone. See -- https://developer.github.com/v3/issues/milestones/#update-a-milestone updateMilestoneR :: Name Owner -> Name Repo -> Id Milestone -> UpdateMilestone -> Request 'RW Milestone -- | Delete a milestone. See -- https://developer.github.com/v3/issues/milestones/#delete-a-milestone deleteMilestoneR :: Name Owner -> Name Repo -> Id Milestone -> GenRequest 'MtUnit 'RW () -- | List public user organizations. See -- https://developer.github.com/v3/orgs/#list-user-organizations publicOrganizationsForR :: Name User -> FetchCount -> Request k (Vector SimpleOrganization) -- | Query an organization. See -- https://developer.github.com/v3/orgs/#get-an-organization publicOrganizationR :: Name Organization -> Request k Organization -- | List all user organizations. See -- https://developer.github.com/v3/orgs/#list-your-organizations organizationsR :: FetchCount -> Request k (Vector SimpleOrganization) -- | All the users who are members of the specified organization. -- -- See https://developer.github.com/v3/orgs/members/#members-list membersOfR :: Name Organization -> FetchCount -> Request k (Vector SimpleUser) -- | membersOfR with filters. -- -- See https://developer.github.com/v3/orgs/members/#members-list membersOfWithR :: Name Organization -> OrgMemberFilter -> OrgMemberRole -> FetchCount -> Request k (Vector SimpleUser) -- | Check if a user is a member of an organization. -- -- See -- https://developer.github.com/v3/orgs/members/#check-membership isMemberOfR :: Name User -> Name Organization -> GenRequest 'MtStatus rw Bool -- | List pending organization invitations -- -- See -- https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations orgInvitationsR :: Name Organization -> FetchCount -> Request 'RA (Vector Invitation) -- | All the users who are outside collaborators of the specified -- organization. -- -- See -- https://developer.github.com/v3/orgs/outside_collaborators/#list-outside-collaborators outsideCollaboratorsR :: Name Organization -> FetchCount -> Request k (Vector SimpleUser) -- | List teams. See -- https://developer.github.com/v3/orgs/teams/#list-teams teamsOfR :: Name Organization -> FetchCount -> Request k (Vector SimpleTeam) -- | Query team. See -- https://developer.github.com/v3/orgs/teams/#get-team teamInfoForR :: Id Team -> Request k Team -- | Create team. See -- https://developer.github.com/v3/orgs/teams/#create-team createTeamForR :: Name Organization -> CreateTeam -> Request 'RW Team -- | Edit team. See -- https://developer.github.com/v3/orgs/teams/#edit-team editTeamR :: Id Team -> EditTeam -> Request 'RW Team deleteTeamR :: Id Team -> GenRequest 'MtUnit 'RW () -- | List team members. -- -- See -- https://developer.github.com/v3/orgs/teams/#list-team-members listTeamMembersR :: Id Team -> TeamMemberRole -> FetchCount -> Request 'RA (Vector SimpleUser) -- | Query team repositories. See -- https://developer.github.com/v3/orgs/teams/#list-team-repos listTeamReposR :: Id Team -> FetchCount -> Request k (Vector Repo) -- | Query team membership. See -- <https://developer.github.com/v3/orgs/teams/#get-team-membership teamMembershipInfoForR :: Id Team -> Name Owner -> Request k TeamMembership -- | Add team membership. See -- https://developer.github.com/v3/orgs/teams/#add-team-membership addTeamMembershipForR :: Id Team -> Name Owner -> Role -> Request 'RW TeamMembership -- | Remove team membership. See -- https://developer.github.com/v3/orgs/teams/#remove-team-membership deleteTeamMembershipForR :: Id Team -> Name Owner -> GenRequest 'MtUnit 'RW () -- | List user teams. See -- https://developer.github.com/v3/orgs/teams/#list-user-teams listTeamsCurrentR :: FetchCount -> Request 'RA (Vector Team) -- | List pull requests. See -- https://developer.github.com/v3/pulls/#list-pull-requests pullRequestsForR :: Name Owner -> Name Repo -> PullRequestMod -> FetchCount -> Request k (Vector SimplePullRequest) -- | Query a single pull request. See -- https://developer.github.com/v3/pulls/#get-a-single-pull-request pullRequestR :: Name Owner -> Name Repo -> IssueNumber -> Request k PullRequest -- | Query a single pull request to obtain the patch See -- https://developer.github.com/v3/pulls/#get-a-single-pull-request pullRequestPatchR :: Name Owner -> Name Repo -> IssueNumber -> GenRequest 'MtPatch rw ByteString -- | Query a single pull request to obtain the diff See -- https://developer.github.com/v3/pulls/#get-a-single-pull-request pullRequestDiffR :: Name Owner -> Name Repo -> IssueNumber -> GenRequest 'MtDiff rw ByteString -- | Create a pull request. See -- https://developer.github.com/v3/pulls/#create-a-pull-request createPullRequestR :: Name Owner -> Name Repo -> CreatePullRequest -> Request 'RW PullRequest -- | Update a pull request. See -- https://developer.github.com/v3/pulls/#update-a-pull-request updatePullRequestR :: Name Owner -> Name Repo -> IssueNumber -> EditPullRequest -> Request 'RW PullRequest -- | List commits on a pull request. See -- https://developer.github.com/v3/pulls/#list-commits-on-a-pull-request pullRequestCommitsR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector Commit) -- | List pull requests files. See -- https://developer.github.com/v3/pulls/#list-pull-requests-files pullRequestFilesR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector File) -- | Query if a pull request has been merged. See -- https://developer.github.com/v3/pulls/#get-if-a-pull-request-has-been-merged isPullRequestMergedR :: Name Owner -> Name Repo -> IssueNumber -> GenRequest 'MtStatus rw Bool -- | Merge a pull request (Merge Button). -- https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button mergePullRequestR :: Name Owner -> Name Repo -> IssueNumber -> Maybe Text -> GenRequest 'MtStatus 'RW MergeResult -- | List comments on a pull request. See -- https://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request pullRequestCommentsR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector Comment) -- | Query a single comment. See -- https://developer.github.com/v3/pulls/comments/#get-a-single-comment pullRequestCommentR :: Name Owner -> Name Repo -> Id Comment -> Request k Comment -- | Create a comment. -- -- See -- https://developer.github.com/v3/pulls/comments/#create-a-comment createPullCommentR :: Name Owner -> Name Repo -> IssueNumber -> Text -> Text -> Int -> Text -> Request 'RW Comment -- | Create a comment reply. -- -- See -- https://developer.github.com/v3/pulls/comments/#create-a-review-comment-reply createPullCommentReplyR :: Name Owner -> Name Repo -> IssueNumber -> Id Comment -> Text -> Request 'RW Comment -- | List reviews for a pull request. See -- https://developer.github.com/v3/pulls/reviews/#list-reviews-on-a-pull-request pullRequestReviewsR :: Name Owner -> Name Repo -> IssueNumber -> FetchCount -> Request k (Vector Review) -- | Query a single pull request review. see -- https://developer.github.com/v3/pulls/reviews/#get-a-single-review pullRequestReviewR :: Name Owner -> Name Repo -> IssueNumber -> Id Review -> Request k Review -- | Query the comments for a single pull request review. see -- https://developer.github.com/v3/pulls/reviews/#get-comments-for-a-single-review pullRequestReviewCommentsR :: Name Owner -> Name Repo -> IssueNumber -> Id Review -> Request k [ReviewComment] -- | List your repositories. See -- https://docs.github.com/en/rest/reference/repos#list-repositories-for-the-authenticated-user currentUserReposR :: RepoPublicity -> FetchCount -> Request k (Vector Repo) -- | List user repositories. See -- https://docs.github.com/en/rest/reference/repos#list-repositories-for-a-user userReposR :: Name Owner -> RepoPublicity -> FetchCount -> Request k (Vector Repo) -- | List organization repositories. See -- https://docs.github.com/en/rest/reference/repos#list-organization-repositories organizationReposR :: Name Organization -> RepoPublicity -> FetchCount -> Request k (Vector Repo) -- | Query single repository. See -- https://developer.github.com/v3/repos/#get repositoryR :: Name Owner -> Name Repo -> Request k Repo -- | List contributors. See -- https://developer.github.com/v3/repos/#list-contributors contributorsR :: Name Owner -> Name Repo -> Bool -> FetchCount -> Request k (Vector Contributor) -- | List languages. See -- https://developer.github.com/v3/repos/#list-languages languagesForR :: Name Owner -> Name Repo -> Request k Languages -- | List tags. See https://developer.github.com/v3/repos/#list-tags tagsForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Tag) -- | List branches. See -- https://developer.github.com/v3/repos/#list-branches branchesForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Branch) -- | List collaborators. See -- https://developer.github.com/v3/repos/collaborators/#list-collaborators collaboratorsOnR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector SimpleUser) -- | Review a user's permission level. -- https://developer.github.com/v3/repos/collaborators/#review-a-users-permission-level collaboratorPermissionOnR :: Name Owner -> Name Repo -> Name User -> GenRequest 'MtJSON rw CollaboratorWithPermission -- | Check if a user is a collaborator. See -- https://developer.github.com/v3/repos/collaborators/#check-if-a-user-is-a-collaborator isCollaboratorOnR :: Name Owner -> Name Repo -> Name User -> GenRequest 'MtStatus rw Bool -- | Invite a user as a collaborator. See -- https://developer.github.com/v3/repos/collaborators/#add-user-as-a-collaborator addCollaboratorR :: Name Owner -> Name Repo -> Name User -> GenRequest 'MtJSON 'RW (Maybe RepoInvitation) -- | List commit comments for a repository. See -- https://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository commentsForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Comment) -- | List comments for a single commit. See -- https://developer.github.com/v3/repos/comments/#list-comments-for-a-single-commit commitCommentsForR :: Name Owner -> Name Repo -> Name Commit -> FetchCount -> Request k (Vector Comment) -- | Query a single commit comment. See -- https://developer.github.com/v3/repos/comments/#get-a-single-commit-comment commitCommentForR :: Name Owner -> Name Repo -> Id Comment -> Request k Comment -- | List commits on a repository. See -- https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository commitsForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Commit) -- | List commits on a repository. See -- https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository commitsWithOptionsForR :: Name Owner -> Name Repo -> FetchCount -> [CommitQueryOption] -> Request k (Vector Commit) -- | Query a single commit. See -- https://developer.github.com/v3/repos/commits/#get-a-single-commit commitR :: Name Owner -> Name Repo -> Name Commit -> Request k Commit -- | Compare two commits. See -- https://developer.github.com/v3/repos/commits/#compare-two-commits diffR :: Name Owner -> Name Repo -> Name Commit -> Name Commit -> Request k Diff contentsForR :: Name Owner -> Name Repo -> Text -> Maybe Text -> Request k Content readmeForR :: Name Owner -> Name Repo -> Request k Content -- | Get archive link. See -- https://developer.github.com/v3/repos/contents/#get-archive-link archiveForR :: Name Owner -> Name Repo -> ArchiveFormat -> Maybe Text -> GenRequest 'MtRedirect rw URI -- | Create a file. See -- https://developer.github.com/v3/repos/contents/#create-a-file createFileR :: Name Owner -> Name Repo -> CreateFile -> Request 'RW ContentResult -- | Update a file. See -- https://developer.github.com/v3/repos/contents/#update-a-file updateFileR :: Name Owner -> Name Repo -> UpdateFile -> Request 'RW ContentResult -- | Delete a file. See -- https://developer.github.com/v3/repos/contents/#delete-a-file deleteFileR :: Name Owner -> Name Repo -> DeleteFile -> GenRequest 'MtUnit 'RW () -- | Querying deploy keys. See -- https://developer.github.com/v3/repos/keys/#list-deploy-keys deployKeysForR :: Name Owner -> Name Repo -> FetchCount -> Request 'RA (Vector RepoDeployKey) -- | Querying a deploy key. See -- https://developer.github.com/v3/repos/keys/#get-a-deploy-key deployKeyForR :: Name Owner -> Name Repo -> Id RepoDeployKey -> Request 'RA RepoDeployKey -- | Create a deploy key. See -- https://developer.github.com/v3/repos/keys/#add-a-new-deploy-key. createRepoDeployKeyR :: Name Owner -> Name Repo -> NewRepoDeployKey -> Request 'RW RepoDeployKey -- | Delete a deploy key. See -- https://developer.github.com/v3/repos/keys/#remove-a-deploy-key deleteRepoDeployKeyR :: Name Owner -> Name Repo -> Id RepoDeployKey -> GenRequest 'MtUnit 'RW () -- | List deployments. See -- https://developer.github.com/v3/repos/deployments/#list-deployments deploymentsWithOptionsForR :: FromJSON a => Name Owner -> Name Repo -> FetchCount -> [DeploymentQueryOption] -> Request 'RA (Vector (Deployment a)) -- | Create a deployment. See -- https://developer.github.com/v3/repos/deployments/#create-a-deployment createDeploymentR :: (ToJSON a, FromJSON a) => Name Owner -> Name Repo -> CreateDeployment a -> Request 'RW (Deployment a) -- | List deployment statuses. See -- https://developer.github.com/v3/repos/deployments/#list-deployment-statuses deploymentStatusesForR :: Name Owner -> Name Repo -> Id (Deployment a) -> FetchCount -> Request 'RA (Vector DeploymentStatus) -- | Create a deployment status. See -- https://developer.github.com/v3/repos/deployments/#list-deployment-statuses createDeploymentStatusR :: Name Owner -> Name Repo -> Id (Deployment a) -> CreateDeploymentStatus -> Request 'RW DeploymentStatus -- | List forks. See -- https://developer.github.com/v3/repos/forks/#list-forks forksForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Repo) -- | Create a new status See -- https://developer.github.com/v3/repos/statuses/#create-a-status createStatusR :: Name Owner -> Name Repo -> Name Commit -> NewStatus -> Request 'RW Status -- | All statuses for a commit See -- https://developer.github.com/v3/repos/statuses/#list-statuses-for-a-specific-ref statusesForR :: Name Owner -> Name Repo -> Name Commit -> FetchCount -> Request 'RW (Vector Status) -- | The combined status for a specific commit See -- https://developer.github.com/v3/repos/statuses/#get-the-combined-status-for-a-specific-ref statusForR :: Name Owner -> Name Repo -> Name Commit -> Request 'RW CombinedStatus -- | List hooks. See -- https://developer.github.com/v3/repos/hooks/#list-hooks webhooksForR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector RepoWebhook) webhookForR :: Name Owner -> Name Repo -> Id RepoWebhook -> Request k RepoWebhook -- | Create a hook. See -- https://developer.github.com/v3/repos/hooks/#create-a-hook createRepoWebhookR :: Name Owner -> Name Repo -> NewRepoWebhook -> Request 'RW RepoWebhook -- | Edit a hook. See -- https://developer.github.com/v3/repos/hooks/#edit-a-hook editRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> EditRepoWebhook -> Request 'RW RepoWebhook -- | Test a push hook. See -- https://developer.github.com/v3/repos/hooks/#test-a-push-hook testPushRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> GenRequest 'MtStatus 'RW Bool -- | Ping a hook. See -- https://developer.github.com/v3/repos/hooks/#ping-a-hook pingRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> GenRequest 'MtStatus 'RW Bool -- | Delete a hook. See -- https://developer.github.com/v3/repos/hooks/#delete-a-hook deleteRepoWebhookR :: Name Owner -> Name Repo -> Id RepoWebhook -> GenRequest 'MtUnit 'RW () -- | List releases for a repository. See -- https://developer.github.com/v3/repos/releases/#list-releases-for-a-repository releasesR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Release) -- | Get a single release. See -- https://developer.github.com/v3/repos/releases/#get-a-single-release releaseR :: Name Owner -> Name Repo -> Id Release -> Request k Release -- | Get the latest release. See -- https://developer.github.com/v3/repos/releases/#get-the-latest-release latestReleaseR :: Name Owner -> Name Repo -> Request k Release -- | Get a release by tag name See -- https://developer.github.com/v3/repos/releases/#get-a-release-by-tag-name releaseByTagNameR :: Name Owner -> Name Repo -> Text -> Request k Release -- | List open invitations of a repository See -- https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository listInvitationsOnR :: Name Owner -> Name Repo -> FetchCount -> GenRequest 'MtJSON k (Vector RepoInvitation) -- | Accept a repository invitation See -- https://developer.github.com/v3/repos/invitations/#accept-a-repository-invitation acceptInvitationFromR :: Id RepoInvitation -> GenRequest 'MtUnit 'RW () -- | List a user's repository invitations See -- https://developer.github.com/v3/repos/invitations/#list-a-users-repository-invitations listInvitationsForR :: FetchCount -> Request k (Vector RepoInvitation) -- | Search repositories. See -- https://developer.github.com/v3/search/#search-repositories searchReposR :: Text -> FetchCount -> Request k (SearchResult Repo) -- | Search code. See -- https://developer.github.com/v3/search/#search-code searchCodeR :: Text -> FetchCount -> Request k (SearchResult Code) -- | Search issues. See -- https://developer.github.com/v3/search/#search-issues searchIssuesR :: Text -> FetchCount -> Request k (SearchResult Issue) -- | Search users. See -- https://developer.github.com/v3/search/#search-code searchUsersR :: Text -> FetchCount -> Request k (SearchResult SimpleUser) -- | Query a single user. See -- https://developer.github.com/v3/users/#get-a-single-user -- --
-- >>> github' userInfoForR "mike-burns" ---- -- or -- --
-- >>> github userInfoForR (OAuth "github-token") "mike-burns" --userInfoForR :: Name User -> Request k User -- | Query a single user or an organization. See -- https://developer.github.com/v3/users/#get-a-single-user ownerInfoForR :: Name Owner -> Request k Owner -- | Query the authenticated user. See -- https://developer.github.com/v3/users/#get-the-authenticated-user userInfoCurrentR :: Request 'RA User -- | List email addresses. See -- https://developer.github.com/v3/users/emails/#list-email-addresses-for-a-user currentUserEmailsR :: FetchCount -> Request 'RA (Vector Email) -- | List public email addresses. See -- https://developer.github.com/v3/users/emails/#list-public-email-addresses-for-a-user currentUserPublicEmailsR :: FetchCount -> Request 'RA (Vector Email) -- | List followers of a user. See -- https://developer.github.com/v3/users/followers/#list-followers-of-a-user usersFollowingR :: Name User -> FetchCount -> Request k (Vector SimpleUser) -- | List users followed by another user. See -- https://developer.github.com/v3/users/followers/#list-users-followed-by-another-user usersFollowedByR :: Name User -> FetchCount -> Request k (Vector SimpleUser) -- | Querying the authenticated users' public SSH keys See -- https://developer.github.com/v3/users/keys/#list-your-public-keys publicSSHKeysR :: Request 'RA (Vector PublicSSHKey) -- | Querying public SSH keys. See -- https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user publicSSHKeysForR :: Name Owner -> FetchCount -> Request 'RO (Vector PublicSSHKeyBasic) -- | Querying a public SSH key. See -- https://developer.github.com/v3/users/keys/#get-a-single-public-key publicSSHKeyR :: Id PublicSSHKey -> Request 'RA PublicSSHKey -- | Create a public SSH key. See -- https://developer.github.com/v3/users/keys/#create-a-public-key. createUserPublicSSHKeyR :: NewPublicSSHKey -> Request 'RW PublicSSHKey -- | Delete a public SSH key. See -- https://developer.github.com/v3/users/keys/#delete-a-public-key deleteUserPublicSSHKeyR :: Id PublicSSHKey -> GenRequest 'MtUnit 'RW () -- | Get your current rate limit status. -- https://developer.github.com/v3/rate_limit/#get-your-current-rate-limit-status rateLimitR :: Request k RateLimit -- | List artifacts for repository. See -- https://docs.github.com/en/rest/reference/actions#list-artifacts-for-a-repository artifactsForR :: Name Owner -> Name Repo -> ArtifactMod -> FetchCount -> Request 'RA (WithTotalCount Artifact) -- | Get an artifact. See -- https://docs.github.com/en/rest/reference/actions#get-an-artifact artifactR :: Name Owner -> Name Repo -> Id Artifact -> Request 'RA Artifact -- | Delete an artifact. See -- https://docs.github.com/en/rest/reference/actions#delete-an-artifact deleteArtifactR :: Name Owner -> Name Repo -> Id Comment -> GenRequest 'MtUnit 'RW () -- | Download an artifact. See -- https://docs.github.com/en/rest/reference/actions#download-an-artifact downloadArtifactR :: Name Owner -> Name Repo -> Id Artifact -> GenRequest 'MtRedirect 'RW URI -- | List artifacts for a workflow run. See -- https://docs.github.com/en/rest/reference/actions#list-workflow-run-artifacts artifactsForWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> FetchCount -> Request 'RA (WithTotalCount Artifact) -- | Get Actions cache usage for the organization. See -- https://docs.github.com/en/rest/actions/cache#get-github-actions-cache-usage-for-an-organization cacheUsageOrganizationR :: Name Organization -> GenRequest 'MtJSON 'RA OrganizationCacheUsage -- | List repositories with GitHub Actions cache usage for an organization. -- See -- https://docs.github.com/en/rest/actions/cache#list-repositories-with-github-actions-cache-usage-for-an-organization cacheUsageByRepositoryR :: Name Organization -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount RepositoryCacheUsage) -- | Get GitHub Actions cache usage for a repository. See -- https://docs.github.com/en/rest/actions/cache#get-github-actions-cache-usage-for-a-repository cacheUsageR :: Name Owner -> Name Repo -> Request k RepositoryCacheUsage -- | List the GitHub Actions caches for a repository. See -- https://docs.github.com/en/rest/actions/cache#list-github-actions-caches-for-a-repository cachesForRepoR :: Name Owner -> Name Repo -> CacheMod -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount Cache) -- | Delete GitHub Actions cache for a repository. See -- https://docs.github.com/en/rest/actions/cache#delete-a-github-actions-cache-for-a-repository-using-a-cache-id deleteCacheR :: Name Owner -> Name Repo -> Id Cache -> GenRequest 'MtUnit 'RW () -- | List organization secrets. See -- https://docs.github.com/en/rest/actions/secrets#list-organization-secrets organizationSecretsR :: Name Organization -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount OrganizationSecret) -- | List organization secrets. See -- https://docs.github.com/en/rest/actions/secrets#get-an-organization-public-key organizationPublicKeyR :: Name Organization -> GenRequest 'MtJSON 'RA PublicKey -- | Get an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#get-an-organization-secret organizationSecretR :: Name Organization -> Name OrganizationSecret -> GenRequest 'MtJSON 'RA OrganizationSecret -- | Create or update an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#create-or-update-an-organization-secret setOrganizationSecretR :: Name Organization -> Name OrganizationSecret -> SetSecret -> GenRequest 'MtUnit 'RW () -- | Delete an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#delete-an-organization-secret deleteOrganizationSecretR :: Name Organization -> Name OrganizationSecret -> GenRequest 'MtUnit 'RW () -- | Get selected repositories for an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#list-selected-repositories-for-an-organization-secret organizationSelectedRepositoriesForSecretR :: Name Organization -> Name OrganizationSecret -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount SelectedRepo) -- | Set selected repositories for an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#set-selected-repositories-for-an-organization-secret setOrganizationSelectedRepositoriesForSecretR :: Name Organization -> Name OrganizationSecret -> SetSelectedRepositories -> GenRequest 'MtUnit 'RW () -- | Add selected repository to an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#add-selected-repository-to-an-organization-secret addOrganizationSelectedRepositoriesForSecretR :: Name Organization -> Name OrganizationSecret -> Id Repo -> GenRequest 'MtUnit 'RW () -- | Remove selected repository from an organization secret. See -- https://docs.github.com/en/rest/actions/secrets#remove-selected-repository-from-an-organization-secret removeOrganizationSelectedRepositoriesForSecretR :: Name Organization -> Name OrganizationSecret -> Id Repo -> GenRequest 'MtUnit 'RW () -- | List repository secrets. See -- https://docs.github.com/en/rest/actions/secrets#list-repository-secrets repoSecretsR :: Name Owner -> Name Repo -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount RepoSecret) -- | Get a repository public key. See -- https://docs.github.com/en/rest/actions/secrets#get-a-repository-public-key repoPublicKeyR :: Name Owner -> Name Organization -> GenRequest 'MtJSON 'RA PublicKey -- | Get a repository secret. See -- https://docs.github.com/en/rest/actions/secrets#get-a-repository-secret repoSecretR :: Name Owner -> Name Organization -> Name RepoSecret -> GenRequest 'MtJSON 'RA RepoSecret -- | Create or update a repository secret. See -- https://docs.github.com/en/rest/actions/secrets#create-or-update-a-repository-secret setRepoSecretR :: Name Owner -> Name Organization -> Name RepoSecret -> SetRepoSecret -> GenRequest 'MtUnit 'RW () -- | Delete a repository secret. See -- https://docs.github.com/en/rest/actions/secrets#delete-a-repository-secret deleteRepoSecretR :: Name Owner -> Name Organization -> Name RepoSecret -> GenRequest 'MtUnit 'RW () -- | List environment secrets. See -- https://docs.github.com/en/rest/actions/secrets#list-environment-secrets environmentSecretsR :: Id Repo -> Name Environment -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount RepoSecret) -- | Get an environment public key. See -- https://docs.github.com/en/rest/actions/secrets#get-an-environment-public-key environmentPublicKeyR :: Id Repo -> Name Environment -> GenRequest 'MtJSON 'RA PublicKey -- | Get an environment secret See -- https://docs.github.com/en/rest/actions/secrets#get-an-environment-secret environmentSecretR :: Id Repo -> Name Environment -> Name RepoSecret -> GenRequest 'MtJSON 'RA RepoSecret -- | Create or update an environment secret. See -- https://docs.github.com/en/rest/actions/secrets#create-or-update-an-environment-secret setEnvironmentSecretR :: Id Repo -> Name Environment -> Name RepoSecret -> SetRepoSecret -> GenRequest 'MtUnit 'RW () -- | Delete an environment secret. See -- https://docs.github.com/en/rest/actions/secrets#delete-an-environment-secret deleteEnvironmentSecretR :: Id Repo -> Name Environment -> Name RepoSecret -> GenRequest 'MtUnit 'RW () -- | Get a job for a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-jobs#get-a-job-for-a-workflow-run jobR :: Name Owner -> Name Repo -> Id Job -> Request 'RA Job -- | Download job logs for a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-jobs#download-job-logs-for-a-workflow-run downloadJobLogsR :: Name Owner -> Name Repo -> Id Job -> GenRequest 'MtRedirect 'RO URI -- | List jobs for a workflow run attempt. See -- https://docs.github.com/en/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run-attempt jobsForWorkflowRunAttemptR :: Name Owner -> Name Repo -> Id WorkflowRun -> Id RunAttempt -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount Job) -- | List jobs for a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-jobs#list-jobs-for-a-workflow-run jobsForWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount Job) -- | Re-run a job from a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#re-run-a-job-from-a-workflow-run reRunJobR :: Name Owner -> Name Repo -> Id Job -> GenRequest 'MtUnit 'RW () -- | List workflow runs for a repository. See -- https://docs.github.com/en/rest/actions/workflow-runs#list-workflow-runs-for-a-repository workflowRunsR :: Name Owner -> Name Repo -> WorkflowRunMod -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount WorkflowRun) -- | Get a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#get-a-workflow-run workflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtJSON 'RA WorkflowRun -- | Delete a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#delete-a-workflow-run deleteWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Get the review history for a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#get-the-review-history-for-a-workflow-run workflowRunReviewHistoryR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtJSON 'RA (Vector ReviewHistory) -- | Approve a workflow run for a fork pull request. See -- https://docs.github.com/en/rest/actions/workflow-runs#approve-a-workflow-run-for-a-fork-pull-request approveWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Get a workflow run attempt. See -- https://docs.github.com/en/rest/actions/workflow-runs#get-a-workflow-run-attempt workflowRunAttemptR :: Name Owner -> Name Repo -> Id WorkflowRun -> Id RunAttempt -> GenRequest 'MtJSON 'RA WorkflowRun -- | Download workflow run attempt logs. See -- https://docs.github.com/en/rest/actions/workflow-runs#download-workflow-run-attempt-logs downloadWorkflowRunAttemptLogsR :: Name Owner -> Name Repo -> Id WorkflowRun -> Id RunAttempt -> GenRequest 'MtRedirect 'RO URI -- | Cancel a workflow run. See -- https://docs.github.com/en/rest/actions/workflow-runs#cancel-a-workflow-run cancelWorkflowRunR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Download workflow run logs. See -- https://docs.github.com/en/rest/actions/workflow-runs#download-workflow-run-logs downloadWorkflowRunLogsR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtRedirect 'RA URI -- | Delete workflow run logs. See -- https://docs.github.com/en/rest/actions/workflow-runs#delete-workflow-run-logs deleteWorkflowRunLogsR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Re-run a workflow. See -- https://docs.github.com/en/rest/actions/workflow-runs#re-run-a-workflow reRunWorkflowR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | Re-run failed jobs from a workflow run. See -- https://docs.github.com/en/rest/actions/re-run-failed-jobs-from-a-workflow-run reRunFailedJobsR :: Name Owner -> Name Repo -> Id WorkflowRun -> GenRequest 'MtUnit 'RW () -- | List workflow runs for a workflow. See -- https://docs.github.com/en/rest/actions/workflow-runs#list-workflow-runs-for-a-workflow workflowRunsForWorkflowR :: IsPathPart idOrName => Name Owner -> Name Repo -> idOrName -> WorkflowRunMod -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount WorkflowRun) -- | List repository workflows. See -- https://docs.github.com/en/rest/actions/workflows#list-repository-workflows repositoryWorkflowsR :: Name Owner -> Name Repo -> FetchCount -> GenRequest 'MtJSON 'RA (WithTotalCount Workflow) -- | Get a workflow. See -- https://docs.github.com/en/rest/actions/workflows#get-a-workflow workflowR :: IsPathPart idOrName => Name Owner -> Name Repo -> idOrName -> GenRequest 'MtJSON 'RA Workflow -- | Disable a workflow. See -- https://docs.github.com/en/rest/actions/workflows#disable-a-workflow disableWorkflowR :: IsPathPart idOrName => Name Owner -> Name Repo -> idOrName -> GenRequest 'MtUnit 'RW () -- | Create a workflow dispatch event. See -- https://docs.github.com/en/rest/actions/workflows#create-a-workflow-dispatch-event triggerWorkflowR :: (ToJSON a, IsPathPart idOrName) => Name Owner -> Name Repo -> idOrName -> CreateWorkflowDispatchEvent a -> GenRequest 'MtUnit 'RW () -- | Enable a workflow. See -- https://docs.github.com/en/rest/actions/workflows#enable-a-workflow enableWorkflowR :: IsPathPart idOrName => Name Owner -> Name Repo -> idOrName -> GenRequest 'MtUnit 'RW ()