This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

core / web / src / lib / components / timeline / mappers.ts
1.1 kB 26 lines
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 "/");