| 99 | } |
| 100 | |
| 101 | func (p *Param) Compose(prefix string) string { |
| 102 | val := p.Example |
| 103 | if p.Docker != nil { |
| 104 | val = p.Docker |
| 105 | } else if val == nil { |
| 106 | val = p.Default |
| 107 | } |
| 108 | |
| 109 | switch p.Kind { |
| 110 | default: |
| 111 | return fmt.Sprint(prefix, p.EnvVar, "=", val, "\n") |
| 112 | case list: |
| 113 | var out strings.Builder |
| 114 | |
| 115 | for idx, sv := range val.([]any) { //nolint:forcetypeassert |
| 116 | fmt.Fprint(&out, prefix, p.EnvVar, idx, "=", sv, "\n") |
| 117 | } |
| 118 | |
| 119 | return out.String() |
| 120 | case "conlist": |
| 121 | var out strings.Builder |
| 122 | |
| 123 | for _, sv := range val.([]any) { //nolint:forcetypeassert |
| 124 | fmt.Fprint(&out, sv) |
| 125 | } |
| 126 | |
| 127 | return fmt.Sprint(prefix, p.EnvVar, "=", out.String(), "\n") |
| 128 | } |
| 129 | } |