import { requireRecord, requireStringField, submitPost } from './client.ts' import type { SubmitPostInput } from './client.ts' /** * Create or dry-run a Reddit self or link post. Publishing requires confirm: true. * @example * import submitPost from 'kody:@kody/reddit/submit-post' * const preview = await submitPost({ * subreddit: 'test', * title: 'Hello from Kody', * text: 'Draft body', * dryRun: true, * }) * // => { dryRun: true, method: 'POST', url: 'https://oauth.reddit.com/api/submit', requiresConfirm: true } */ export default async function submitPostEntrypoint( params: Partial & Record = {}, ) { const input = requireRecord(params, 'submit-post') requireStringField(input, 'subreddit', 'submit-post') requireStringField(input, 'title', 'submit-post') return submitPost(input as SubmitPostInput) }