Skip to content
← Public packages

@kody/hn-pulse

Quick onboarding example: Hacker News top stories via Firebase HN API (zero OAuth).

src/get-top-stories.ts

21 lines · 814 B · TypeScript
import { getTopStories, type HnStory, type TopStoriesInput } from './index.ts'

/**
 * Fetch current Hacker News top stories from the public Firebase HN API (no auth).
 * Use for a quick pulse check; pass `limit` to bound how many stories to hydrate.
 *
 * @param input.limit - How many top stories to return (1–30, default 10).
 * @returns Hydrated stories `{ id, title, url, by, score, descendants }[]`.
 *
 * @example
 * import getTopStories from 'kody:@kody/hn-pulse/getTopStories'
 * const stories = await getTopStories({ limit: 5 })
 * // => [{ id: 123, title: '…', url: 'https://…', by: 'pg', score: 100, descendants: 42 }, …]
 */
export default async function getTopStoriesExport(
	input: TopStoriesInput = {},
): Promise<HnStory[]> {
	return await getTopStories(input)
}

export { getTopStories }