mirror of
https://github.com/edoardottt/cariddi.git
synced 2026-08-20 14:42:31 +02:00
27 lines
485 B
Go
27 lines
485 B
Go
package input
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
|
|
sliceUtils "github.com/edoardottt/cariddi/internal/slice"
|
|
)
|
|
|
|
// StringSlice is a custom flag type for []string.
|
|
type StringSlice []string
|
|
|
|
func (s *StringSlice) String() string {
|
|
return fmt.Sprint(*s)
|
|
}
|
|
|
|
func (s *StringSlice) Set(value string) error {
|
|
parts := strings.Split(value, ",")
|
|
for _, part := range parts {
|
|
*s = append(*s, strings.ToLower(strings.TrimSpace(part)))
|
|
}
|
|
|
|
*s = sliceUtils.RemoveDuplicateValues(*s)
|
|
|
|
return nil
|
|
}
|