import type { MessageResource } from '../types' export interface PeopleSystemMessageResource extends MessageResource { systemTextFormat: 'people' systemTextParts: { names: string[]; overflowCount: number; action: string } personIdsForSystemEvent: number[] } export interface ActorSystemMessageResource extends MessageResource { systemTextFormat: 'actor' text: string } export type SystemMessageResource = PeopleSystemMessageResource | ActorSystemMessageResource export const isSystemMessage = (message: MessageResource): message is SystemMessageResource => { switch (message.systemTextFormat) { case 'people': return message.systemTextParts != null && message.personIdsForSystemEvent != null case 'actor': return !!message.text default: return false } }