// Copyright 2024 Signal Messenger, LLC // SPDX-License-Identifier: AGPL-3.0-only import { CallMode } from '../types/CallDisposition'; import type { ActiveCallType, ActiveGroupCallType } from '../types/Calling'; import type { DirectCallStateType, GroupCallStateType, } from '../state/ducks/calling'; export function isGroupOrAdhocActiveCall( activeCall: ActiveCallType | undefined ): activeCall is ActiveGroupCallType { return Boolean(activeCall && isGroupOrAdhocCallMode(activeCall.callMode)); } export function isGroupOrAdhocCallMode( callMode: CallMode | undefined | null ): callMode is CallMode.Group | CallMode.Adhoc { return callMode === CallMode.Group || callMode === CallMode.Adhoc; } export function isGroupOrAdhocCallState( callState: DirectCallStateType | GroupCallStateType | undefined ): callState is GroupCallStateType { return Boolean( callState && (callState.callMode === CallMode.Group || callState.callMode === CallMode.Adhoc) ); }