Project managers, board members, auto-update after reconnection, refactoring

This commit is contained in:
Maksim Eltyshev
2021-06-24 01:05:22 +05:00
parent 7956503a46
commit fe91b5241e
478 changed files with 21226 additions and 19495 deletions

View File

@@ -0,0 +1,27 @@
const mergeRecords = (target, ...sources) => {
if (sources.length === 0) {
return target;
}
const source = sources.shift();
if (!target || !source) {
return mergeRecords(target || source, ...sources);
}
const nextTarget = [...target];
source.forEach((sourceRecord) => {
const index = nextTarget.findIndex((targetRecord) => targetRecord.id === sourceRecord.id);
if (index >= 0) {
Object.assign(nextTarget[index], sourceRecord);
} else {
nextTarget.push(sourceRecord);
}
});
return mergeRecords(nextTarget, ...sources);
};
export default mergeRecords;