diff options
Diffstat (limited to 'cmd/filter.go')
| -rw-r--r-- | cmd/filter.go | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/cmd/filter.go b/cmd/filter.go deleted file mode 100644 index 9d8ccac..0000000 --- a/cmd/filter.go +++ /dev/null @@ -1,49 +0,0 @@ -package cmd - -import ( - "fmt" -) - -type Filter struct { - name string - action func(string) string - subfilters []Filter -} - -type Greeter interface { - Greet() -} - -type Filterer interface { - Greeter - Filter(string) string -} - -func (f Filter) Greet() { - subfilterCount := len(f.subfilters) - - fmt.Printf("I am a filter and my name is %v\n", f.name) - if subfilterCount > 0 { - fmt.Println("My subfilters are:") - - for _, subfilter := range f.subfilters { - fmt.Printf("- %v\n", subfilter.name) - } - } -} - -func (f Filter) Filter(token string) (modifiedToken string) { - subfilterCount := len(f.subfilters) - modifiedToken = token - - if subfilterCount > 0 { - for _, subfilter := range f.subfilters { - modifiedToken = subfilter.action(modifiedToken) - } - - return modifiedToken - } - - modifiedToken = f.action(token) - return modifiedToken -} |
