Storage Service: Fetch updates on any group record merge
This commit is contained in:
parent
a527b88867
commit
85cf445924
6 changed files with 153 additions and 97 deletions
26
ts/util/diffArraysAsSets.ts
Normal file
26
ts/util/diffArraysAsSets.ts
Normal file
|
@ -0,0 +1,26 @@
|
|||
// Copyright 2020 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
export function diffArraysAsSets<T>(
|
||||
starting: Array<T>,
|
||||
current: Array<T>
|
||||
): { added: Array<T>; removed: Array<T> } {
|
||||
const startingSet = new Set(starting);
|
||||
const currentSet = new Set(current);
|
||||
|
||||
const removed = [];
|
||||
for (const item of startingSet) {
|
||||
if (!currentSet.has(item)) {
|
||||
removed.push(item);
|
||||
}
|
||||
}
|
||||
|
||||
const added = [];
|
||||
for (const item of currentSet) {
|
||||
if (!startingSet.has(item)) {
|
||||
added.push(item);
|
||||
}
|
||||
}
|
||||
|
||||
return { added, removed };
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue