Roadmap to becoming a developer in 2022
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
781 B

2 years ago
const formatter = Intl.NumberFormat('en-US', {
notation: 'compact',
});
let starCount: number | undefined = undefined;
2 years ago
export async function countStars(
repo = 'kamranahmedse/developer-roadmap'
): Promise<number> {
if (starCount) {
return starCount;
}
try {
const repoData = await fetch(`https://api.github.com/repos/${repo}`);
const json = await repoData.json();
starCount = json.stargazers_count * 1;
} catch (e) {
console.log('Failed to fetch stars', e);
starCount = 224000;
}
2 years ago
return starCount;
2 years ago
}
export async function getFormattedStars(
repo = 'kamranahmedse/developer-roadmap'
): Promise<string> {
if (import.meta.env.DEV) {
return '224k';
}
2 years ago
const stars = await countStars(repo);
return formatter.format(stars);
}