package components import ( "fmt" "github.com/urfave/cli/v2" "go-micro.dev/v4/logger" ) func FilterDuplicateFlags(flags []cli.Flag) []cli.Flag { flagMap := make(map[string]cli.Flag, 0) for _, f := range flags { if _, ok := flagMap[f.Names()[0]]; !ok { flagMap[f.Names()[0]] = f } else { logger.Warn(fmt.Sprintf("Duplicated flag '%s' found", f.Names()[0])) } } result := make([]cli.Flag, len(flagMap)) i := 0 for _, f := range flagMap { result[i] = f i += 1 } return result }