@stats-forge/github-stats-forge-core 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +148 -0
- package/build/api/api-result.d.ts +44 -0
- package/build/api/api-result.d.ts.map +1 -0
- package/build/api/api-result.js +33 -0
- package/build/api/gist.d.ts +29 -0
- package/build/api/gist.d.ts.map +1 -0
- package/build/api/gist.js +52 -0
- package/build/api/index.d.ts +13 -0
- package/build/api/index.d.ts.map +1 -0
- package/build/api/index.js +8 -0
- package/build/api/params.d.ts +93 -0
- package/build/api/params.d.ts.map +1 -0
- package/build/api/params.js +145 -0
- package/build/api/pin.d.ts +47 -0
- package/build/api/pin.d.ts.map +1 -0
- package/build/api/pin.js +87 -0
- package/build/api/stats.d.ts +42 -0
- package/build/api/stats.d.ts.map +1 -0
- package/build/api/stats.js +132 -0
- package/build/api/top-langs.d.ts +37 -0
- package/build/api/top-langs.d.ts.map +1 -0
- package/build/api/top-langs.js +101 -0
- package/build/api/wakatime.d.ts +34 -0
- package/build/api/wakatime.d.ts.map +1 -0
- package/build/api/wakatime.js +91 -0
- package/build/calculateRank.d.ts +29 -0
- package/build/calculateRank.d.ts.map +1 -0
- package/build/calculateRank.js +58 -0
- package/build/cards/gist.d.ts +16 -0
- package/build/cards/gist.d.ts.map +1 -0
- package/build/cards/gist.js +119 -0
- package/build/cards/index.d.ts +11 -0
- package/build/cards/index.d.ts.map +1 -0
- package/build/cards/index.js +7 -0
- package/build/cards/options.d.ts +19 -0
- package/build/cards/options.d.ts.map +1 -0
- package/build/cards/options.js +1 -0
- package/build/cards/repo.d.ts +25 -0
- package/build/cards/repo.d.ts.map +1 -0
- package/build/cards/repo.js +276 -0
- package/build/cards/stats.d.ts +37 -0
- package/build/cards/stats.d.ts.map +1 -0
- package/build/cards/stats.js +457 -0
- package/build/cards/top-languages.d.ts +153 -0
- package/build/cards/top-languages.d.ts.map +1 -0
- package/build/cards/top-languages.js +805 -0
- package/build/cards/wakatime.d.ts +31 -0
- package/build/cards/wakatime.d.ts.map +1 -0
- package/build/cards/wakatime.js +376 -0
- package/build/common/Card.d.ts +121 -0
- package/build/common/Card.d.ts.map +1 -0
- package/build/common/Card.js +305 -0
- package/build/common/I18n.d.ts +27 -0
- package/build/common/I18n.d.ts.map +1 -0
- package/build/common/I18n.js +35 -0
- package/build/common/color.d.ts +112 -0
- package/build/common/color.d.ts.map +1 -0
- package/build/common/color.js +188 -0
- package/build/common/config.d.ts +53 -0
- package/build/common/config.d.ts.map +1 -0
- package/build/common/config.js +87 -0
- package/build/common/constants.d.ts +7 -0
- package/build/common/constants.d.ts.map +1 -0
- package/build/common/constants.js +9 -0
- package/build/common/date.d.ts +29 -0
- package/build/common/date.d.ts.map +1 -0
- package/build/common/date.js +23 -0
- package/build/common/error.d.ts +87 -0
- package/build/common/error.d.ts.map +1 -0
- package/build/common/error.js +108 -0
- package/build/common/fmt.d.ts +28 -0
- package/build/common/fmt.d.ts.map +1 -0
- package/build/common/fmt.js +68 -0
- package/build/common/html.d.ts +8 -0
- package/build/common/html.d.ts.map +1 -0
- package/build/common/html.js +14 -0
- package/build/common/http.d.ts +53 -0
- package/build/common/http.d.ts.map +1 -0
- package/build/common/http.js +47 -0
- package/build/common/icons.d.ts +28 -0
- package/build/common/icons.d.ts.map +1 -0
- package/build/common/icons.js +77 -0
- package/build/common/languageColors.d.ts +11 -0
- package/build/common/languageColors.d.ts.map +1 -0
- package/build/common/languageColors.js +15 -0
- package/build/common/languageColors.json +678 -0
- package/build/common/log.d.ts +9 -0
- package/build/common/log.d.ts.map +1 -0
- package/build/common/log.js +8 -0
- package/build/common/ops.d.ts +59 -0
- package/build/common/ops.d.ts.map +1 -0
- package/build/common/ops.js +115 -0
- package/build/common/render.d.ts +196 -0
- package/build/common/render.d.ts.map +1 -0
- package/build/common/render.js +474 -0
- package/build/common/retryer.d.ts +36 -0
- package/build/common/retryer.d.ts.map +1 -0
- package/build/common/retryer.js +67 -0
- package/build/fetchers/gist.d.ts +15 -0
- package/build/fetchers/gist.d.ts.map +1 -0
- package/build/fetchers/gist.js +68 -0
- package/build/fetchers/index.d.ts +13 -0
- package/build/fetchers/index.d.ts.map +1 -0
- package/build/fetchers/index.js +10 -0
- package/build/fetchers/repo.d.ts +27 -0
- package/build/fetchers/repo.d.ts.map +1 -0
- package/build/fetchers/repo.js +100 -0
- package/build/fetchers/stats.d.ts +74 -0
- package/build/fetchers/stats.d.ts.map +1 -0
- package/build/fetchers/stats.js +498 -0
- package/build/fetchers/top-languages.d.ts +23 -0
- package/build/fetchers/top-languages.d.ts.map +1 -0
- package/build/fetchers/top-languages.js +89 -0
- package/build/fetchers/types.d.ts +130 -0
- package/build/fetchers/types.d.ts.map +1 -0
- package/build/fetchers/types.js +1 -0
- package/build/fetchers/wakatime.d.ts +19 -0
- package/build/fetchers/wakatime.d.ts.map +1 -0
- package/build/fetchers/wakatime.js +36 -0
- package/build/graphql/contributionsDocument.d.ts +18 -0
- package/build/graphql/contributionsDocument.d.ts.map +1 -0
- package/build/graphql/contributionsDocument.js +30 -0
- package/build/graphql/generated/common.d.ts +42 -0
- package/build/graphql/generated/common.d.ts.map +1 -0
- package/build/graphql/generated/common.js +2 -0
- package/build/graphql/generated/gist.d.ts +44 -0
- package/build/graphql/generated/gist.d.ts.map +1 -0
- package/build/graphql/generated/gist.js +27 -0
- package/build/graphql/generated/repo.d.ts +67 -0
- package/build/graphql/generated/repo.d.ts.map +1 -0
- package/build/graphql/generated/repo.js +30 -0
- package/build/graphql/generated/stats.d.ts +150 -0
- package/build/graphql/generated/stats.d.ts.map +1 -0
- package/build/graphql/generated/stats.js +95 -0
- package/build/graphql/generated/top-languages.d.ts +54 -0
- package/build/graphql/generated/top-languages.d.ts.map +1 -0
- package/build/graphql/generated/top-languages.js +27 -0
- package/build/graphql/graphqlDocument.d.ts +22 -0
- package/build/graphql/graphqlDocument.d.ts.map +1 -0
- package/build/graphql/graphqlDocument.js +8 -0
- package/build/graphql/reposContributedToDocument.d.ts +27 -0
- package/build/graphql/reposContributedToDocument.d.ts.map +1 -0
- package/build/graphql/reposContributedToDocument.js +59 -0
- package/build/index.d.ts +15 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +10 -0
- package/build/themes/index.d.ts +505 -0
- package/build/themes/index.d.ts.map +1 -0
- package/build/themes/index.js +505 -0
- package/build/translations.d.ts +1153 -0
- package/build/translations.d.ts.map +1 -0
- package/build/translations.js +1156 -0
- package/package.json +114 -0
- package/src/_emoji-name-map.d.ts +10 -0
- package/src/_github-username-regex.d.ts +4 -0
- package/src/api/api-result.ts +69 -0
- package/src/api/gist.ts +66 -0
- package/src/api/index.ts +16 -0
- package/src/api/params.ts +221 -0
- package/src/api/pin.ts +126 -0
- package/src/api/stats.ts +195 -0
- package/src/api/top-langs.ts +150 -0
- package/src/api/wakatime.ts +130 -0
- package/src/calculateRank.ts +91 -0
- package/src/cards/gist.ts +169 -0
- package/src/cards/index.ts +21 -0
- package/src/cards/options.ts +18 -0
- package/src/cards/repo.ts +376 -0
- package/src/cards/stats.ts +615 -0
- package/src/cards/top-languages.ts +1077 -0
- package/src/cards/wakatime.ts +501 -0
- package/src/common/Card.ts +364 -0
- package/src/common/I18n.ts +51 -0
- package/src/common/color.ts +296 -0
- package/src/common/config.ts +118 -0
- package/src/common/constants.ts +12 -0
- package/src/common/date.ts +34 -0
- package/src/common/error.ts +163 -0
- package/src/common/fmt.ts +86 -0
- package/src/common/html.ts +17 -0
- package/src/common/http.ts +98 -0
- package/src/common/icons.ts +80 -0
- package/src/common/languageColors.json +678 -0
- package/src/common/languageColors.ts +19 -0
- package/src/common/log.ts +12 -0
- package/src/common/ops.ts +145 -0
- package/src/common/render.ts +641 -0
- package/src/common/retryer.ts +111 -0
- package/src/fetchers/gist.ts +82 -0
- package/src/fetchers/index.ts +25 -0
- package/src/fetchers/repo.ts +140 -0
- package/src/fetchers/stats.ts +742 -0
- package/src/fetchers/top-languages.ts +134 -0
- package/src/fetchers/types.ts +136 -0
- package/src/fetchers/wakatime.ts +56 -0
- package/src/graphql/contributionsDocument.ts +44 -0
- package/src/graphql/generated/common.ts +26 -0
- package/src/graphql/generated/gist.ts +56 -0
- package/src/graphql/generated/repo.ts +79 -0
- package/src/graphql/generated/stats.ts +180 -0
- package/src/graphql/generated/top-languages.ts +66 -0
- package/src/graphql/graphqlDocument.ts +25 -0
- package/src/graphql/queries/gist.graphql +25 -0
- package/src/graphql/queries/repo.graphql +28 -0
- package/src/graphql/queries/stats.graphql +113 -0
- package/src/graphql/queries/top-languages.graphql +27 -0
- package/src/graphql/reposContributedToDocument.ts +83 -0
- package/src/index.ts +18 -0
- package/src/themes/index.ts +519 -0
- package/src/translations.ts +1169 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import type { RepoInfoFragment } from '../graphql/generated/repo.js';
|
|
2
|
+
export interface GistData {
|
|
3
|
+
name: string;
|
|
4
|
+
nameWithOwner: string;
|
|
5
|
+
description: string | null;
|
|
6
|
+
language: string | null;
|
|
7
|
+
starsCount: number;
|
|
8
|
+
forksCount: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* What the repo query returns, with `primaryLanguage` loosened:
|
|
12
|
+
* the schema says `name` is non-null, but the card falls back to defaults for callers passing untyped data.
|
|
13
|
+
*/
|
|
14
|
+
type RepoInfo = Omit<RepoInfoFragment, 'primaryLanguage'> & {
|
|
15
|
+
primaryLanguage: {
|
|
16
|
+
color: string | null;
|
|
17
|
+
id?: string;
|
|
18
|
+
name: string | null;
|
|
19
|
+
} | null;
|
|
20
|
+
};
|
|
21
|
+
export interface RepoUserStats {
|
|
22
|
+
totalPRsAuthored?: number;
|
|
23
|
+
totalPRsCommented?: number;
|
|
24
|
+
totalPRsReviewed?: number;
|
|
25
|
+
totalIssuesAuthored?: number;
|
|
26
|
+
totalIssuesCommented?: number;
|
|
27
|
+
}
|
|
28
|
+
export type RepositoryData = RepoInfo & RepoUserStats;
|
|
29
|
+
export interface StatsData {
|
|
30
|
+
name: string;
|
|
31
|
+
totalPRs: number;
|
|
32
|
+
totalPRsMerged: number;
|
|
33
|
+
mergedPRsPercentage: number;
|
|
34
|
+
totalReviews: number;
|
|
35
|
+
totalCommits: number;
|
|
36
|
+
totalIssues: number;
|
|
37
|
+
totalStars: number;
|
|
38
|
+
totalDiscussionsStarted: number;
|
|
39
|
+
totalDiscussionsAnswered: number;
|
|
40
|
+
contributedTo: number;
|
|
41
|
+
allTimeContributedTo: number;
|
|
42
|
+
totalPRsAuthored: number;
|
|
43
|
+
totalPRsCommented: number;
|
|
44
|
+
totalPRsReviewed: number;
|
|
45
|
+
totalIssuesAuthored: number;
|
|
46
|
+
totalIssuesCommented: number;
|
|
47
|
+
totalContributions: number;
|
|
48
|
+
rank: {
|
|
49
|
+
level: string;
|
|
50
|
+
percentile: number;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export interface Lang {
|
|
54
|
+
name: string;
|
|
55
|
+
color: string | null;
|
|
56
|
+
size: number;
|
|
57
|
+
/** Number of repositories the language appears in. */
|
|
58
|
+
count: number;
|
|
59
|
+
}
|
|
60
|
+
export type TopLangData = Record<string, Lang>;
|
|
61
|
+
export interface WakaTimeData {
|
|
62
|
+
categories: Array<{
|
|
63
|
+
digital: string;
|
|
64
|
+
hours: number;
|
|
65
|
+
minutes: number;
|
|
66
|
+
name: string;
|
|
67
|
+
percent: number;
|
|
68
|
+
text: string;
|
|
69
|
+
total_seconds: number;
|
|
70
|
+
}>;
|
|
71
|
+
daily_average: number;
|
|
72
|
+
daily_average_including_other_language: number;
|
|
73
|
+
days_including_holidays: number;
|
|
74
|
+
days_minus_holidays: number;
|
|
75
|
+
editors: Array<{
|
|
76
|
+
digital: string;
|
|
77
|
+
hours: number;
|
|
78
|
+
minutes: number;
|
|
79
|
+
name: string;
|
|
80
|
+
percent: number;
|
|
81
|
+
text: string;
|
|
82
|
+
total_seconds: number;
|
|
83
|
+
}>;
|
|
84
|
+
holidays: number;
|
|
85
|
+
human_readable_daily_average: string;
|
|
86
|
+
human_readable_daily_average_including_other_language: string;
|
|
87
|
+
human_readable_total: string;
|
|
88
|
+
human_readable_total_including_other_language: string;
|
|
89
|
+
id: string;
|
|
90
|
+
is_already_updating: boolean;
|
|
91
|
+
is_coding_activity_visible: boolean;
|
|
92
|
+
is_including_today: boolean;
|
|
93
|
+
is_other_usage_visible: boolean;
|
|
94
|
+
is_stuck: boolean;
|
|
95
|
+
is_up_to_date: boolean;
|
|
96
|
+
languages: Array<{
|
|
97
|
+
digital: string;
|
|
98
|
+
hours: number;
|
|
99
|
+
minutes: number;
|
|
100
|
+
name: string;
|
|
101
|
+
percent: number;
|
|
102
|
+
text: string;
|
|
103
|
+
total_seconds: number;
|
|
104
|
+
}>;
|
|
105
|
+
operating_systems: Array<{
|
|
106
|
+
digital: string;
|
|
107
|
+
hours: number;
|
|
108
|
+
minutes: number;
|
|
109
|
+
name: string;
|
|
110
|
+
percent: number;
|
|
111
|
+
text: string;
|
|
112
|
+
total_seconds: number;
|
|
113
|
+
}>;
|
|
114
|
+
percent_calculated: number;
|
|
115
|
+
range: string;
|
|
116
|
+
status: string;
|
|
117
|
+
timeout: number;
|
|
118
|
+
total_seconds: number;
|
|
119
|
+
total_seconds_including_other_language: number;
|
|
120
|
+
user_id: string;
|
|
121
|
+
username: string;
|
|
122
|
+
writes_only: boolean;
|
|
123
|
+
}
|
|
124
|
+
export interface WakaTimeLang {
|
|
125
|
+
name: string;
|
|
126
|
+
text: string;
|
|
127
|
+
percent: number;
|
|
128
|
+
}
|
|
129
|
+
export {};
|
|
130
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/fetchers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CardConfig } from '../common/config.js';
|
|
2
|
+
import type { WakaTimeData } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* WakaTime data fetcher.
|
|
5
|
+
*
|
|
6
|
+
* WakaTime needs no GitHub token; the config is here for the transport it carries.
|
|
7
|
+
*
|
|
8
|
+
* @param props Fetcher props.
|
|
9
|
+
* @param props.username WakaTime username.
|
|
10
|
+
* @param props.api_domain Optional WakaTime API domain (defaults to `wakatime.com`).
|
|
11
|
+
* @param config Deployment config supplying the transport.
|
|
12
|
+
* @returns WakaTime data response.
|
|
13
|
+
*/
|
|
14
|
+
declare const fetchWakatimeStats: ({ username, api_domain, }: {
|
|
15
|
+
username: string | undefined;
|
|
16
|
+
api_domain?: string | undefined;
|
|
17
|
+
}, config: CardConfig) => Promise<WakaTimeData>;
|
|
18
|
+
export { fetchWakatimeStats };
|
|
19
|
+
//# sourceMappingURL=wakatime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wakatime.d.ts","sourceRoot":"","sources":["../../src/fetchers/wakatime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAItD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,QAAA,MAAM,kBAAkB,GACtB,2BAGG;IACD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC,EACD,QAAQ,UAAU,KACjB,OAAO,CAAC,YAAY,CA2BtB,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CardError, WAKATIME_USER_NOT_FOUND } from '../common/error.js';
|
|
2
|
+
import { httpRequest } from '../common/http.js';
|
|
3
|
+
/**
|
|
4
|
+
* WakaTime data fetcher.
|
|
5
|
+
*
|
|
6
|
+
* WakaTime needs no GitHub token; the config is here for the transport it carries.
|
|
7
|
+
*
|
|
8
|
+
* @param props Fetcher props.
|
|
9
|
+
* @param props.username WakaTime username.
|
|
10
|
+
* @param props.api_domain Optional WakaTime API domain (defaults to `wakatime.com`).
|
|
11
|
+
* @param config Deployment config supplying the transport.
|
|
12
|
+
* @returns WakaTime data response.
|
|
13
|
+
*/
|
|
14
|
+
const fetchWakatimeStats = async ({ username, api_domain, }, config) => {
|
|
15
|
+
if (!username) {
|
|
16
|
+
throw CardError.missingParam(['username']);
|
|
17
|
+
}
|
|
18
|
+
const domain = api_domain ? api_domain.replace(/\/$/gi, '') : 'wakatime.com';
|
|
19
|
+
const res = await httpRequest(config.fetch, `https://${domain}/api/v1/users/${username}/stats?is_including_today=true`);
|
|
20
|
+
// Only a 404 says the profile does not exist.
|
|
21
|
+
// Any other failure is WakaTime being unavailable, which a retry can still answer,
|
|
22
|
+
// so it must not be reported as a permanent one a host would cache.
|
|
23
|
+
if (res.status === 404) {
|
|
24
|
+
throw new CardError(`Could not resolve to a User with the login of '${username}'`, {
|
|
25
|
+
code: 'not_found',
|
|
26
|
+
secondaryMessage: WAKATIME_USER_NOT_FOUND,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (res.status < 200 || res.status > 299) {
|
|
30
|
+
throw new CardError(`Could not fetch the WakaTime stats of '${username}'`, {
|
|
31
|
+
code: 'upstream',
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return res.data.data;
|
|
35
|
+
};
|
|
36
|
+
export { fetchWakatimeStats };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { YearContributionsFragment } from './generated/stats.js';
|
|
2
|
+
interface ContributionsQueryVariables {
|
|
3
|
+
login: string;
|
|
4
|
+
}
|
|
5
|
+
interface ContributionsQuery {
|
|
6
|
+
user: Record<`year_${number}`, YearContributionsFragment> | null;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Build the all-time contributions query, one aliased `contributionsCollection` field per year.
|
|
10
|
+
* The shape is only known at runtime.
|
|
11
|
+
*
|
|
12
|
+
* @param years Contribution years, one `year_<year>` alias each.
|
|
13
|
+
* @returns Document for `createGraphQLFetcher`.
|
|
14
|
+
*/
|
|
15
|
+
declare const buildContributionsDocument: (years: Array<number>) => import("./graphqlDocument.js").GraphQLDocument<ContributionsQuery, ContributionsQueryVariables>;
|
|
16
|
+
export { buildContributionsDocument };
|
|
17
|
+
export type { ContributionsQuery };
|
|
18
|
+
//# sourceMappingURL=contributionsDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contributionsDocument.d.ts","sourceRoot":"","sources":["../../src/graphql/contributionsDocument.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGtE,UAAU,2BAA2B;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC,QAAQ,MAAM,EAAE,EAAE,yBAAyB,CAAC,GAAG,IAAI,CAAC;CAClE;AAED;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,GAAI,OAAO,KAAK,CAAC,MAAM,CAAC,oGAoBvD,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC;AACtC,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { getGitHubYearRange, toGitHubDateTime } from '../common/date.js';
|
|
2
|
+
import { graphqlDocument } from './graphqlDocument.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build the all-time contributions query, one aliased `contributionsCollection` field per year.
|
|
5
|
+
* The shape is only known at runtime.
|
|
6
|
+
*
|
|
7
|
+
* @param years Contribution years, one `year_<year>` alias each.
|
|
8
|
+
* @returns Document for `createGraphQLFetcher`.
|
|
9
|
+
*/
|
|
10
|
+
const buildContributionsDocument = (years) => {
|
|
11
|
+
const yearFields = years
|
|
12
|
+
.map((year) => {
|
|
13
|
+
const { from, to } = getGitHubYearRange(year);
|
|
14
|
+
return `year_${year}: contributionsCollection(from: "${toGitHubDateTime(from)}", to: "${toGitHubDateTime(to)}") { ...YearContributions }`;
|
|
15
|
+
})
|
|
16
|
+
.join('\n');
|
|
17
|
+
// fragment must match queries/stats.graphql, which generates its type
|
|
18
|
+
return graphqlDocument(`
|
|
19
|
+
query userContributions($login: String!) {
|
|
20
|
+
user(login: $login) {
|
|
21
|
+
${yearFields}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
fragment YearContributions on ContributionsCollection {
|
|
25
|
+
contributionCalendar {
|
|
26
|
+
totalContributions
|
|
27
|
+
}
|
|
28
|
+
}`);
|
|
29
|
+
};
|
|
30
|
+
export { buildContributionsDocument };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type Maybe<T> = T | null;
|
|
2
|
+
export type InputMaybe<T> = Maybe<T>;
|
|
3
|
+
/** All built-in and custom scalars, mapped to their actual values */
|
|
4
|
+
export type Scalars = {
|
|
5
|
+
ID: {
|
|
6
|
+
input: string;
|
|
7
|
+
output: string;
|
|
8
|
+
};
|
|
9
|
+
String: {
|
|
10
|
+
input: string;
|
|
11
|
+
output: string;
|
|
12
|
+
};
|
|
13
|
+
Boolean: {
|
|
14
|
+
input: boolean;
|
|
15
|
+
output: boolean;
|
|
16
|
+
};
|
|
17
|
+
Int: {
|
|
18
|
+
input: number;
|
|
19
|
+
output: number;
|
|
20
|
+
};
|
|
21
|
+
Float: {
|
|
22
|
+
input: number;
|
|
23
|
+
output: number;
|
|
24
|
+
};
|
|
25
|
+
/** An ISO-8601 encoded UTC date string. */
|
|
26
|
+
DateTime: {
|
|
27
|
+
input: string;
|
|
28
|
+
output: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
/** The affiliation of a user to a repository */
|
|
32
|
+
export type RepositoryAffiliation =
|
|
33
|
+
/** Repositories that the user has been added to as a collaborator. */
|
|
34
|
+
'COLLABORATOR'
|
|
35
|
+
/**
|
|
36
|
+
* Repositories that the user has access to through being a member of an
|
|
37
|
+
* organization. This includes every repository on every team that the user is on.
|
|
38
|
+
*/
|
|
39
|
+
| 'ORGANIZATION_MEMBER'
|
|
40
|
+
/** Repositories that are owned by the authenticated user. */
|
|
41
|
+
| 'OWNER';
|
|
42
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/graphql/generated/common.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,qEAAqE;AACrE,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,2CAA2C;IAC3C,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,qBAAqB;AAC/B,sEAAsE;AACpE,cAAc;AAChB;;;GAGG;GACD,qBAAqB;AACvB,6DAA6D;GAC3D,OAAO,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/** Internal type. DO NOT USE DIRECTLY. */
|
|
2
|
+
type Exact<T extends {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}> = {
|
|
5
|
+
[K in keyof T]: T[K];
|
|
6
|
+
};
|
|
7
|
+
export type GistFileInfoFragment = {
|
|
8
|
+
name: string | null;
|
|
9
|
+
size: number | null;
|
|
10
|
+
language: {
|
|
11
|
+
name: string;
|
|
12
|
+
} | null;
|
|
13
|
+
};
|
|
14
|
+
export type GistInfoQueryVariables = Exact<{
|
|
15
|
+
gistName: string;
|
|
16
|
+
}>;
|
|
17
|
+
export type GistInfoQuery = {
|
|
18
|
+
viewer: {
|
|
19
|
+
gist: {
|
|
20
|
+
description: string | null;
|
|
21
|
+
stargazerCount: number;
|
|
22
|
+
owner: {
|
|
23
|
+
login: string;
|
|
24
|
+
} | {
|
|
25
|
+
login: string;
|
|
26
|
+
} | null;
|
|
27
|
+
forks: {
|
|
28
|
+
totalCount: number;
|
|
29
|
+
};
|
|
30
|
+
files: Array<{
|
|
31
|
+
name: string | null;
|
|
32
|
+
size: number | null;
|
|
33
|
+
language: {
|
|
34
|
+
name: string;
|
|
35
|
+
} | null;
|
|
36
|
+
} | null> | null;
|
|
37
|
+
} | null;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
export declare const GistInfoDocument: import("../graphqlDocument.js").GraphQLDocument<GistInfoQuery, Exact<{
|
|
41
|
+
gistName: string;
|
|
42
|
+
}>>;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=gist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../../../src/graphql/generated/gist.ts"],"names":[],"mappings":"AAEA,0CAA0C;AAC1C,KAAK,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,cAAc,EAAE,MAAM,CAAC;YACvB,KAAK,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,GAAG;gBAAE,KAAK,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC;YACpD,KAAK,EAAE;gBAAE,UAAU,EAAE,MAAM,CAAA;aAAE,CAAC;YAC9B,KAAK,EAAE,KAAK,CAAC;gBACX,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;gBACpB,QAAQ,EAAE;oBAAE,IAAI,EAAE,MAAM,CAAA;iBAAE,GAAG,IAAI,CAAC;aACnC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;SAClB,GAAG,IAAI,CAAC;KACV,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,gBAAgB;cAnBjB,MAAM;GA2Cf,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Generated file — see .github/CONTRIBUTING.md
|
|
2
|
+
import { graphqlDocument } from '../graphqlDocument.js';
|
|
3
|
+
export const GistInfoDocument = graphqlDocument(`
|
|
4
|
+
query gistInfo($gistName: String!) {
|
|
5
|
+
viewer {
|
|
6
|
+
gist(name: $gistName) {
|
|
7
|
+
description
|
|
8
|
+
owner {
|
|
9
|
+
login
|
|
10
|
+
}
|
|
11
|
+
stargazerCount
|
|
12
|
+
forks {
|
|
13
|
+
totalCount
|
|
14
|
+
}
|
|
15
|
+
files {
|
|
16
|
+
...GistFileInfo
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
fragment GistFileInfo on GistFile {
|
|
22
|
+
name
|
|
23
|
+
language {
|
|
24
|
+
name
|
|
25
|
+
}
|
|
26
|
+
size
|
|
27
|
+
}`);
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/** Internal type. DO NOT USE DIRECTLY. */
|
|
2
|
+
type Exact<T extends {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}> = {
|
|
5
|
+
[K in keyof T]: T[K];
|
|
6
|
+
};
|
|
7
|
+
export type RepoInfoFragment = {
|
|
8
|
+
name: string;
|
|
9
|
+
nameWithOwner: string;
|
|
10
|
+
isPrivate: boolean;
|
|
11
|
+
isArchived: boolean;
|
|
12
|
+
isTemplate: boolean;
|
|
13
|
+
stargazerCount: number;
|
|
14
|
+
description: string | null;
|
|
15
|
+
forkCount: number;
|
|
16
|
+
primaryLanguage: {
|
|
17
|
+
color: string | null;
|
|
18
|
+
id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
} | null;
|
|
21
|
+
};
|
|
22
|
+
export type GetRepoQueryVariables = Exact<{
|
|
23
|
+
login: string;
|
|
24
|
+
repo: string;
|
|
25
|
+
}>;
|
|
26
|
+
export type GetRepoQuery = {
|
|
27
|
+
user: {
|
|
28
|
+
repository: {
|
|
29
|
+
name: string;
|
|
30
|
+
nameWithOwner: string;
|
|
31
|
+
isPrivate: boolean;
|
|
32
|
+
isArchived: boolean;
|
|
33
|
+
isTemplate: boolean;
|
|
34
|
+
stargazerCount: number;
|
|
35
|
+
description: string | null;
|
|
36
|
+
forkCount: number;
|
|
37
|
+
primaryLanguage: {
|
|
38
|
+
color: string | null;
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
} | null;
|
|
42
|
+
} | null;
|
|
43
|
+
} | null;
|
|
44
|
+
organization: {
|
|
45
|
+
repository: {
|
|
46
|
+
name: string;
|
|
47
|
+
nameWithOwner: string;
|
|
48
|
+
isPrivate: boolean;
|
|
49
|
+
isArchived: boolean;
|
|
50
|
+
isTemplate: boolean;
|
|
51
|
+
stargazerCount: number;
|
|
52
|
+
description: string | null;
|
|
53
|
+
forkCount: number;
|
|
54
|
+
primaryLanguage: {
|
|
55
|
+
color: string | null;
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
} | null;
|
|
59
|
+
} | null;
|
|
60
|
+
} | null;
|
|
61
|
+
};
|
|
62
|
+
export declare const GetRepoDocument: import("../graphqlDocument.js").GraphQLDocument<GetRepoQuery, Exact<{
|
|
63
|
+
login: string;
|
|
64
|
+
repo: string;
|
|
65
|
+
}>>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=repo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../../src/graphql/generated/repo.ts"],"names":[],"mappings":"AAEA,0CAA0C;AAC1C,KAAK,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC5E,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,KAAK,CAAC;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE;QACJ,UAAU,EAAE;YACV,IAAI,EAAE,MAAM,CAAC;YACb,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC;YACnB,UAAU,EAAE,OAAO,CAAC;YACpB,UAAU,EAAE,OAAO,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC;YACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,SAAS,EAAE,MAAM,CAAC;YAClB,eAAe,EAAE;gBAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC;SAC5E,GAAG,IAAI,CAAC;KACV,GAAG,IAAI,CAAC;IACT,YAAY,EAAE;QACZ,UAAU,EAAE;YACV,IAAI,EAAE,MAAM,CAAC;YACb,aAAa,EAAE,MAAM,CAAC;YACtB,SAAS,EAAE,OAAO,CAAC;YACnB,UAAU,EAAE,OAAO,CAAC;YACpB,UAAU,EAAE,OAAO,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC;YACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;YAC3B,SAAS,EAAE,MAAM,CAAC;YAClB,eAAe,EAAE;gBAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;gBAAC,EAAE,EAAE,MAAM,CAAC;gBAAC,IAAI,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC;SAC5E,GAAG,IAAI,CAAC;KACV,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,eAAO,MAAM,eAAe;WAjCnB,MAAM;UACP,MAAM;GA2DX,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Generated file — see .github/CONTRIBUTING.md
|
|
2
|
+
import { graphqlDocument } from '../graphqlDocument.js';
|
|
3
|
+
export const GetRepoDocument = graphqlDocument(`
|
|
4
|
+
query getRepo($login: String!, $repo: String!) {
|
|
5
|
+
user(login: $login) {
|
|
6
|
+
repository(name: $repo) {
|
|
7
|
+
...RepoInfo
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
organization(login: $login) {
|
|
11
|
+
repository(name: $repo) {
|
|
12
|
+
...RepoInfo
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
fragment RepoInfo on Repository {
|
|
17
|
+
name
|
|
18
|
+
nameWithOwner
|
|
19
|
+
isPrivate
|
|
20
|
+
isArchived
|
|
21
|
+
isTemplate
|
|
22
|
+
stargazerCount
|
|
23
|
+
description
|
|
24
|
+
primaryLanguage {
|
|
25
|
+
color
|
|
26
|
+
id
|
|
27
|
+
name
|
|
28
|
+
}
|
|
29
|
+
forkCount
|
|
30
|
+
}`);
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/** Internal type. DO NOT USE DIRECTLY. */
|
|
2
|
+
type Exact<T extends {
|
|
3
|
+
[key: string]: unknown;
|
|
4
|
+
}> = {
|
|
5
|
+
[K in keyof T]: T[K];
|
|
6
|
+
};
|
|
7
|
+
import type * as Types from './common.js';
|
|
8
|
+
export type RepoNodeFragment = {
|
|
9
|
+
name: string;
|
|
10
|
+
stargazerCount: number;
|
|
11
|
+
};
|
|
12
|
+
export type RepoStarsFragment = {
|
|
13
|
+
repositories: {
|
|
14
|
+
totalCount: number;
|
|
15
|
+
nodes: Array<{
|
|
16
|
+
name: string;
|
|
17
|
+
stargazerCount: number;
|
|
18
|
+
} | null> | null;
|
|
19
|
+
pageInfo: {
|
|
20
|
+
hasNextPage: boolean;
|
|
21
|
+
endCursor: string | null;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
export type UserReposQueryVariables = Exact<{
|
|
26
|
+
login: string;
|
|
27
|
+
after?: string | null | undefined;
|
|
28
|
+
ownerAffiliations?: Array<Types.RepositoryAffiliation | null | undefined> | Types.RepositoryAffiliation | null | undefined;
|
|
29
|
+
}>;
|
|
30
|
+
export type UserReposQuery = {
|
|
31
|
+
user: {
|
|
32
|
+
repositories: {
|
|
33
|
+
totalCount: number;
|
|
34
|
+
nodes: Array<{
|
|
35
|
+
name: string;
|
|
36
|
+
stargazerCount: number;
|
|
37
|
+
} | null> | null;
|
|
38
|
+
pageInfo: {
|
|
39
|
+
hasNextPage: boolean;
|
|
40
|
+
endCursor: string | null;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
} | null;
|
|
44
|
+
};
|
|
45
|
+
export type UserInfoQueryVariables = Exact<{
|
|
46
|
+
login: string;
|
|
47
|
+
after?: string | null | undefined;
|
|
48
|
+
includeMergedPullRequests: boolean;
|
|
49
|
+
includeDiscussions: boolean;
|
|
50
|
+
includeDiscussionsAnswers: boolean;
|
|
51
|
+
startTime?: string | null | undefined;
|
|
52
|
+
ownerAffiliations?: Array<Types.RepositoryAffiliation | null | undefined> | Types.RepositoryAffiliation | null | undefined;
|
|
53
|
+
includeUserRepositories: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
export type UserInfoQuery = {
|
|
56
|
+
user: {
|
|
57
|
+
name: string | null;
|
|
58
|
+
login: string;
|
|
59
|
+
commits: {
|
|
60
|
+
totalCommitContributions: number;
|
|
61
|
+
};
|
|
62
|
+
reviews: {
|
|
63
|
+
totalPullRequestReviewContributions: number;
|
|
64
|
+
};
|
|
65
|
+
repositoriesContributedTo: {
|
|
66
|
+
totalCount: number;
|
|
67
|
+
};
|
|
68
|
+
pullRequests: {
|
|
69
|
+
totalCount: number;
|
|
70
|
+
};
|
|
71
|
+
mergedPullRequests?: {
|
|
72
|
+
totalCount: number;
|
|
73
|
+
};
|
|
74
|
+
openIssues: {
|
|
75
|
+
totalCount: number;
|
|
76
|
+
};
|
|
77
|
+
closedIssues: {
|
|
78
|
+
totalCount: number;
|
|
79
|
+
};
|
|
80
|
+
followers: {
|
|
81
|
+
totalCount: number;
|
|
82
|
+
};
|
|
83
|
+
repositoryDiscussions?: {
|
|
84
|
+
totalCount: number;
|
|
85
|
+
};
|
|
86
|
+
repositoryDiscussionComments?: {
|
|
87
|
+
totalCount: number;
|
|
88
|
+
};
|
|
89
|
+
contributionsCollection: {
|
|
90
|
+
contributionYears: Array<number>;
|
|
91
|
+
};
|
|
92
|
+
repositories: {
|
|
93
|
+
totalCount: number;
|
|
94
|
+
nodes: Array<{
|
|
95
|
+
name: string;
|
|
96
|
+
stargazerCount: number;
|
|
97
|
+
} | null> | null;
|
|
98
|
+
pageInfo: {
|
|
99
|
+
hasNextPage: boolean;
|
|
100
|
+
endCursor: string | null;
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
} | null;
|
|
104
|
+
};
|
|
105
|
+
export type YearContributionsFragment = {
|
|
106
|
+
contributionCalendar: {
|
|
107
|
+
totalContributions: number;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
export type RangeContributionsByRepoFragment = {
|
|
111
|
+
commitContributionsByRepository: Array<{
|
|
112
|
+
repository: {
|
|
113
|
+
nameWithOwner: string;
|
|
114
|
+
};
|
|
115
|
+
}>;
|
|
116
|
+
issueContributionsByRepository: Array<{
|
|
117
|
+
repository: {
|
|
118
|
+
nameWithOwner: string;
|
|
119
|
+
};
|
|
120
|
+
}>;
|
|
121
|
+
pullRequestContributionsByRepository: Array<{
|
|
122
|
+
repository: {
|
|
123
|
+
nameWithOwner: string;
|
|
124
|
+
};
|
|
125
|
+
}>;
|
|
126
|
+
repositoryContributions?: {
|
|
127
|
+
nodes: Array<{
|
|
128
|
+
repository: {
|
|
129
|
+
nameWithOwner: string;
|
|
130
|
+
};
|
|
131
|
+
} | null> | null;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
export declare const UserReposDocument: import("../graphqlDocument.js").GraphQLDocument<UserReposQuery, Exact<{
|
|
135
|
+
login: string;
|
|
136
|
+
after?: string | null | undefined;
|
|
137
|
+
ownerAffiliations?: Array<Types.RepositoryAffiliation | null | undefined> | Types.RepositoryAffiliation | null | undefined;
|
|
138
|
+
}>>;
|
|
139
|
+
export declare const UserInfoDocument: import("../graphqlDocument.js").GraphQLDocument<UserInfoQuery, Exact<{
|
|
140
|
+
login: string;
|
|
141
|
+
after?: string | null | undefined;
|
|
142
|
+
includeMergedPullRequests: boolean;
|
|
143
|
+
includeDiscussions: boolean;
|
|
144
|
+
includeDiscussionsAnswers: boolean;
|
|
145
|
+
startTime?: string | null | undefined;
|
|
146
|
+
ownerAffiliations?: Array<Types.RepositoryAffiliation | null | undefined> | Types.RepositoryAffiliation | null | undefined;
|
|
147
|
+
includeUserRepositories: boolean;
|
|
148
|
+
}>>;
|
|
149
|
+
export {};
|
|
150
|
+
//# sourceMappingURL=stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../src/graphql/generated/stats.ts"],"names":[],"mappings":"AAEA,0CAA0C;AAC1C,KAAK,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAG5E,OAAO,KAAK,KAAK,KAAK,MAAM,aAAa,CAAC;AAC1C,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAExE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,cAAc,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QACrE,QAAQ,EAAE;YAAE,WAAW,EAAE,OAAO,CAAC;YAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;KAC9D,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EACd,KAAK,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC,GACrD,KAAK,CAAC,qBAAqB,GAC3B,IAAI,GACJ,SAAS,CAAC;CACf,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE;QACJ,YAAY,EAAE;YACZ,UAAU,EAAE,MAAM,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,cAAc,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YACrE,QAAQ,EAAE;gBAAE,WAAW,EAAE,OAAO,CAAC;gBAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAC;SAC9D,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,yBAAyB,EAAE,OAAO,CAAC;IACnC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,yBAAyB,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,iBAAiB,CAAC,EACd,KAAK,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC,GACrD,KAAK,CAAC,qBAAqB,GAC3B,IAAI,GACJ,SAAS,CAAC;IACd,uBAAuB,EAAE,OAAO,CAAC;CAClC,CAAC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE;YAAE,wBAAwB,EAAE,MAAM,CAAA;SAAE,CAAC;QAC9C,OAAO,EAAE;YAAE,mCAAmC,EAAE,MAAM,CAAA;SAAE,CAAC;QACzD,yBAAyB,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAClD,YAAY,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,kBAAkB,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,UAAU,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACnC,YAAY,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACrC,SAAS,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAClC,qBAAqB,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,4BAA4B,CAAC,EAAE;YAAE,UAAU,EAAE,MAAM,CAAA;SAAE,CAAC;QACtD,uBAAuB,EAAE;YAAE,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;SAAE,CAAC;QAC9D,YAAY,EAAE;YACZ,UAAU,EAAE,MAAM,CAAC;YACnB,KAAK,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,cAAc,EAAE,MAAM,CAAA;aAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;YACrE,QAAQ,EAAE;gBAAE,WAAW,EAAE,OAAO,CAAC;gBAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;aAAE,CAAC;SAC9D,CAAC;KACH,GAAG,IAAI,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IAAE,oBAAoB,EAAE;QAAE,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AAEjG,MAAM,MAAM,gCAAgC,GAAG;IAC7C,+BAA+B,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IAClF,8BAA8B,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACjF,oCAAoC,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE;YAAE,aAAa,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;IACvF,uBAAuB,CAAC,EAAE;QACxB,KAAK,EAAE,KAAK,CAAC;YAAE,UAAU,EAAE;gBAAE,aAAa,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;KACvE,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iBAAiB;WApErB,MAAM;YACL,MAAM,GAAG,IAAI,GAAG,SAAS;wBAE7B,KAAK,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC,GACrD,KAAK,CAAC,qBAAqB,GAC3B,IAAI,GACJ,SAAS;GAwFZ,CAAC;AAEJ,eAAO,MAAM,gBAAgB;WA5EpB,MAAM;YACL,MAAM,GAAG,IAAI,GAAG,SAAS;+BACN,OAAO;wBACd,OAAO;+BACA,OAAO;gBACtB,MAAM,GAAG,IAAI,GAAG,SAAS;wBAEjC,KAAK,CAAC,KAAK,CAAC,qBAAqB,GAAG,IAAI,GAAG,SAAS,CAAC,GACrD,KAAK,CAAC,qBAAqB,GAC3B,IAAI,GACJ,SAAS;6BACY,OAAO;GAkI/B,CAAC"}
|