@stats-organization/github-readme-stats-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.
Files changed (140) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/build/api/gist.d.ts +19 -0
  4. package/build/api/gist.d.ts.map +1 -0
  5. package/build/api/gist.js +77 -0
  6. package/build/api/index.d.ts +37 -0
  7. package/build/api/index.d.ts.map +1 -0
  8. package/build/api/index.js +115 -0
  9. package/build/api/pin.d.ts +27 -0
  10. package/build/api/pin.d.ts.map +1 -0
  11. package/build/api/pin.js +104 -0
  12. package/build/api/top-langs.d.ts +31 -0
  13. package/build/api/top-langs.d.ts.map +1 -0
  14. package/build/api/top-langs.js +121 -0
  15. package/build/api/wakatime.d.ts +28 -0
  16. package/build/api/wakatime.d.ts.map +1 -0
  17. package/build/api/wakatime.js +85 -0
  18. package/build/calculateRank.d.ts +28 -0
  19. package/build/calculateRank.d.ts.map +1 -0
  20. package/build/calculateRank.js +63 -0
  21. package/build/cards/gist.d.ts +21 -0
  22. package/build/cards/gist.d.ts.map +1 -0
  23. package/build/cards/gist.js +124 -0
  24. package/build/cards/repo.d.ts +21 -0
  25. package/build/cards/repo.d.ts.map +1 -0
  26. package/build/cards/repo.js +264 -0
  27. package/build/cards/stats.d.ts +49 -0
  28. package/build/cards/stats.d.ts.map +1 -0
  29. package/build/cards/stats.js +527 -0
  30. package/build/cards/top-languages.d.ts +143 -0
  31. package/build/cards/top-languages.d.ts.map +1 -0
  32. package/build/cards/top-languages.js +795 -0
  33. package/build/cards/wakatime.d.ts +16 -0
  34. package/build/cards/wakatime.d.ts.map +1 -0
  35. package/build/cards/wakatime.js +387 -0
  36. package/build/common/Card.d.ts +109 -0
  37. package/build/common/Card.d.ts.map +1 -0
  38. package/build/common/Card.js +241 -0
  39. package/build/common/I18n.d.ts +26 -0
  40. package/build/common/I18n.d.ts.map +1 -0
  41. package/build/common/I18n.js +34 -0
  42. package/build/common/color.d.ts +53 -0
  43. package/build/common/color.d.ts.map +1 -0
  44. package/build/common/color.js +92 -0
  45. package/build/common/config.d.ts +3 -0
  46. package/build/common/config.d.ts.map +1 -0
  47. package/build/common/config.js +69 -0
  48. package/build/common/constants.d.ts +6 -0
  49. package/build/common/constants.d.ts.map +1 -0
  50. package/build/common/constants.js +7 -0
  51. package/build/common/error.d.ts +53 -0
  52. package/build/common/error.d.ts.map +1 -0
  53. package/build/common/error.js +72 -0
  54. package/build/common/fmt.d.ts +27 -0
  55. package/build/common/fmt.d.ts.map +1 -0
  56. package/build/common/fmt.js +66 -0
  57. package/build/common/html.d.ts +10 -0
  58. package/build/common/html.d.ts.map +1 -0
  59. package/build/common/html.js +18 -0
  60. package/build/common/http.d.ts +9 -0
  61. package/build/common/http.d.ts.map +1 -0
  62. package/build/common/http.js +18 -0
  63. package/build/common/icons.d.ts +26 -0
  64. package/build/common/icons.d.ts.map +1 -0
  65. package/build/common/icons.js +77 -0
  66. package/build/common/languageColors.json +667 -0
  67. package/build/common/log.d.ts +9 -0
  68. package/build/common/log.d.ts.map +1 -0
  69. package/build/common/log.js +8 -0
  70. package/build/common/ops.d.ts +65 -0
  71. package/build/common/ops.d.ts.map +1 -0
  72. package/build/common/ops.js +137 -0
  73. package/build/common/render.d.ts +155 -0
  74. package/build/common/render.d.ts.map +1 -0
  75. package/build/common/render.js +361 -0
  76. package/build/common/retryer.d.ts +22 -0
  77. package/build/common/retryer.d.ts.map +1 -0
  78. package/build/common/retryer.js +86 -0
  79. package/build/fetchers/gist.d.ts +26 -0
  80. package/build/fetchers/gist.d.ts.map +1 -0
  81. package/build/fetchers/gist.js +99 -0
  82. package/build/fetchers/repo.d.ts +16 -0
  83. package/build/fetchers/repo.d.ts.map +1 -0
  84. package/build/fetchers/repo.js +116 -0
  85. package/build/fetchers/stats.d.ts +22 -0
  86. package/build/fetchers/stats.d.ts.map +1 -0
  87. package/build/fetchers/stats.js +339 -0
  88. package/build/fetchers/top-languages.d.ts +20 -0
  89. package/build/fetchers/top-languages.d.ts.map +1 -0
  90. package/build/fetchers/top-languages.js +139 -0
  91. package/build/fetchers/wakatime.d.ts +11 -0
  92. package/build/fetchers/wakatime.d.ts.map +1 -0
  93. package/build/fetchers/wakatime.js +25 -0
  94. package/build/index.d.ts +20 -0
  95. package/build/index.d.ts.map +1 -0
  96. package/build/index.js +19 -0
  97. package/build/themes/index.d.ts +469 -0
  98. package/build/themes/index.d.ts.map +1 -0
  99. package/build/themes/index.js +468 -0
  100. package/build/translations.d.ts +533 -0
  101. package/build/translations.d.ts.map +1 -0
  102. package/build/translations.js +1140 -0
  103. package/package.json +94 -0
  104. package/src/api/gist.js +99 -0
  105. package/src/api/index.js +185 -0
  106. package/src/api/pin.js +146 -0
  107. package/src/api/top-langs.js +168 -0
  108. package/src/api/wakatime.js +113 -0
  109. package/src/calculateRank.js +86 -0
  110. package/src/cards/gist.js +187 -0
  111. package/src/cards/repo.js +365 -0
  112. package/src/cards/stats.js +673 -0
  113. package/src/cards/top-languages.js +1023 -0
  114. package/src/cards/types.d.ts +78 -0
  115. package/src/cards/wakatime.js +471 -0
  116. package/src/common/Card.js +275 -0
  117. package/src/common/I18n.js +42 -0
  118. package/src/common/color.js +145 -0
  119. package/src/common/config.js +78 -0
  120. package/src/common/constants.js +9 -0
  121. package/src/common/error.js +90 -0
  122. package/src/common/fmt.js +80 -0
  123. package/src/common/html.js +22 -0
  124. package/src/common/http.js +21 -0
  125. package/src/common/icons.js +81 -0
  126. package/src/common/languageColors.json +667 -0
  127. package/src/common/log.ts +12 -0
  128. package/src/common/ops.js +172 -0
  129. package/src/common/render.js +442 -0
  130. package/src/common/retryer.js +104 -0
  131. package/src/fetchers/gist.js +114 -0
  132. package/src/fetchers/repo.js +165 -0
  133. package/src/fetchers/stats.js +478 -0
  134. package/src/fetchers/top-languages.js +177 -0
  135. package/src/fetchers/types.d.ts +128 -0
  136. package/src/fetchers/wakatime.js +37 -0
  137. package/src/index.ts +25 -0
  138. package/src/themes/README.md +229 -0
  139. package/src/themes/index.ts +476 -0
  140. package/src/translations.js +1156 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Anurag Hazra, Abhijit Gupta, martin-mfg
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ Core library powering [GitHub Stats Extended](https://github.com/stats-organization/github-stats-extended) and [GitHub Readme Stats Action](https://github.com/readme-tools/github-readme-stats-action).
@@ -0,0 +1,19 @@
1
+ declare function _default({ id, title_color, icon_color, text_color, bg_color, theme, locale, border_radius, border_color, show_owner, browser_rendering, hide_border, }: {
2
+ id: any;
3
+ title_color: any;
4
+ icon_color: any;
5
+ text_color: any;
6
+ bg_color: any;
7
+ theme: any;
8
+ locale: any;
9
+ border_radius: any;
10
+ border_color: any;
11
+ show_owner: any;
12
+ browser_rendering: any;
13
+ hide_border: any;
14
+ }, pat?: null): Promise<{
15
+ status: string;
16
+ content: string;
17
+ }>;
18
+ export default _default;
19
+ //# sourceMappingURL=gist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gist.d.ts","sourceRoot":"","sources":["../../src/api/gist.js"],"names":[],"mappings":"AAae;;;;;;;;;;;;;;;;GAqFd"}
@@ -0,0 +1,77 @@
1
+ // @ts-check
2
+ import { renderGistCard } from "../cards/gist.js";
3
+ import { MissingParamError, retrieveSecondaryMessage, } from "../common/error.js";
4
+ import { parseBoolean } from "../common/ops.js";
5
+ import { renderError } from "../common/render.js";
6
+ import { fetchGist } from "../fetchers/gist.js";
7
+ import { isLocaleAvailable } from "../translations.js";
8
+ // @ts-ignore
9
+ export default async ({ id, title_color, icon_color, text_color, bg_color, theme, locale, border_radius, border_color, show_owner, browser_rendering, hide_border, }, pat = null) => {
10
+ if (locale && !isLocaleAvailable(locale)) {
11
+ return {
12
+ status: "error - permanent",
13
+ content: renderError({
14
+ message: "Something went wrong",
15
+ secondaryMessage: "Language not found",
16
+ renderOptions: {
17
+ title_color,
18
+ text_color,
19
+ bg_color,
20
+ border_color,
21
+ theme,
22
+ },
23
+ }),
24
+ };
25
+ }
26
+ try {
27
+ const gistData = await fetchGist(id, pat);
28
+ return {
29
+ status: "success",
30
+ content: renderGistCard(gistData, {
31
+ title_color,
32
+ icon_color,
33
+ text_color,
34
+ bg_color,
35
+ theme,
36
+ border_radius,
37
+ border_color,
38
+ locale: locale ? locale.toLowerCase() : null,
39
+ show_owner: parseBoolean(show_owner),
40
+ browser_rendering: parseBoolean(browser_rendering),
41
+ hide_border: parseBoolean(hide_border),
42
+ }),
43
+ };
44
+ }
45
+ catch (err) {
46
+ if (err instanceof Error) {
47
+ return {
48
+ status: "error - temporary",
49
+ content: renderError({
50
+ message: err.message,
51
+ secondaryMessage: retrieveSecondaryMessage(err),
52
+ renderOptions: {
53
+ title_color,
54
+ text_color,
55
+ bg_color,
56
+ border_color,
57
+ theme,
58
+ show_repo_link: !(err instanceof MissingParamError),
59
+ },
60
+ }),
61
+ };
62
+ }
63
+ return {
64
+ status: "error - temporary",
65
+ content: renderError({
66
+ message: "An unknown error occurred",
67
+ renderOptions: {
68
+ title_color,
69
+ text_color,
70
+ bg_color,
71
+ border_color,
72
+ theme,
73
+ },
74
+ }),
75
+ };
76
+ }
77
+ };
@@ -0,0 +1,37 @@
1
+ declare function _default({ username, repo, owner, hide, hide_title, hide_border, card_width, hide_rank, show_icons, include_all_commits, commits_year, line_height, title_color, ring_color, icon_color, text_color, text_bold, bg_color, theme, exclude_repo, custom_title, locale, disable_animations, border_radius, number_format, role, number_precision, border_color, rank_icon, show, }: {
2
+ username: any;
3
+ repo: any;
4
+ owner: any;
5
+ hide: any;
6
+ hide_title: any;
7
+ hide_border: any;
8
+ card_width: any;
9
+ hide_rank: any;
10
+ show_icons: any;
11
+ include_all_commits: any;
12
+ commits_year: any;
13
+ line_height: any;
14
+ title_color: any;
15
+ ring_color: any;
16
+ icon_color: any;
17
+ text_color: any;
18
+ text_bold: any;
19
+ bg_color: any;
20
+ theme: any;
21
+ exclude_repo: any;
22
+ custom_title: any;
23
+ locale: any;
24
+ disable_animations: any;
25
+ border_radius: any;
26
+ number_format: any;
27
+ role: any;
28
+ number_precision: any;
29
+ border_color: any;
30
+ rank_icon: any;
31
+ show: any;
32
+ }, pat?: null): Promise<{
33
+ status: string;
34
+ content: string;
35
+ }>;
36
+ export default _default;
37
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.js"],"names":[],"mappings":"AAae;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2Kd"}
@@ -0,0 +1,115 @@
1
+ // @ts-check
2
+ import { renderStatsCard } from "../cards/stats.js";
3
+ import { MissingParamError, retrieveSecondaryMessage, } from "../common/error.js";
4
+ import { parseArray, parseBoolean } from "../common/ops.js";
5
+ import { renderError } from "../common/render.js";
6
+ import { fetchStats } from "../fetchers/stats.js";
7
+ import { isLocaleAvailable } from "../translations.js";
8
+ // @ts-ignore
9
+ export default async ({ username, repo, owner, hide, hide_title, hide_border, card_width, hide_rank, show_icons, include_all_commits, commits_year, line_height, title_color, ring_color, icon_color, text_color, text_bold, bg_color, theme, exclude_repo, custom_title, locale, disable_animations, border_radius, number_format, role, number_precision, border_color, rank_icon, show, }, pat = null) => {
10
+ if (locale && !isLocaleAvailable(locale)) {
11
+ return {
12
+ status: "error - permanent",
13
+ content: renderError({
14
+ message: "Something went wrong",
15
+ secondaryMessage: "Language not found",
16
+ renderOptions: {
17
+ title_color,
18
+ text_color,
19
+ bg_color,
20
+ border_color,
21
+ theme,
22
+ },
23
+ }),
24
+ };
25
+ }
26
+ const safePattern = /^[-\w/.,]+$/;
27
+ if ((username && !safePattern.test(username)) ||
28
+ (repo && !safePattern.test(repo)) ||
29
+ (owner && !safePattern.test(owner))) {
30
+ return {
31
+ status: "error - permanent",
32
+ content: renderError({
33
+ message: "Something went wrong",
34
+ secondaryMessage: "Username, repository or owner contains unsafe characters",
35
+ renderOptions: {
36
+ title_color,
37
+ text_color,
38
+ bg_color,
39
+ border_color,
40
+ theme,
41
+ },
42
+ }),
43
+ };
44
+ }
45
+ try {
46
+ const showStats = parseArray(show);
47
+ const repoOwner = parseArray(owner);
48
+ let repository = parseArray(repo);
49
+ repository = repository.map((repo) => repo.includes("/") ? repo : `${username}/${repo}`);
50
+ const stats = await fetchStats(username, parseBoolean(include_all_commits), parseArray(exclude_repo), showStats.includes("prs_merged") ||
51
+ showStats.includes("prs_merged_percentage"), showStats.includes("discussions_started"), showStats.includes("discussions_answered"), parseInt(commits_year, 10), repository, repoOwner, showStats.includes("prs_authored"), showStats.includes("prs_commented"), showStats.includes("prs_reviewed"), showStats.includes("issues_authored"), showStats.includes("issues_commented"), parseArray(role), pat);
52
+ return {
53
+ status: "success",
54
+ content: renderStatsCard(stats, {
55
+ hide: parseArray(hide),
56
+ show_icons: parseBoolean(show_icons),
57
+ hide_title: parseBoolean(hide_title),
58
+ hide_border: parseBoolean(hide_border),
59
+ card_width: parseInt(card_width, 10),
60
+ hide_rank: parseBoolean(hide_rank),
61
+ include_all_commits: parseBoolean(include_all_commits),
62
+ commits_year: parseInt(commits_year, 10),
63
+ line_height,
64
+ title_color,
65
+ ring_color,
66
+ icon_color,
67
+ text_color,
68
+ text_bold: parseBoolean(text_bold),
69
+ bg_color,
70
+ theme,
71
+ custom_title,
72
+ border_radius,
73
+ border_color,
74
+ number_format,
75
+ number_precision: parseInt(number_precision, 10),
76
+ locale: locale ? locale.toLowerCase() : null,
77
+ disable_animations: parseBoolean(disable_animations),
78
+ rank_icon,
79
+ show: showStats,
80
+ }, username, repository, repoOwner),
81
+ };
82
+ }
83
+ catch (err) {
84
+ if (err instanceof Error) {
85
+ return {
86
+ status: "error - temporary",
87
+ content: renderError({
88
+ message: err.message,
89
+ secondaryMessage: retrieveSecondaryMessage(err),
90
+ renderOptions: {
91
+ title_color,
92
+ text_color,
93
+ bg_color,
94
+ border_color,
95
+ theme,
96
+ show_repo_link: !(err instanceof MissingParamError),
97
+ },
98
+ }),
99
+ };
100
+ }
101
+ return {
102
+ status: "error - temporary",
103
+ content: renderError({
104
+ message: "An unknown error occurred",
105
+ renderOptions: {
106
+ title_color,
107
+ text_color,
108
+ bg_color,
109
+ border_color,
110
+ theme,
111
+ },
112
+ }),
113
+ };
114
+ }
115
+ };
@@ -0,0 +1,27 @@
1
+ declare function _default({ username, repo, hide_border, title_color, icon_color, text_color, bg_color, card_width, theme, show_owner, browser_rendering, show, show_icons, number_format, text_bold, line_height, locale, border_radius, border_color, description_lines_count, }: {
2
+ username: any;
3
+ repo: any;
4
+ hide_border: any;
5
+ title_color: any;
6
+ icon_color: any;
7
+ text_color: any;
8
+ bg_color: any;
9
+ card_width: any;
10
+ theme: any;
11
+ show_owner: any;
12
+ browser_rendering: any;
13
+ show: any;
14
+ show_icons: any;
15
+ number_format: any;
16
+ text_bold: any;
17
+ line_height: any;
18
+ locale: any;
19
+ border_radius: any;
20
+ border_color: any;
21
+ description_lines_count: any;
22
+ }, pat?: null): Promise<{
23
+ status: string;
24
+ content: string;
25
+ }>;
26
+ export default _default;
27
+ //# sourceMappingURL=pin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pin.d.ts","sourceRoot":"","sources":["../../src/api/pin.js"],"names":[],"mappings":"AAae;;;;;;;;;;;;;;;;;;;;;;;;GAoId"}
@@ -0,0 +1,104 @@
1
+ // @ts-check
2
+ import { renderRepoCard } from "../cards/repo.js";
3
+ import { MissingParamError, retrieveSecondaryMessage, } from "../common/error.js";
4
+ import { parseArray, parseBoolean } from "../common/ops.js";
5
+ import { renderError } from "../common/render.js";
6
+ import { fetchRepo } from "../fetchers/repo.js";
7
+ import { isLocaleAvailable } from "../translations.js";
8
+ // @ts-ignore
9
+ export default async ({ username, repo, hide_border, title_color, icon_color, text_color, bg_color, card_width, theme, show_owner, browser_rendering, show, show_icons, number_format, text_bold, line_height, locale, border_radius, border_color, description_lines_count, }, pat = null) => {
10
+ if (locale && !isLocaleAvailable(locale)) {
11
+ return {
12
+ status: "error - permanent",
13
+ content: renderError({
14
+ message: "Something went wrong",
15
+ secondaryMessage: "Language not found",
16
+ renderOptions: {
17
+ title_color,
18
+ text_color,
19
+ bg_color,
20
+ border_color,
21
+ theme,
22
+ },
23
+ }),
24
+ };
25
+ }
26
+ const safePattern = /^[-\w/.,]+$/;
27
+ if ((username && !safePattern.test(username)) ||
28
+ (repo && !safePattern.test(repo))) {
29
+ return {
30
+ status: "error - permanent",
31
+ content: renderError({
32
+ message: "Something went wrong",
33
+ secondaryMessage: "Username or repository contains unsafe characters",
34
+ renderOptions: {
35
+ title_color,
36
+ text_color,
37
+ bg_color,
38
+ border_color,
39
+ theme,
40
+ },
41
+ }),
42
+ };
43
+ }
44
+ try {
45
+ const showStats = parseArray(show);
46
+ const repoData = await fetchRepo(username, repo, showStats.includes("prs_authored"), showStats.includes("prs_commented"), showStats.includes("prs_reviewed"), showStats.includes("issues_authored"), showStats.includes("issues_commented"), pat);
47
+ return {
48
+ status: "success",
49
+ content: renderRepoCard(repoData, {
50
+ hide_border: parseBoolean(hide_border),
51
+ title_color,
52
+ icon_color,
53
+ text_color,
54
+ bg_color,
55
+ theme,
56
+ border_radius,
57
+ border_color,
58
+ card_width_input: parseInt(card_width, 10),
59
+ show_owner: parseBoolean(show_owner),
60
+ browser_rendering: parseBoolean(browser_rendering),
61
+ show: showStats,
62
+ show_icons: parseBoolean(show_icons),
63
+ number_format,
64
+ text_bold: parseBoolean(text_bold),
65
+ line_height,
66
+ username,
67
+ locale: locale ? locale.toLowerCase() : null,
68
+ description_lines_count,
69
+ }),
70
+ };
71
+ }
72
+ catch (err) {
73
+ if (err instanceof Error) {
74
+ return {
75
+ status: "error - temporary",
76
+ content: renderError({
77
+ message: err.message,
78
+ secondaryMessage: retrieveSecondaryMessage(err),
79
+ renderOptions: {
80
+ title_color,
81
+ text_color,
82
+ bg_color,
83
+ border_color,
84
+ theme,
85
+ show_repo_link: !(err instanceof MissingParamError),
86
+ },
87
+ }),
88
+ };
89
+ }
90
+ return {
91
+ status: "error - temporary",
92
+ content: renderError({
93
+ message: "An unknown error occurred",
94
+ renderOptions: {
95
+ title_color,
96
+ text_color,
97
+ bg_color,
98
+ border_color,
99
+ theme,
100
+ },
101
+ }),
102
+ };
103
+ }
104
+ };
@@ -0,0 +1,31 @@
1
+ declare function _default({ username, hide, hide_title, hide_border, card_width, title_color, text_color, bg_color, prog_bar_bg_color, theme, layout, langs_count, exclude_repo, size_weight, count_weight, custom_title, locale, border_radius, border_color, role, disable_animations, hide_progress, hide_values, stats_format, }: {
2
+ username: any;
3
+ hide: any;
4
+ hide_title: any;
5
+ hide_border: any;
6
+ card_width: any;
7
+ title_color: any;
8
+ text_color: any;
9
+ bg_color: any;
10
+ prog_bar_bg_color: any;
11
+ theme: any;
12
+ layout: any;
13
+ langs_count: any;
14
+ exclude_repo: any;
15
+ size_weight: any;
16
+ count_weight: any;
17
+ custom_title: any;
18
+ locale: any;
19
+ border_radius: any;
20
+ border_color: any;
21
+ role: any;
22
+ disable_animations: any;
23
+ hide_progress: any;
24
+ hide_values: any;
25
+ stats_format: any;
26
+ }, pat?: null): Promise<{
27
+ status: string;
28
+ content: string;
29
+ }>;
30
+ export default _default;
31
+ //# sourceMappingURL=top-langs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top-langs.d.ts","sourceRoot":"","sources":["../../src/api/top-langs.js"],"names":[],"mappings":"AAae;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0Jd"}
@@ -0,0 +1,121 @@
1
+ // @ts-check
2
+ import { renderTopLanguages } from "../cards/top-languages.js";
3
+ import { MissingParamError, retrieveSecondaryMessage, } from "../common/error.js";
4
+ import { parseArray, parseBoolean } from "../common/ops.js";
5
+ import { renderError } from "../common/render.js";
6
+ import { fetchTopLanguages } from "../fetchers/top-languages.js";
7
+ import { isLocaleAvailable } from "../translations.js";
8
+ // @ts-ignore
9
+ export default async ({ username, hide, hide_title, hide_border, card_width, title_color, text_color, bg_color, prog_bar_bg_color, theme, layout, langs_count, exclude_repo, size_weight, count_weight, custom_title, locale, border_radius, border_color, role, disable_animations, hide_progress, hide_values, stats_format, }, pat = null) => {
10
+ if (locale && !isLocaleAvailable(locale)) {
11
+ return {
12
+ status: "error - permanent",
13
+ content: renderError({
14
+ message: "Something went wrong",
15
+ secondaryMessage: "Locale not found",
16
+ renderOptions: {
17
+ title_color,
18
+ text_color,
19
+ bg_color,
20
+ border_color,
21
+ theme,
22
+ },
23
+ }),
24
+ };
25
+ }
26
+ if (layout !== undefined &&
27
+ (typeof layout !== "string" ||
28
+ !["compact", "normal", "donut", "donut-vertical", "pie"].includes(layout))) {
29
+ return {
30
+ status: "error - permanent",
31
+ content: renderError({
32
+ message: "Something went wrong",
33
+ secondaryMessage: "Incorrect layout input",
34
+ renderOptions: {
35
+ title_color,
36
+ text_color,
37
+ bg_color,
38
+ border_color,
39
+ theme,
40
+ },
41
+ }),
42
+ };
43
+ }
44
+ if (stats_format !== undefined &&
45
+ (typeof stats_format !== "string" ||
46
+ !["bytes", "percentages"].includes(stats_format))) {
47
+ return {
48
+ status: "error - permanent",
49
+ content: renderError({
50
+ message: "Something went wrong",
51
+ secondaryMessage: "Incorrect stats_format input",
52
+ renderOptions: {
53
+ title_color,
54
+ text_color,
55
+ bg_color,
56
+ border_color,
57
+ theme,
58
+ },
59
+ }),
60
+ };
61
+ }
62
+ try {
63
+ const topLangs = await fetchTopLanguages(username, parseArray(exclude_repo), size_weight, count_weight, parseArray(role), pat);
64
+ return {
65
+ status: "success",
66
+ content: renderTopLanguages(topLangs, {
67
+ custom_title,
68
+ hide_title: parseBoolean(hide_title),
69
+ hide_border: parseBoolean(hide_border),
70
+ card_width: parseInt(card_width, 10),
71
+ hide: parseArray(hide),
72
+ title_color,
73
+ text_color,
74
+ bg_color,
75
+ prog_bar_bg_color,
76
+ theme,
77
+ layout,
78
+ langs_count,
79
+ border_radius,
80
+ border_color,
81
+ locale: locale ? locale.toLowerCase() : null,
82
+ disable_animations: parseBoolean(disable_animations),
83
+ hide_progress: parseBoolean(hide_progress),
84
+ hide_values: parseBoolean(hide_values),
85
+ stats_format,
86
+ }),
87
+ };
88
+ }
89
+ catch (err) {
90
+ if (err instanceof Error) {
91
+ return {
92
+ status: "error - temporary",
93
+ content: renderError({
94
+ message: err.message,
95
+ secondaryMessage: retrieveSecondaryMessage(err),
96
+ renderOptions: {
97
+ title_color,
98
+ text_color,
99
+ bg_color,
100
+ border_color,
101
+ theme,
102
+ show_repo_link: !(err instanceof MissingParamError),
103
+ },
104
+ }),
105
+ };
106
+ }
107
+ return {
108
+ status: "error - temporary",
109
+ content: renderError({
110
+ message: "An unknown error occurred",
111
+ renderOptions: {
112
+ title_color,
113
+ text_color,
114
+ bg_color,
115
+ border_color,
116
+ theme,
117
+ },
118
+ }),
119
+ };
120
+ }
121
+ };
@@ -0,0 +1,28 @@
1
+ declare function _default({ username, title_color, icon_color, hide_border, card_width, line_height, text_color, bg_color, theme, hide_title, hide_progress, custom_title, locale, layout, langs_count, hide, api_domain, border_radius, border_color, display_format, disable_animations, }: {
2
+ username: any;
3
+ title_color: any;
4
+ icon_color: any;
5
+ hide_border: any;
6
+ card_width: any;
7
+ line_height: any;
8
+ text_color: any;
9
+ bg_color: any;
10
+ theme: any;
11
+ hide_title: any;
12
+ hide_progress: any;
13
+ custom_title: any;
14
+ locale: any;
15
+ layout: any;
16
+ langs_count: any;
17
+ hide: any;
18
+ api_domain: any;
19
+ border_radius: any;
20
+ border_color: any;
21
+ display_format: any;
22
+ disable_animations: any;
23
+ }): Promise<{
24
+ status: string;
25
+ content: string;
26
+ }>;
27
+ export default _default;
28
+ //# sourceMappingURL=wakatime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wakatime.d.ts","sourceRoot":"","sources":["../../src/api/wakatime.js"],"names":[],"mappings":"AAae;;;;;;;;;;;;;;;;;;;;;;;;;GAmGd"}