Added deep collection equality for signal comparison #256
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.
Issue: #243
This will be a two part PR:
This adds a new utility class
DeepCollectionEquality
to thesignals_core
package. The class provides a way to compare the equality of complex data structures, such as maps, sets, and iterables, by recursively comparing their elements.The
DeepCollectionEquality
class includes:equals
method: Compares two objects for deep equality, handling maps, sets, and iterables._mapsEqual
method: Compares two maps for deep equality._iterablesEqual
method: Compares two iterables for deep equality, considering element order._setsEqual
method: Compares two sets for deep equality.Example usage:
If things look good so far, let me know where you would like to add the functionality and I can give it a go.