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 {
return
}
vars = vars.Copy(base).(*Field)
baseVars := base.GetField("vars")
if baseVars == nil {
baseVars = vars.Copy(base).(*Field)
base.Fields = append(base.Fields, baseVars)
} else {
overlayed := vars.Copy(base).(*Field)
OverlayMap(overlayed.Map(), baseVars.Map())
if baseVars != nil {
OverlayMap(vars.Map(), baseVars.Map())
base.DeleteField("vars")
base.Fields = append(base.Fields, overlayed)
}
base.Fields = append(base.Fields, vars)
}
func (c *compiler) overlay(base *Map, f *Field) {