github.ts 609 B

1234567891011121314151617181920
  1. const REPO = "vercel-labs/json-render";
  2. const REVALIDATE = 86400;
  3. export async function getStarCount(): Promise<string> {
  4. try {
  5. const res = await fetch(`https://api.github.com/repos/${REPO}`, {
  6. headers: { Accept: "application/vnd.github.v3+json" },
  7. next: { revalidate: REVALIDATE },
  8. });
  9. if (!res.ok) return "";
  10. const data = await res.json();
  11. const count = data.stargazers_count;
  12. if (typeof count !== "number") return "";
  13. if (count >= 1000)
  14. return `${(count / 1000).toFixed(count >= 10000 ? 0 : 1)}k`;
  15. return String(count);
  16. } catch {
  17. return "";
  18. }
  19. }