MCPcopy Index your code
hub / github.com/coder/coder / interfaceToString

Function interfaceToString

provisioner/terraform/tfparse/tfparse.go:578–599  ·  view source on GitHub ↗
(i interface{})

Source from the content-addressed store, hash-verified

576}
577
578func interfaceToString(i interface{}) (string, error) {
579 switch v := i.(type) {
580 case nil:
581 return "", nil
582 case string:
583 return v, nil
584 case []byte:
585 return string(v), nil
586 case int:
587 return strconv.FormatInt(int64(v), 10), nil
588 case float64:
589 return strconv.FormatFloat(v, 'f', -1, 64), nil
590 case bool:
591 return strconv.FormatBool(v), nil
592 default: // just try to JSON-encode it.
593 var sb strings.Builder
594 if err := json.NewEncoder(&sb).Encode(i); err != nil {
595 return "", xerrors.Errorf("convert %T: %w", v, err)
596 }
597 return strings.TrimSpace(sb.String()), nil
598 }
599}

Callers 1

VariableDefaultsMethod · 0.85

Calls 3

EncodeMethod · 0.80
ErrorfMethod · 0.45
StringMethod · 0.45

Tested by

no test coverage detected