From c095b9232dfd6631f0ce02ba1cb5ff35909153d8 Mon Sep 17 00:00:00 2001 From: Tariq Ibrahim Date: Wed, 28 Nov 2018 15:19:26 -0800 Subject: [PATCH] avoid kubernetes import for slice contains logic (#4963) * avoid kubernetes import for slice contains logic Signed-off-by: tariqibrahim * fix review comments Signed-off-by: tariqibrahim --- cmd/helm/inspect.go | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/cmd/helm/inspect.go b/cmd/helm/inspect.go index c1861f7c5..844116bc5 100644 --- a/cmd/helm/inspect.go +++ b/cmd/helm/inspect.go @@ -18,15 +18,13 @@ package main import ( "fmt" - "io" - "strings" - "github.com/ghodss/yaml" "github.com/golang/protobuf/ptypes/any" "github.com/spf13/cobra" + "io" + "strings" "k8s.io/helm/pkg/chartutil" - "k8s.io/kubernetes/pkg/util/slice" ) const inspectDesc = ` @@ -256,9 +254,23 @@ func (i *inspectCmd) run() error { func findReadme(files []*any.Any) (file *any.Any) { for _, file := range files { - if slice.ContainsString(readmeFileNames, strings.ToLower(file.TypeUrl), nil) { + if containsString(readmeFileNames, strings.ToLower(file.TypeUrl), nil) { return file } } return nil } + +// containsString checks if a given slice of strings contains the provided string. +// If a modifier func is provided, it is called with the slice item before the comparison. +func containsString(slice []string, s string, modifier func(s string) string) bool { + for _, item := range slice { + if item == s { + return true + } + if modifier != nil && modifier(item) == s { + return true + } + } + return false +}