This repository has no description
1import { resolve } from "$app/paths";
2import { rkeyFromUri } from "$lib/api/uri";
3import type { RepoCardData, PersonData } from "$lib/components/profile/types";
4import type * as ShTangledRepoDefs from "$lib/api/lexicons/types/sh/tangled/repo/defs";
5import type * as ShTangledActorDefs from "$lib/api/lexicons/types/sh/tangled/actor/defs";
6
7export const toRepoCard = (repo: ShTangledRepoDefs.RepoViewBasic): RepoCardData => ({
8 name: repo.slug,
9 repoDid: repo.did,
10 ownerHandle: repo.owner.handle,
11 description: repo.description,
12 createdAt: repo.createdAt,
13 stars: repo.starCount,
14 viewerStarRkey: repo.viewer?.star ? rkeyFromUri(repo.viewer.star) : null
15});
16
17export const toPerson = (profile: ShTangledActorDefs.ProfileViewDetailed): PersonData => ({
18 did: profile.did,
19 handle: profile.handle,
20 followers: profile.followersCount,
21 following: profile.followsCount,
22 viewerFollowRkey: profile.viewer?.following ? rkeyFromUri(profile.viewer.following) : null
23});
24
25export const repoHref = (repo: ShTangledRepoDefs.RepoViewBasic) =>
26 resolve(`/${repo.owner.handle}/${repo.slug}` as "/");