in plugins/plugins.go [202:223]
func decodeSlice(record []interface{}) ([]interface{}, error) {
for i, v := range record {
switch t := v.(type) {
case []byte:
// convert all byte slices to strings
record[i] = string(t)
case map[interface{}]interface{}:
decoded, err := DecodeMap(t)
if err != nil {
return nil, err
}
record[i] = decoded
case []interface{}:
decoded, err := decodeSlice(t)
if err != nil {
return nil, err
}
record[i] = decoded
}
}
return record, nil
}