diff --git a/d2plugin/exec.go b/d2plugin/exec.go index 3d2f8aef1..4a5836f35 100644 --- a/d2plugin/exec.go +++ b/d2plugin/exec.go @@ -84,6 +84,19 @@ func (p *execPlugin) HydrateOpts(opts []byte) error { allString[k] = vt case int64: allString[k] = strconv.Itoa(int(vt)) + case []interface{}: + str := make([]string, len(vt)) + for i, v := range vt { + switch vt := v.(type) { + case string: + str[i] = vt + case int64: + str[i] = strconv.Itoa(int(vt)) + case float64: + str[i] = strconv.Itoa(int(vt)) + } + } + allString[k] = strings.Join(str, ",") case []int64: str := make([]string, len(vt)) for i, v := range vt {