Files
Desktop/ts/util/isGroupOrAdhocCall.std.ts
Fedor Indutny 44076ece79 Rename files
2025-10-16 23:45:44 -07:00

35 lines
1020 B
TypeScript

// Copyright 2024 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import { CallMode } from '../types/CallDisposition.std.js';
import type {
ActiveCallType,
ActiveGroupCallType,
} from '../types/Calling.std.js';
import type {
DirectCallStateType,
GroupCallStateType,
} from '../state/ducks/calling.preload.js';
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)
);
}