overlayVars refactor

This commit is contained in:
Alexander Wang 2023-07-12 10:27:32 -07:00
parent 63dbaf0935
commit d06e395e8d
No known key found for this signature in database
GPG key ID: D89FA31966BDBECE

View file

@ -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) {