Replace shouldDiffDescendants
with elementsAreRelated
#3011
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.
Description
Remove
shouldDiffDescendants
option in favour ofelementsAreRelated
.The
elementsAreRelated
option controls whethercomputeDiff
treats a given pair of elements as "related" and thus tries to diff them. By default, elements are related if they have the samechildren
OR they differ only in theirchildren
. Return null to use the default logic for a pair of elements.Use case: In addition to supporting the same use case as the deprecated
shouldDiffDescendants
,elementsAreRelated
can be used to ensure thatcomputeDiff
compares the correct pair of paragraphs.For example, by default,
computeDiff
would compareMy slightly modified paragraph.
withNew paragraph
in the following diff.If a custom
elementsAreRelated
function is provided that returns true for mostly similar paragraphs,computeDiff
would instead compareMy slightly modified paragraph.
withMy slightly modified paragraph!
.