diff --git a/src/lib/githubYearInReview.ts b/src/lib/githubYearInReview.ts index 23c4538d..cb3fea92 100644 --- a/src/lib/githubYearInReview.ts +++ b/src/lib/githubYearInReview.ts @@ -118,16 +118,18 @@ async function graphql(query: string, token: string, variables: Record["contributionsCollection"]): { name: string; contributions: number } | null { const counter = new Map(); - const buckets = [ - ...(data.commitContributionsByRepository || []), - ...(data.pullRequestContributionsByRepository || []), - ...(data.issueContributionsByRepository || []), - ]; - - for (const item of buckets) { - const name = `${item.repository.owner.login}/${item.repository.name}`; - counter.set(name, (counter.get(name) ?? 0) + item.contributions.totalCount); - } + + const processBuckets = (buckets?: ContributionsByRepoNode[]) => { + if (!buckets) return; + for (const item of buckets) { + const name = `${item.repository.owner.login}/${item.repository.name}`; + counter.set(name, (counter.get(name) ?? 0) + item.contributions.totalCount); + } + }; + + processBuckets(data.commitContributionsByRepository); + processBuckets(data.pullRequestContributionsByRepository); + processBuckets(data.issueContributionsByRepository); let top: { name: string; contributions: number } | null = null; for (const [name, contributions] of counter.entries()) {