code: func NewClient(httpClient *http.Client) *Client {
  	if httpClient == nil {
  		httpClient = http.DefaultClient
  	}
  	baseURL, _ := url.Parse(defaultBaseURL)
  	uploadURL, _ := url.Parse(uploadBaseURL)
  
  	c := &Client{client: httpClient, BaseURL: baseURL, UserAgent: userAgent, UploadURL: uploadURL}
  	c.common.client = c
  	c.Activity = (*ActivityService)(&c.common)
  	c.Admin = (*AdminService)(&c.common)
  	c.Apps = (*AppsService)(&c.common)
  	c.Authorizations = (*AuthorizationsService)(&c.common)
  	c.Checks = (*ChecksService)(&c.common)
  	c.Gists = (*GistsService)(&c.common)
  	c.Git = (*GitService)(&c.common)
  	c.Gitignores = (*GitignoresService)(&c.common)
  	c.Interactions = (*InteractionsService)(&c.common)
  	c.Issues = (*IssuesService)(&c.common)
  	c.Licenses = (*LicensesService)(&c.common)
  	c.Marketplace = &MarketplaceService{client: c}
  	c.Migrations = (*MigrationService)(&c.common)
  	c.Organizations = (*OrganizationsService)(&c.common)
  	c.Projects = (*ProjectsService)(&c.common)
  	c.PullRequests = (*PullRequestsService)(&c.common)
  	c.Reactions = (*ReactionsService)(&c.common)
  	c.Repositories = (*RepositoriesService)(&c.common)
  	c.Search = (*SearchService)(&c.common)
  	c.Teams = (*TeamsService)(&c.common)
  	c.Users = (*UsersService)(&c.common)
  	return c
  }
docs: // NewClient returns a new GitHub API client. If a nil httpClient is
  // provided, http.DefaultClient will be used. To use API methods which require
  // authentication, provide an http.Client that will perform the authentication
  // for you (such as that provided by the golang.org/x/oauth2 library).