Share sequence history construction

This commit is contained in:
2026-10-25 23:09:41 +00:00
parent d172a5e46a
commit 1dd94a3cc6
5 changed files with 44 additions and 34 deletions

View File

@@ -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
}