Skip to content

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

Package listing

@kody/linkedin

src/create-image-post.ts

17 lines · 871 B · TypeScript
import { createImagePost, requireRecord, requireStringField } from './client.ts'
import type { CreateImagePostInput } from './client.ts'

/**
 * Create or dry-run a personal-profile LinkedIn image post.
 * @param params.imageUrn - Uploaded image URN from `register-image-upload`.
 * @returns Dry-run preview or published post metadata when `confirm: true`.
 * @example
 * import createImagePost from 'kody:@kody/linkedin/create-image-post'
 * const result = await createImagePost({ text: 'Photo post', imageUrn: 'urn:li:image:...', dryRun: true })
 * // => { dryRun: true, body: { ... } }
 */
export default async function createImagePostEntrypoint(params: Partial<CreateImagePostInput> & Record<string, unknown> = {}) {
  const input = requireRecord(params, 'create-image-post')
  requireStringField(input, 'text', 'create-image-post')
  return createImagePost(input)
}