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 };