// Code generated by github.com/infraboard/mcube/v2 // DO NOT EDIT package resource import ( "bytes" "fmt" "strings" ) // ParseVENDORFromString Parse VENDOR from string func ParseVENDORFromString(str string) (VENDOR, error) { key := strings.Trim(string(str), `"`) v, ok := VENDOR_value[strings.ToUpper(key)] if !ok { return 0, fmt.Errorf("unknown VENDOR: %s", str) } return VENDOR(v), nil } // Equal type compare func (t VENDOR) Equal(target VENDOR) bool { return t == target } // IsIn todo func (t VENDOR) IsIn(targets ...VENDOR) bool { for _, target := range targets { if t.Equal(target) { return true } } return false } // MarshalJSON todo func (t VENDOR) MarshalJSON() ([]byte, error) { b := bytes.NewBufferString(`"`) b.WriteString(strings.ToUpper(t.String())) b.WriteString(`"`) return b.Bytes(), nil } // UnmarshalJSON todo func (t *VENDOR) UnmarshalJSON(b []byte) error { ins, err := ParseVENDORFromString(string(b)) if err != nil { return err } *t = ins return nil } // ParseTYPEFromString Parse TYPE from string func ParseTYPEFromString(str string) (TYPE, error) { key := strings.Trim(string(str), `"`) v, ok := TYPE_value[strings.ToUpper(key)] if !ok { return 0, fmt.Errorf("unknown TYPE: %s", str) } return TYPE(v), nil } // Equal type compare func (t TYPE) Equal(target TYPE) bool { return t == target } // IsIn todo func (t TYPE) IsIn(targets ...TYPE) bool { for _, target := range targets { if t.Equal(target) { return true } } return false } // MarshalJSON todo func (t TYPE) MarshalJSON() ([]byte, error) { b := bytes.NewBufferString(`"`) b.WriteString(strings.ToUpper(t.String())) b.WriteString(`"`) return b.Bytes(), nil } // UnmarshalJSON todo func (t *TYPE) UnmarshalJSON(b []byte) error { ins, err := ParseTYPEFromString(string(b)) if err != nil { return err } *t = ins return nil }