Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/llms-txt-hub / apps/web/lib/members.ts |
| Date | Not specified in source |
| Repository | Janady13/llms-txt-hub |
| Revision | e0f4bf978d4df168369c7601d9c5f5ea89e84377 |
| Branch | main |
| Path or archive member | apps/web/lib/members.ts |
| Original SHA-256 | 36d71f652c9dc54bf18ea21e48ebda49bea479653066e7901be5ecc0b8a324d1 |
| Git blob SHA | bc7840850556dbcdf7cf8662497dcea847fa29fb |
| Reading-copy SHA-256 | 36d71f652c9dc54bf18ea21e48ebda49bea479653066e7901be5ecc0b8a324d1 |
Recovered source transcript
Download complete source text ↓33 lines · 1.0 KB
import { logger } from '@thedaviddias/logging'
import { getCachedMembers, type Member } from './member-server-utils'
// Re-export the Member type for consumers that import from here
export type { Member }
export interface GetLatestMembersInput {
limit?: number
}
/**
* Get the latest members for homepage display.
* Reads from the two-tier cache (unstable_cache + Redis) instead of Clerk directly.
*
* @param input.limit - Number of members to return (default: 6)
*/
export async function getLatestMembers({
limit = 6
}: GetLatestMembersInput = {}): Promise<Member[]> {
try {
const allMembers = await getCachedMembers()
// Members are already sorted by -created_at from Clerk, so the first N are the latest
return allMembers.slice(0, limit)
} catch (error) {
logger.error('Error fetching latest members:', {
data: error instanceof Error ? { message: error.message, name: error.name } : {},
tags: { type: 'library' }
})
return []
}
}