Open
Description
I've had to write this instead which is a bit wild... what am I doing wrong?
func ToStringSlice(input []interface{}) ([]string, error) {
out := make([]string, len(input))
for i, val := range input {
str, ok := val.(string)
if !ok {
return nil, fmt.Errorf("element at index %d is not a string", i)
}
out[i] = str
}
return out, nil
}
func MustStringSlice(v interface{}) ([]string, error) {
raw, ok := v.([]interface{})
if !ok {
return nil, fmt.Errorf("expected []interface{}, got %T", v)
}
return ToStringSlice(raw)
}
"AddTags": func(hashes []interface{}, tags string) error {
h, _ := exprutil.MustStringSlice(hashes)
return c.Client.AddTagsCtx(ctx, h, tags)
},
Query:
{"level":"trace","program":"test-program","query":"let tor = Imp.GetTorrents(nil); Imp.AddTags(map(filter(tor, .Name contains `The.Clams`), .Hash), `yams`)","error":"reflect: Call using []interface {} as type []string (1:37)\n | let tor = Imp.GetTorrents(nil); Imp.AddTags(map(filter(tor, .Name contains `The.Clams`), .Hash), `yams`)\n | ....................................^","time":1747295553,"message":"expr completed: <nil>"}
What I expected to work...
let tor = Imp.GetTorrents(nil);
Imp.AddTags(map(filter(tor, .Name contains `The.Clams`), string(.Hash)), `yams`)
Metadata
Metadata
Assignees
Labels
No labels