package feed //go:generate stringer -linecomment -type=V3Version import ( "encoding/json" "fmt" ) // CVSS v3 version type V3Version byte const ( V30 V3Version = iota // 3.0 V31 // 3.1 ) // Unmarshal CVSS V3 version from JSON. func (me *V3Version) UnmarshalJSON(b []byte) error { // decode string, check for error var s string if err := json.Unmarshal(b, &s); err != nil { return err } // check value switch s { case "3.0": *me = V30 case "3.1": *me = V31 default: // return error return fmt.Errorf("unknown CVSS version: %s", s) } // return success return nil }