INNER CODE UNIT · Go
isJSON
itaysk/kubectl-neat · cmd/cmd.go:144
func isJSON(s []byte) bool {
return bytes.HasPrefix(bytes.TrimLeftFunc(s, unicode.IsSpace), []byte{'{'})
}
// NeatYAMLOrJSON converts 'in' to json if needed, invokes neat, and converts back if needed according the the outputFormat argument: yaml/json/same
func NeatYAMLOrJSON(in []byte, outputFormat string) (out []byte, err error) {
var injson, outjson string
itsYaml := !isJSON(in)
if itsYaml {
injsonbytes, err := yaml.YAMLToJSON(in)
if err != nil {
return nil, fmt.Errorf("error converting from yaml to json : %v", err)
}
injson = string(injsonbytes)
} else {
injson = string(in)
}