github.com/aquasecurity/trivy-iac@v0.8.1-0.20240127024015-3d8e412cf0ab/pkg/scanners/azure/arm/parser/armjson/decode_string.go (about)

     1  package armjson
     2  
     3  import (
     4  	"fmt"
     5  	"reflect"
     6  )
     7  
     8  func (n *node) decodeString(v reflect.Value) error {
     9  
    10  	switch v.Kind() {
    11  	case reflect.String:
    12  		v.SetString(n.raw.(string))
    13  	case reflect.Interface:
    14  		v.Set(reflect.ValueOf(n.raw))
    15  	default:
    16  		return fmt.Errorf("cannot decode string value to non-string target: %s", v.Kind())
    17  	}
    18  	return nil
    19  }