(expr string, input interface{})
| 22 | } |
| 23 | |
| 24 | func List(expr string, input interface{}) []string { |
| 25 | var result []string |
| 26 | app := func(v string) { |
| 27 | result = append(result, v) |
| 28 | } |
| 29 | |
| 30 | path := strings.Split(expr, ".") |
| 31 | val := reflect.ValueOf(input) |
| 32 | |
| 33 | extract(app, path, val) |
| 34 | return result |
| 35 | } |
| 36 | |
| 37 | func extract(app appender, path []string, input reflect.Value) { |
| 38 | switch input.Kind() { |
no test coverage detected