Skip to content

Built for people who want to own their automations. Join the waitlist for an invite.

Package listing

@kody/reddit

src/get-subreddit.ts

17 lines · 715 B · TypeScript
import { getSubreddit, requireRecord, requireStringField } from './client.ts'
import type { GetSubredditInput } from './client.ts'

/**
 * Read a subreddit about payload from GET /r/{subreddit}/about.
 * @example
 * import getSubreddit from 'kody:@kody/reddit/get-subreddit'
 * const community = await getSubreddit({ subreddit: 'programming' })
 * // => { subreddit: { displayName: 'programming', subscribers: 123, ... } }
 */
export default async function getSubredditEntrypoint(
	params: Partial<GetSubredditInput> & Record<string, unknown> = {},
) {
	const input = requireRecord(params, 'get-subreddit')
	requireStringField(input, 'subreddit', 'get-subreddit')
	return getSubreddit(input as GetSubredditInput)
}