Versions in this module Expand all Collapse all v1 v1.1.0 Aug 25, 2025 v1.0.0 Aug 21, 2025 Changes in this version + var ErrNoGitHubToken = errors.New("no GitHub token available") + var ErrUserNotFound = errors.New("user not found") + func CompareAPIEfficiency() map[string]any + func ExtractSocialMediaFromHTML(html string) []string + type ActivityDataResponse struct + User struct{ ... } + type Client struct + func NewClient(logger *slog.Logger, httpClient *http.Client, githubToken string, ...) *Client + func (c *Client) FetchActivityWithGraphQL(ctx context.Context, username string) ([]PullRequest, []Issue, error) + func (c *Client) FetchCommentsWithGraphQL(ctx context.Context, username string) ([]Comment, error) + func (c *Client) FetchIssues(ctx context.Context, username string) ([]Issue, error) + func (c *Client) FetchIssuesWithLimit(ctx context.Context, username string, maxPages int) ([]Issue, error) + func (c *Client) FetchOrganizations(ctx context.Context, username string) ([]Organization, error) + func (c *Client) FetchPinnedRepositories(ctx context.Context, username string) ([]Repository, error) + func (c *Client) FetchPopularRepositories(ctx context.Context, username string) ([]Repository, error) + func (c *Client) FetchProfileHTML(ctx context.Context, username string) string + func (c *Client) FetchPublicEvents(ctx context.Context, username string) ([]PublicEvent, error) + func (c *Client) FetchPullRequests(ctx context.Context, username string) ([]PullRequest, error) + func (c *Client) FetchPullRequestsWithLimit(ctx context.Context, username string, maxPages int) ([]PullRequest, error) + func (c *Client) FetchSocialFromHTML(ctx context.Context, username string) []string + func (c *Client) FetchStarredRepositories(ctx context.Context, username string) ([]time.Time, []Repository, error) + func (c *Client) FetchUserComments(ctx context.Context, username string) ([]Comment, error) + func (c *Client) FetchUserCommitActivities(ctx context.Context, username string) ([]CommitActivity, error) + func (c *Client) FetchUserCommitActivitiesGraphQL(ctx context.Context, username string, maxCommits int) ([]CommitActivity, error) + func (c *Client) FetchUserCommitActivitiesWithLimit(ctx context.Context, username string, maxPages int) ([]CommitActivity, error) + func (c *Client) FetchUserCommits(ctx context.Context, username string) ([]time.Time, error) + func (c *Client) FetchUserCommitsWithLimit(ctx context.Context, username string, maxPages int) ([]time.Time, error) + func (c *Client) FetchUserEnhancedGraphQL(ctx context.Context, username string) (*User, error) + func (c *Client) FetchUserGists(ctx context.Context, username string) ([]time.Time, error) + func (c *Client) FetchUserGistsDetails(ctx context.Context, username string) ([]Gist, error) + func (c *Client) FetchUserRepositories(ctx context.Context, username string) ([]Repository, error) + func (c *Client) FetchUserSSHKeys(ctx context.Context, username string) ([]SSHKey, error) + type Comment struct + Body string + CreatedAt time.Time + HTMLURL string + Repository string + UpdatedAt time.Time + type CommentDataResponse struct + User struct{ ... } + type CommitActivity struct + AuthorDate time.Time + AuthorEmail string + AuthorName string + CommitterEmail string + CommitterName string + Repository string + RepositoryID int + type Gist struct + CreatedAt time.Time + Description string + HTMLURL string + ID string + Public bool + UpdatedAt time.Time + type GraphQLClient struct + func NewGraphQLClient(token string, ...) *GraphQLClient + func (c *GraphQLClient) FetchActivityData(ctx context.Context, username string, prCursor, issueCursor string) (*ActivityDataResponse, error) + func (c *GraphQLClient) FetchComments(ctx context.Context, username string, cursor string) (*CommentDataResponse, error) + func (c *GraphQLClient) FetchUserProfile(ctx context.Context, username string) (*UserProfileResponse, error) + type GraphQLError struct + Message string + Type string + type GraphQLResponse struct + Data json.RawMessage + Errors []GraphQLError + type Issue struct + Body string + CreatedAt time.Time + HTMLURL string + Number int + RepoName string + State string + Title string + UpdatedAt time.Time + type IssueSearchItem struct + Body string + CreatedAt time.Time + HTMLURL string + Number int + Repository struct{ ... } + State string + Title string + UpdatedAt time.Time + type Organization struct + Blog string + Description string + Location string + Login string + Name string + type PRSearchItem struct + Body string + CreatedAt time.Time + HTMLURL string + Number int + Repository struct{ ... } + State string + Title string + UpdatedAt time.Time + type PublicEvent struct + CreatedAt time.Time + ID string + Payload json.RawMessage + Repo struct{ ... } + Type string + type PullRequest struct + Body string + CreatedAt time.Time + HTMLURL string + MergedAt *time.Time + Number int + RepoName string + State string + Title string + UpdatedAt time.Time + type Repository struct + CreatedAt time.Time + Description string + Fork bool + FullName string + HTMLURL string + Language string + Name string + PushedAt time.Time + StarCount int + Topics []string + UpdatedAt time.Time + type SSHKey struct + CreatedAt time.Time + ID int + Key string + ReadOnly bool + Title string + URL string + Verified bool + type SocialAccount struct + DisplayName string + Provider string + URL string + type User struct + Bio string + Blog string + Company string + CreatedAt time.Time + Email string + Followers int + Following int + Location string + Login string + Name string + ProfileHTML string + PublicRepos int + SocialAccounts []SocialAccount + TwitterHandle string + UpdatedAt time.Time + type UserProfileResponse struct + User struct{ ... }