/ src / types / github-pr.ts
github-pr.ts
 1  export type GitHubPullRequest = {
 2  	id: string;
 3  	number: number;
 4  	title: string;
 5  	state: "open" | "closed" | "merged";
 6  	merged_at: string | null;
 7  	created_at: string;
 8  	updated_at: string;
 9  	url: string;
10  	repository: {
11  		name: string;
12  		full_name: string;
13  		url: string;
14  		stargazerCount: number;
15  	};
16  	user: {
17  		login: string;
18  		url: string;
19  	};
20  	additions: number;
21  	deletions: number;
22  	changed_files: number;
23  };
24  
25  export type GroupedPRs = {
26  	[repoName: string]: {
27  		repository: {
28  			name: string;
29  			full_name: string;
30  			url: string;
31  			stargazerCount: number;
32  		};
33  		prs: GitHubPullRequest[];
34  		mergedCount: number;
35  	};
36  };
37  
38  export type GitHubLoaderOptions = {
39  	username: string;
40  	minStars: number;
41  };
42  
43  export type GraphQLPullRequest = {
44  	id: string;
45  	number: number;
46  	title: string;
47  	state: string;
48  	mergedAt: string | null;
49  	createdAt: string;
50  	updatedAt: string;
51  	url: string;
52  	repository: {
53  		name: string;
54  		nameWithOwner: string;
55  		url: string;
56  		stargazerCount: number;
57  		isArchived: boolean;
58  	};
59  	author: {
60  		login: string;
61  		url: string;
62  	};
63  	additions: number;
64  	deletions: number;
65  	changedFiles: number;
66  };
67  
68  export type GraphQLResponse = {
69  	user: {
70  		pullRequests: {
71  			pageInfo: {
72  				hasNextPage: boolean;
73  				endCursor: string | null;
74  			};
75  			nodes: GraphQLPullRequest[];
76  		};
77  	};
78  };