mergeWithPrevious method
dynamic
mergeWithPrevious(
- dynamic previous,
- dynamic values
Implementation
dynamic mergeWithPrevious(dynamic previous, dynamic values) {
if (previous == null) {
return values;
}
String? previousAction = 'Set';
if (previous is Map) {
previousAction = previous['__op'];
}
if (values is Map) {
if (values['__op'] == 'Add') {
values = _mergeWithPreviousAdd(previousAction, previous, values);
} else if (values['__op'] == 'Remove') {
values = _mergeWithPreviousRemove(previousAction, previous, values);
} else if (values['__op'] == 'Increment') {
values = _mergeWithPreviousIncrement(previousAction, previous, values);
} else if (values['__op'] == 'AddUnique') {
values = _mergeWithPreviousAddUnique(previousAction, previous, values);
} else if (values['__op'] == 'AddRelation') {
values =
_mergeWithPreviousAddRelation(previousAction, previous, values);
} else if (values['__op'] == 'RemoveRelation') {
values =
_mergeWithPreviousRemoveRelation(previousAction, previous, values);
}
}
return values;
}