github.com/Cloud-Foundations/Dominator@v0.3.4/lib/filter/merge.go (about) 1 package filter 2 3 import ( 4 "github.com/Cloud-Foundations/Dominator/lib/stringutil" 5 ) 6 7 func (mf *MergeableFilter) exportFilter() *Filter { 8 if mf.filterLines == nil { 9 return nil // Sparse filter. 10 } 11 filterLines := stringutil.ConvertMapKeysToList(mf.filterLines, true) 12 return &Filter{FilterLines: filterLines} 13 } 14 15 func (mf *MergeableFilter) merge(filter *Filter) { 16 if filter == nil { 17 return // Sparse filter. 18 } 19 if mf.filterLines == nil { 20 mf.filterLines = make(map[string]struct{}, len(filter.FilterLines)) 21 } 22 for _, filterLine := range filter.FilterLines { 23 mf.filterLines[filterLine] = struct{}{} 24 } 25 }