about summary refs log tree commit diff
path: root/src/state/messages/convo/util.ts
blob: ffaa4104a70fbdb28676670c595f6ca487f71d7f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import {
  ConvoState,
  ConvoStateBackgrounded,
  ConvoStateReady,
  ConvoStateSuspended,
  ConvoStatus,
} from './types'

/**
 * Checks if a `Convo` has a `status` that is "active", meaning the chat is
 * loaded and ready to be used, or its in a suspended or background state, and
 * ready for resumption.
 */
export function isConvoActive(
  convo: ConvoState,
): convo is ConvoStateReady | ConvoStateBackgrounded | ConvoStateSuspended {
  return (
    convo.status === ConvoStatus.Ready ||
    convo.status === ConvoStatus.Backgrounded ||
    convo.status === ConvoStatus.Suspended
  )
}