reverseRecordsDiff
Creates the inverse of a RecordsDiff, effectively reversing all changes. Added records become removed, removed records become added, and updated records have their from/to values swapped. This is useful for implementing undo operations.
function reverseRecordsDiff(diff: RecordsDiff<any>): RecordsDiff<any>;Example
const originalDiff: RecordsDiff<Book> = {
added: { "book:1": newBook },
updated: { "book:2": [oldBook, updatedBook] },
removed: { "book:3": deletedBook },
};
const reversedDiff = reverseRecordsDiff(originalDiff);
// Result: {
// added: { 'book:3': deletedBook },
// updated: { 'book:2': [updatedBook, oldBook] },
// removed: { 'book:1': newBook }
// }Parameters
| Name | Description |
|---|---|
| The diff to reverse |
Returns
RecordsDiff<any>;A new RecordsDiff that represents the inverse of the input diff
Prev
isRecordsDiffEmptyNext
squashRecordDiffs