Add support for specifying comparators in set ops #1367
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.
This commit adds support for specifying comparators in union,
difference, and intersection (#1339). The specification of comparators allows
for library users to specify _.isEqual for deep equality or to
specify their own methods that match a subset of paramters. It
also adds deepUnion, deepIntersection and deepDifference functions,
convienience functions that specify _.isEqual.
Under the hood, it actually allows the specification of a "contains"
function into several relevant relevant functions. This is created from
the comparator with a closure. The code to allow this a little cumbersome.
I'm open to suggestions on better methods of passing through a containment-
checking function -- one possibility would be to store the containment
function of the moment on this.
Let me know your temperature for merging these changes.