package feed //go:generate stringer -linecomment -type=NodeOp import ( "encoding/json" "fmt" ) // Node boolean operator. type NodeOp byte const ( OrOp NodeOp = iota // OR AndOp // AND ) // Unmarshal DataVersion from JSON. func (me *NodeOp) 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 "AND": *me = AndOp case "OR": *me = OrOp default: // return error return fmt.Errorf("unknown operator: %s", s) } // return success return nil }