Something went wrong. Try again.
Monorepo for Tangled forked from tangled.org/core
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930import type { BobbinContext } from "#lib/api/client.ts";import { count } from "#lib/api/count.ts";import { parallel } from "#lib/api/load.ts";import type { RepoCounts } from "#lib/components/repo/types.ts";
export const loadRepoCounts = (ctx: BobbinContext, repoDid?: string): Promise<RepoCounts> => parallel({ stars: repoDid ? count(ctx, "org.tangled.feed.countStars", repoDid).catch(() => null) : Promise.resolve(null), issues: repoDid ? count(ctx, "org.tangled.repo.countIssues", repoDid, { state: "open" }).catch( () => null ) : Promise.resolve(null), pulls: repoDid ? count(ctx, "org.tangled.repo.countPulls", repoDid, { status: "open" }).catch( () => null ) : Promise.resolve(null), forks: repoDid ? count(ctx, "org.tangled.repo.countForks", repoDid).catch(() => null) : Promise.resolve(null) }).then((stats) => ({ stars: stats.stars?.distinctAuthors ?? 0, issues: stats.issues?.count ?? 0, pulls: stats.pulls?.count ?? 0, forks: stats.forks?.count ?? 0 }));