in pkg/asset/asset.go [54:74]
func ConvertResourceViaJSONToInterface(asset *validator.Asset) (interface{}, error) {
if asset == nil {
return nil, nil
}
m := &protojson.MarshalOptions{
UseProtoNames: true,
}
if asset.Resource != nil {
CleanStructValue(asset.Resource.Data)
}
glog.V(logRequestsVerboseLevel).Infof("converting asset to golang interface: %v", asset)
buf, err := m.Marshal(asset)
if err != nil {
return nil, errors.Wrapf(err, "marshalling to json with asset %s: %v", asset.Name, asset)
}
var f interface{}
if err := json.Unmarshal(buf, &f); err != nil {
return nil, errors.Wrapf(err, "marshalling from json with asset %s: %v", asset.Name, asset)
}
return f, nil
}