Speaking indicator for group calls
Co-authored-by: Peter Thatcher <peter@signal.org> Co-authored-by: Jim Gustafson <jim@signal.org> Co-authored-by: Josh Perez <60019601+josh-signal@users.noreply.github.com>
This commit is contained in:
parent
cb5131420f
commit
5ce26eb91a
35 changed files with 482 additions and 42 deletions
|
@ -1,6 +1,8 @@
|
|||
// Copyright 2021 Signal Messenger, LLC
|
||||
// Copyright 2021-2022 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { every } from './iterables';
|
||||
|
||||
const add = <T>(set: Readonly<Set<T>>, item: T): Set<T> =>
|
||||
new Set(set).add(item);
|
||||
|
||||
|
@ -20,3 +22,8 @@ export const toggle = <T>(
|
|||
item: Readonly<T>,
|
||||
shouldInclude: boolean
|
||||
): Set<T> => (shouldInclude ? add : remove)(set, item);
|
||||
|
||||
export const isEqual = (
|
||||
a: Readonly<Set<unknown>>,
|
||||
b: Readonly<Set<unknown>>
|
||||
): boolean => a === b || (a.size === b.size && every(a, item => b.has(item)));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue