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

@@ -85,17 +85,9 @@ func combineInheritanceTemplate(
result.replacements = append(result.replacements, applyInheritanceSequenceOrigins(
mergedOrigins, child.origins, childPath, lowerValue, incoming, combined, resolution.operation,
)...)
history := sequenceHistoryContribution{path: childPath.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...)
}
sequenceContributions = append(sequenceContributions, history)
sequenceContributions = append(sequenceContributions, sequenceHistoryContributionForCombination(
childPath, resolution.operation, incoming, combined,
))
return combined.value, true
},
})