Add date comparison to replaceEqualDeep #7151
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In my project, I needed to set the
structuralSharing
function just to enable comparison of date objects. Before, there was no way of keeping the same reference for the same object, because any date property was considered different, even if it corresponded to the same date.Is there a simpler way to do this? I understand that you might not want to have
replaceEqualDeep
handle Date objects.In my project, I had to copy the whole code for
replaceEqualDeep
,isPlainArray
,isPlainObject
andhasObjectPrototype
, because the last three functions are not exposed by@tanstack/query-core
. This is a lot of copied code only to add 3 lines toreplaceEqualDeep
, I'm thinking that there should be a better way to extendreplaceEqualDeep
. Perhaps there could be a factory function that creates areplaceEqualDeep
function and accepts a callback function?