reverseRecordsDiff
See source codeCreates 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