{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TemplateHaskell #-}
module GitHub.Types.Base.EditRepo where
import Data.Aeson.TH (Options (fieldLabelModifier),
defaultOptions, deriveJSON)
import GHC.Generics (Generic)
import Test.QuickCheck.Arbitrary (Arbitrary (..))
import Test.QuickCheck.Arbitrary.Generic (genericArbitrary)
import Text.Casing (quietSnake)
data EditRepo = EditRepo
{ EditRepo -> Maybe Bool
editRepoArchived :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoHasProjects :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoDeleteBranchOnMerge :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoIsTemplate :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoAllowSquashMerge :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoHasWiki :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoAllowForking :: Maybe Bool
, EditRepo -> Maybe String
editRepoSquashMergeCommitMessage :: Maybe String
, EditRepo -> Maybe Bool
editRepoAllowMergeCommit :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoWebCommitSignoffRequired :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoUseSquashPrTitleAsDefault :: Maybe Bool
, EditRepo -> Maybe String
editRepoDescription :: Maybe String
, EditRepo -> Maybe String
editRepoSquashMergeCommitTitle :: Maybe String
, EditRepo -> Maybe String
editRepoMergeCommitMessage :: Maybe String
, EditRepo -> Maybe Bool
editRepoAllowUpdateBranch :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoPrivate :: Maybe Bool
, EditRepo -> Maybe String
editRepoName :: Maybe String
, EditRepo -> Maybe String
editRepoMergeCommitTitle :: Maybe String
, EditRepo -> Maybe Bool
editRepoAllowRebaseMerge :: Maybe Bool
, EditRepo -> Maybe Bool
editRepoHasIssues :: Maybe Bool
, EditRepo -> Maybe String
editRepoHomepage :: Maybe String
, EditRepo -> Maybe String
editRepoDefaultBranch :: Maybe String
, EditRepo -> Maybe String
editRepoVisibility :: Maybe String
} deriving (EditRepo -> EditRepo -> Bool
(EditRepo -> EditRepo -> Bool)
-> (EditRepo -> EditRepo -> Bool) -> Eq EditRepo
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EditRepo -> EditRepo -> Bool
$c/= :: EditRepo -> EditRepo -> Bool
== :: EditRepo -> EditRepo -> Bool
$c== :: EditRepo -> EditRepo -> Bool
Eq, (forall x. EditRepo -> Rep EditRepo x)
-> (forall x. Rep EditRepo x -> EditRepo) -> Generic EditRepo
forall x. Rep EditRepo x -> EditRepo
forall x. EditRepo -> Rep EditRepo x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep EditRepo x -> EditRepo
$cfrom :: forall x. EditRepo -> Rep EditRepo x
Generic)
$(deriveJSON defaultOptions{fieldLabelModifier = quietSnake . drop (length "EditRepo")} ''EditRepo)
instance Arbitrary EditRepo where
arbitrary :: Gen EditRepo
arbitrary = Gen EditRepo
forall a (ga :: * -> *) (some :: Bool).
(Generic a, GArbitrary a ga some, ga ~ Rep a) =>
Gen a
genericArbitrary