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  }