mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-10 16:42:51 +00:00
Add copy method to VarSet
This commit is contained in:
@@ -39,7 +39,7 @@ func (ra *ResAccumulator) ResMap() resmap.ResMap {
|
|||||||
|
|
||||||
// Vars returns a copy of underlying vars.
|
// Vars returns a copy of underlying vars.
|
||||||
func (ra *ResAccumulator) Vars() []types.Var {
|
func (ra *ResAccumulator) Vars() []types.Var {
|
||||||
return ra.varSet.Set()
|
return ra.varSet.AsSlice()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ra *ResAccumulator) AppendAll(
|
func (ra *ResAccumulator) AppendAll(
|
||||||
@@ -75,7 +75,7 @@ func (ra *ResAccumulator) MergeAccumulator(other *ResAccumulator) (err error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return ra.varSet.MergeSet(&other.varSet)
|
return ra.varSet.MergeSet(other.varSet)
|
||||||
}
|
}
|
||||||
|
|
||||||
// makeVarReplacementMap returns a map of Var names to
|
// makeVarReplacementMap returns a map of Var names to
|
||||||
|
|||||||
@@ -75,15 +75,20 @@ type VarSet struct {
|
|||||||
set []Var
|
set []Var
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set returns a copy of the var set.
|
// AsSlice returns the vars as a slice.
|
||||||
func (vs *VarSet) Set() []Var {
|
func (vs *VarSet) AsSlice() []Var {
|
||||||
s := make([]Var, len(vs.set))
|
s := make([]Var, len(vs.set))
|
||||||
copy(s, vs.set)
|
copy(s, vs.set)
|
||||||
return s
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Copy returns a copy of the var set.
|
||||||
|
func (vs *VarSet) Copy() VarSet {
|
||||||
|
return VarSet{set: vs.AsSlice()}
|
||||||
|
}
|
||||||
|
|
||||||
// MergeSet absorbs other vars with error on name collision.
|
// MergeSet absorbs other vars with error on name collision.
|
||||||
func (vs *VarSet) MergeSet(incoming *VarSet) error {
|
func (vs *VarSet) MergeSet(incoming VarSet) error {
|
||||||
return vs.MergeSlice(incoming.set)
|
return vs.MergeSlice(incoming.set)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ func TestDefaulting(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestVarSet(t *testing.T) {
|
func TestVarSet(t *testing.T) {
|
||||||
set := &VarSet{}
|
set := VarSet{}
|
||||||
vars := []Var{
|
vars := []Var{
|
||||||
{
|
{
|
||||||
Name: "SHELLVARS",
|
Name: "SHELLVARS",
|
||||||
@@ -120,10 +120,10 @@ func TestVarSet(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for _, v := range vars {
|
for _, v := range vars {
|
||||||
if !set.Contains(v) {
|
if !set.Contains(v) {
|
||||||
t.Fatalf("set %v should contain var %v", set.Set(), v)
|
t.Fatalf("set %v should contain var %v", set.AsSlice(), v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
set2 := &VarSet{}
|
set2 := VarSet{}
|
||||||
err = set2.MergeSet(set)
|
err = set2.MergeSet(set)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("unexpected err: %v", err)
|
t.Fatalf("unexpected err: %v", err)
|
||||||
@@ -144,7 +144,7 @@ func TestVarSet(t *testing.T) {
|
|||||||
t.Fatalf("unexpected field path: %v", v.FieldRef.FieldPath)
|
t.Fatalf("unexpected field path: %v", v.FieldRef.FieldPath)
|
||||||
}
|
}
|
||||||
// Confirm sorting.
|
// Confirm sorting.
|
||||||
names := set2.Set()
|
names := set2.AsSlice()
|
||||||
if names[0].Name != "AWARD" ||
|
if names[0].Name != "AWARD" ||
|
||||||
names[1].Name != "BACKEND" ||
|
names[1].Name != "BACKEND" ||
|
||||||
names[2].Name != "SHELLVARS" {
|
names[2].Name != "SHELLVARS" {
|
||||||
|
|||||||
Reference in New Issue
Block a user