Skip to content

Commit 1f93828

Browse files
committed
Reorganizes ctor params for better consistency
Renames models to better align with usage
1 parent 0008a65 commit 1f93828

File tree

6 files changed

+22
-18
lines changed

6 files changed

+22
-18
lines changed

src/env/node/git/sub-providers/contributors.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { Container } from '../../../../container';
22
import type { GitCache } from '../../../../git/cache';
33
import type { GitContributorsSubProvider } from '../../../../git/gitProvider';
4-
import type { GitContributorStats } from '../../../../git/models/contributor';
4+
import type { GitContributorsStats } from '../../../../git/models/contributor';
55
import { GitContributor } from '../../../../git/models/contributor';
66
import { getContributorsParser } from '../../../../git/parsers/logParser';
77
import { calculateContributionScore } from '../../../../git/utils/contributor.utils';
@@ -78,10 +78,10 @@ export class ContributorsGitSubProvider implements GitContributorsSubProvider {
7878
repoPath,
7979
c.author,
8080
c.email,
81+
isUserMatch(currentUser, c.author, c.email),
8182
1,
8283
new Date(timestamp),
8384
new Date(timestamp),
84-
isUserMatch(currentUser, c.author, c.email),
8585
c.stats
8686
? {
8787
...c.stats,
@@ -143,7 +143,7 @@ export class ContributorsGitSubProvider implements GitContributorsSubProvider {
143143
async getContributorsStats(
144144
repoPath: string,
145145
options?: { merges?: boolean; since?: string },
146-
): Promise<GitContributorStats | undefined> {
146+
): Promise<GitContributorsStats | undefined> {
147147
if (repoPath == null) return undefined;
148148

149149
const scope = getLogScope();
@@ -166,7 +166,7 @@ export class ContributorsGitSubProvider implements GitContributorsSubProvider {
166166
.filter(c => !isNaN(c))
167167
.sort((a, b) => b - a);
168168

169-
const result: GitContributorStats = {
169+
const result: GitContributorsStats = {
170170
count: contributions.length,
171171
contributions: contributions,
172172
};

src/git/gitProvider.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import type { GitUri } from './gitUri';
99
import type { GitBlame, GitBlameLine } from './models/blame';
1010
import type { GitBranch } from './models/branch';
1111
import type { GitCommit, GitCommitStats } from './models/commit';
12-
import type { GitContributor, GitContributorStats } from './models/contributor';
12+
import type { GitContributor, GitContributorsStats } from './models/contributor';
1313
import type { GitDiff, GitDiffFile, GitDiffFiles, GitDiffFilter, GitDiffLine, GitDiffShortStat } from './models/diff';
1414
import type { GitFile } from './models/file';
1515
import type { GitFileChange } from './models/fileChange';
@@ -413,7 +413,7 @@ export interface GitContributorsSubProvider {
413413
getContributorsStats(
414414
repoPath: string,
415415
options?: { merges?: boolean; since?: string },
416-
): Promise<GitContributorStats | undefined>;
416+
): Promise<GitContributorsStats | undefined>;
417417
getContributors(
418418
repoPath: string,
419419
options?: {

src/git/models/contributor.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ export function isContributor(contributor: unknown): contributor is GitContribut
1313
export class GitContributor {
1414
constructor(
1515
public readonly repoPath: string,
16-
public readonly name: string | undefined,
16+
public readonly name: string,
1717
public readonly email: string | undefined,
18+
public readonly current: boolean,
1819
public readonly commits: number,
1920
public readonly latestCommitDate?: Date,
2021
public readonly firstCommitDate?: Date,
21-
public readonly current: boolean = false,
22-
public readonly stats?: GitCommitStats<number> & { contributionScore: number },
22+
public readonly stats?: GitContributorStats,
2323
public readonly username?: string | undefined,
2424
private readonly avatarUrl?: string | undefined,
2525
public readonly id?: string | undefined,
@@ -49,7 +49,11 @@ export class GitContributor {
4949
}
5050
}
5151

52-
export interface GitContributorStats {
52+
export interface GitContributorStats extends GitCommitStats<number> {
53+
readonly contributionScore: number;
54+
}
55+
56+
export interface GitContributorsStats {
5357
readonly count: number;
5458
readonly contributions: number[];
5559
}

src/git/utils/contributor.utils.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { GitCommitStats } from '../models/commit';
2-
import type { GitContributionTiers, GitContributor, GitContributorStats } from '../models/contributor';
2+
import type { GitContributionTiers, GitContributor, GitContributorsStats } from '../models/contributor';
33
import type { GitUser } from '../models/user';
44

55
export interface ContributorScoreOptions {
@@ -43,7 +43,7 @@ export function calculateContributionScore(
4343
}
4444

4545
export function calculateDistribution<T extends string>(
46-
stats: GitContributorStats | undefined,
46+
stats: GitContributorsStats | undefined,
4747
prefix: T,
4848
): Record<`${typeof prefix}${GitContributionTiers}`, number> {
4949
if (stats == null) return {} as unknown as Record<`${typeof prefix}${GitContributionTiers}`, number>;

src/plus/integrations/providers/github/sub-providers/contributors.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { Container } from '../../../../../container';
22
import type { GitCache } from '../../../../../git/cache';
33
import type { GitContributorsSubProvider } from '../../../../../git/gitProvider';
4-
import type { GitContributorStats } from '../../../../../git/models/contributor';
4+
import type { GitContributorsStats } from '../../../../../git/models/contributor';
55
import { GitContributor } from '../../../../../git/models/contributor';
66
import { isUserMatch } from '../../../../../git/utils/user.utils';
77
import { log } from '../../../../../system/decorators/log';
@@ -38,12 +38,12 @@ export class ContributorsGitSubProvider implements GitContributorsSubProvider {
3838
contributors.push(
3939
new GitContributor(
4040
repoPath,
41-
c.name,
41+
c.name ?? c.login ?? '',
4242
c.email,
43+
isUserMatch(currentUser, c.name, c.email, c.login),
4344
c.contributions,
4445
undefined,
4546
undefined,
46-
isUserMatch(currentUser, c.name, c.email, c.login),
4747
undefined,
4848
c.login,
4949
c.avatar_url,
@@ -64,7 +64,7 @@ export class ContributorsGitSubProvider implements GitContributorsSubProvider {
6464
async getContributorsStats(
6565
repoPath: string,
6666
_options?: { merges?: boolean; since?: string },
67-
): Promise<GitContributorStats | undefined> {
67+
): Promise<GitContributorsStats | undefined> {
6868
if (repoPath == null) return undefined;
6969

7070
const scope = getLogScope();
@@ -76,7 +76,7 @@ export class ContributorsGitSubProvider implements GitContributorsSubProvider {
7676

7777
const contributions = results.map(c => c.contributions).sort((a, b) => b - a);
7878

79-
const result: GitContributorStats = {
79+
const result: GitContributorsStats = {
8080
count: contributions.length,
8181
contributions: contributions,
8282
};

src/webviews/plus/graph/graphWebview.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3937,7 +3937,7 @@ export class GraphWebviewProvider implements WebviewProvider<State, State, Graph
39373937
const { repoPath, name, email, current } = item.webviewItemValue;
39383938
return ContributorActions.addAuthors(
39393939
repoPath,
3940-
new GitContributor(repoPath, name, email, 0, undefined, undefined, current),
3940+
new GitContributor(repoPath, name, email, current ?? false, 0),
39413941
);
39423942
}
39433943

0 commit comments

Comments
 (0)