← Public packages
@kentcdodds/kit
Kit.com helpers for subscribers, tags, forms, sequences, and broadcasts.
src/named.js
114 lines · 2.8 KB · JavaScript/**
* Named Kit.com helpers: OpenAPI-scaffolded transport plus domain helpers for
* broadcasts, sequence emails, and repo-style HTML builders.
* Prefer focused paths (`./create-broadcast-draft`, `./subscribe-and-tag`,
* `./list-broadcasts`) when one of those is enough. Root `.` is draft-only
* `createBroadcastDraft`.
*
* **Draft-only:** no export sends, schedules, or publishes a broadcast — a
* human sends drafts from the Kit UI via the returned `editUrl`. The only
* destructive export is `deleteBroadcast`.
*
* @example
* import { createBroadcastDraft, buildParagraph, joinEmailBlocks } from 'kody:@kentcdodds/kit/named'
* const draft = await createBroadcastDraft({
* subject: 'Workshop reminder',
* content: joinEmailBlocks([buildParagraph('See you tomorrow!')]),
* })
* // => { id: 123, subject: '...', editUrl: 'https://app.kit.com/campaigns/123/draft' }
*/
export {
KIT_API_BASE_URL,
KIT_SECRET_NAME,
KIT_TEMPLATES,
KIT_MUTE_TAGS,
BWK_YOUTUBE_BROADCAST_DEFAULTS,
EPE_SEQUENCE_ID,
KitApiError,
parseOkJson,
callParsed,
listAll,
broadcastSummary,
sequenceEmailSummary,
getCurrentAccount,
getAccountEmailStats,
getAccountGrowthStats,
getBroadcastStats,
getBroadcastsStats,
listSequences,
getSequence,
listSequenceEmails,
} from './kit-client.js'
export {
buildLiquidGreeting,
buildParagraph,
buildLinkedImage,
buildWorkshopImageBlock,
buildUnorderedList,
joinEmailBlocks,
} from './html.js'
export {
createBroadcastDraft,
createBwkYoutubeBroadcastDraft,
updateBroadcast,
getBroadcast,
listBroadcasts,
deleteBroadcast,
} from './broadcasts.js'
export {
createSequence,
createSequenceEmail,
addSubscriberToSequence,
getSequenceEmail,
updateSequenceEmail,
publishSequenceEmail,
} from './sequence-emails.js'
export {
subscriberSummary,
createSubscriber,
getSubscriber,
getSubscriberByEmail,
updateSubscriber,
unsubscribeSubscriber,
listSubscribers,
listSubscriberTags,
listTags,
createTag,
ensureTag,
tagSubscriberByEmail,
untagSubscriber,
listTagSubscribers,
subscribeAndTag,
listForms,
addSubscriberToForm,
listSegments,
} from './subscribers.js'
/**
* Named Kit.com helpers (HTML, broadcasts, subscribers, sequences, constants).
* Prefer focused paths when one exists; root `.` is draft-only createBroadcastDraft.
*
* @returns Short map of this barrel vs focused paths
*
* @example
* import describeNamed from 'kody:@kentcdodds/kit/named'
* const info = await describeNamed()
* // => { root: 'createBroadcastDraft', prefer: ['create-broadcast-draft', ...] }
*/
export default async function describeKitNamed() {
return {
root: 'createBroadcastDraft',
prefer: ['create-broadcast-draft', 'subscribe-and-tag', 'list-broadcasts'],
named: [
'HTML builders',
'broadcasts',
'subscribers/tags/forms/segments',
'sequences',
'constants',
],
}
}