UNPKG

@cobuildlab/8base-chat

Version:

Chat component that uses 8base

21 lines (20 loc) 1.03 kB
import { ChannelIdentityFragment, DmIdentityFragment } from 'shared/graphql/__generated__'; import { IChannelItemProps } from './components/channel-item'; interface IChannelIdentities<T extends ChannelIdentityFragment | DmIdentityFragment = ChannelIdentityFragment> { items: T[]; } declare type OriginalItem<T extends ChannelIdentityFragment | DmIdentityFragment> = T & { channel: NonNullable<T['channel']> & { members: NonNullable<NonNullable<T['channel']>['members']>; }; }; declare type ChannelItem = { id: string; channelIdentityId: string; } & Pick<IChannelItemProps, 'name' | 'membersCount' | 'hasUnreads'>; /** * Takes user's channel identities and converts them to fit ChannelItemProps * @param channelIdentities - User's channel identities */ export declare function toChannelItemProps<T extends ChannelIdentityFragment | DmIdentityFragment>(channelIdentities: IChannelIdentities<T>, transform?: (item: ChannelItem, originalItem: OriginalItem<T>) => ChannelItem): ChannelItem[]; export {};