package feed //go:generate stringer -linecomment -type=DataVersion import ( "encoding/json" "fmt" ) // Data version for NVD feeds and feed items. type DataVersion byte const ( V40 DataVersion = iota // 4.0 ) // Unmarshal data version from JSON. func (me *DataVersion) 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 "4.0": *me = V40 default: // return error return fmt.Errorf("unknown data version: %s", s) } // return success return nil }