Share sequence history construction
This commit is contained in:
@@ -413,6 +413,27 @@ func applySequenceHistory(target **document.Node, incoming *document.Node, contr
|
||||
}
|
||||
}
|
||||
|
||||
func sequenceHistoryContributionForCombination(
|
||||
destination Path,
|
||||
operation sequenceMode,
|
||||
incoming *document.Node,
|
||||
combined sequenceCombinationResult,
|
||||
) sequenceHistoryContribution {
|
||||
contribution := sequenceHistoryContribution{
|
||||
path: destination.clone(), mode: sequenceHistoryMapped,
|
||||
}
|
||||
if operation == sequenceModeReplace {
|
||||
contribution.mode = sequenceHistoryReplace
|
||||
if incoming != nil && incoming.Kind == document.Sequence {
|
||||
contribution.length = len(incoming.Sequence)
|
||||
}
|
||||
return contribution
|
||||
}
|
||||
contribution.items = append([]sequenceItemProjection(nil), combined.higherItems...)
|
||||
contribution.replacements = append([]sequenceItemReplacement(nil), combined.replacements...)
|
||||
return contribution
|
||||
}
|
||||
|
||||
func cloneSequenceHistoryContributions(values []sequenceHistoryContribution) []sequenceHistoryContribution {
|
||||
if values == nil {
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user