Share sequence history construction
This commit is contained in:
@@ -274,17 +274,9 @@ func (operation *overlayMergeOperation) merge(path Path, existing, incoming *doc
|
||||
operation.incomingOrigins, operation.incomingPolicies, operation.layer,
|
||||
)
|
||||
operation.valueDestinations[path.String()] = true
|
||||
history := sequenceHistoryContribution{path: path.clone(), mode: sequenceHistoryMapped}
|
||||
if resolution.operation == sequenceModeReplace {
|
||||
history.mode = sequenceHistoryReplace
|
||||
if incoming != nil && incoming.Kind == document.Sequence {
|
||||
history.length = len(incoming.Sequence)
|
||||
}
|
||||
} else {
|
||||
history.items = append([]sequenceItemProjection(nil), combined.higherItems...)
|
||||
history.replacements = append([]sequenceItemReplacement(nil), combined.replacements...)
|
||||
}
|
||||
operation.sequenceApplications[path.String()] = history
|
||||
operation.sequenceApplications[path.String()] = sequenceHistoryContributionForCombination(
|
||||
path, resolution.operation, incoming, combined,
|
||||
)
|
||||
return combined.value, true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user