FormatResolvedValue formats a resolved import input value for textual substitution. []any/map[string]any and typed slices/maps are normalized and JSON-marshaled, nil returns ("", false), and scalars use fmt.Sprintf("%v", v).
(value any)
| 40 | // substitution. []any/map[string]any and typed slices/maps are normalized and |
| 41 | // JSON-marshaled, nil returns ("", false), and scalars use fmt.Sprintf("%v", v). |
| 42 | func FormatResolvedValue(value any) (string, bool) { |
| 43 | switch v := value.(type) { |
| 44 | case []any: |
| 45 | return marshalValue(v) |
| 46 | case map[string]any: |
| 47 | return marshalValue(v) |
| 48 | case nil: |
| 49 | importInputLog.Print("FormatResolvedValue: nil value, no substitution") |
| 50 | return "", false |
| 51 | default: |
| 52 | return formatReflectiveValue(v) |
| 53 | } |
| 54 | } |
| 55 | |
| 56 | func formatReflectiveValue(value any) (string, bool) { |
| 57 | rv := reflect.ValueOf(value) |