github.com/infraboard/keyauth@v0.8.1/common/types/types.pb_enum_generate.go (about)

     1  // Code generated by github.com/infraboard/mcube
     2  // DO NOT EDIT
     3  
     4  package types
     5  
     6  import (
     7  	"bytes"
     8  	"fmt"
     9  	"strings"
    10  )
    11  
    12  // ParseUpdateModeFromString Parse UpdateMode from string
    13  func ParseUpdateModeFromString(str string) (UpdateMode, error) {
    14  	key := strings.Trim(string(str), `"`)
    15  	v, ok := UpdateMode_value[strings.ToUpper(key)]
    16  	if !ok {
    17  		return 0, fmt.Errorf("unknown UpdateMode: %s", str)
    18  	}
    19  
    20  	return UpdateMode(v), nil
    21  }
    22  
    23  // Equal type compare
    24  func (t UpdateMode) Equal(target UpdateMode) bool {
    25  	return t == target
    26  }
    27  
    28  // IsIn todo
    29  func (t UpdateMode) IsIn(targets ...UpdateMode) bool {
    30  	for _, target := range targets {
    31  		if t.Equal(target) {
    32  			return true
    33  		}
    34  	}
    35  
    36  	return false
    37  }
    38  
    39  // MarshalJSON todo
    40  func (t UpdateMode) MarshalJSON() ([]byte, error) {
    41  	b := bytes.NewBufferString(`"`)
    42  	b.WriteString(strings.ToUpper(t.String()))
    43  	b.WriteString(`"`)
    44  	return b.Bytes(), nil
    45  }
    46  
    47  // UnmarshalJSON todo
    48  func (t *UpdateMode) UnmarshalJSON(b []byte) error {
    49  	ins, err := ParseUpdateModeFromString(string(b))
    50  	if err != nil {
    51  		return err
    52  	}
    53  	*t = ins
    54  	return nil
    55  }