mirror of
https://github.com/mikefarah/yq.git
synced 2026-06-28 16:07:46 +00:00
Merge 2a99e55756 into 8e2c9b612d
This commit is contained in:
commit
c7fef31cb8
@ -183,7 +183,9 @@ func fixedReconstructAliasedMap(node *CandidateNode) error {
|
||||
})
|
||||
|
||||
for _, item := range itemsToAdd {
|
||||
newContent = append(newContent, item.Copy())
|
||||
copied := item.Copy()
|
||||
copied.Parent = node
|
||||
newContent = append(newContent, copied)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -226,8 +228,12 @@ func reconstructAliasedMap(node *CandidateNode, context Context) error {
|
||||
}
|
||||
}
|
||||
node.Content = make([]*CandidateNode, 0)
|
||||
entries := make([]*CandidateNode, 0, newContent.Len())
|
||||
for newEl := newContent.Front(); newEl != nil; newEl = newEl.Next() {
|
||||
node.AddChild(newEl.Value.(*CandidateNode))
|
||||
entries = append(entries, newEl.Value.(*CandidateNode))
|
||||
}
|
||||
for i := 0; i < len(entries); i += 2 {
|
||||
node.AddKeyValueChild(entries[i], entries[i+1])
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
@ -234,6 +234,29 @@ var fixedAnchorOperatorScenarios = []expressionScenario{
|
||||
"D0, P[], (!!map)::a:\n b: 42\nb: 42\n",
|
||||
},
|
||||
},
|
||||
{
|
||||
skipDoc: true,
|
||||
description: "Merge after explode preserves correct parent references",
|
||||
document: `opensearch: &opensearch-cluster
|
||||
ip2geo:
|
||||
enabled: false
|
||||
|
||||
opensearch-client:
|
||||
<<: *opensearch-cluster
|
||||
nodeGroup: client
|
||||
opensearchJavaOpts: "-Xmx1024m -Xms1024m"`,
|
||||
document2: `opensearch: &opensearch-cluster
|
||||
ip2geo:
|
||||
enabled: true
|
||||
|
||||
opensearch-client:
|
||||
<<: *opensearch-cluster
|
||||
opensearchJavaOpts: "-Xmx1536m -Xms1536m"`,
|
||||
expression: `(select(fi == 0) | explode(.)) * (select(fi == 1) | explode(.))`,
|
||||
expected: []string{
|
||||
"D0, P[], (!!map)::opensearch:\n ip2geo:\n enabled: true\nopensearch-client:\n ip2geo:\n enabled: true\n nodeGroup: client\n opensearchJavaOpts: \"-Xmx1536m -Xms1536m\"\n",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
var badAnchorOperatorScenarios = []expressionScenario{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user