overlayVars refactor
This commit is contained in:
parent
63dbaf0935
commit
d06e395e8d
1 changed files with 5 additions and 8 deletions
|
|
@ -210,18 +210,15 @@ func (c *compiler) overlayVars(base, overlay *Map) {
|
||||||
if vars == nil {
|
if vars == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
vars = vars.Copy(base).(*Field)
|
||||||
|
|
||||||
baseVars := base.GetField("vars")
|
baseVars := base.GetField("vars")
|
||||||
|
if baseVars != nil {
|
||||||
if baseVars == nil {
|
OverlayMap(vars.Map(), baseVars.Map())
|
||||||
baseVars = vars.Copy(base).(*Field)
|
|
||||||
base.Fields = append(base.Fields, baseVars)
|
|
||||||
} else {
|
|
||||||
overlayed := vars.Copy(base).(*Field)
|
|
||||||
OverlayMap(overlayed.Map(), baseVars.Map())
|
|
||||||
base.DeleteField("vars")
|
base.DeleteField("vars")
|
||||||
base.Fields = append(base.Fields, overlayed)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
base.Fields = append(base.Fields, vars)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *compiler) overlay(base *Map, f *Field) {
|
func (c *compiler) overlay(base *Map, f *Field) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue