// Code generated by "enumer -type=Kind -trimprefix=Kind -json"; DO NOT EDIT. package zerrors import ( "encoding/json" "fmt" "strings" ) const _KindName = "CanceledUnknownInvalidArgumentDeadlineExceededNotFoundAlreadyExistsPermissionDeniedResourceExhaustedPreconditionFailedAbortedOutOfRangeUnimplementedInternalUnavailableDataLossUnauthenticated" var _KindIndex = [...]uint8{0, 8, 15, 30, 46, 54, 67, 83, 100, 118, 125, 135, 148, 156, 167, 175, 190} const _KindLowerName = "canceledunknowninvalidargumentdeadlineexceedednotfoundalreadyexistspermissiondeniedresourceexhaustedpreconditionfailedabortedoutofrangeunimplementedinternalunavailabledatalossunauthenticated" func (i Kind) String() string { i -= 1 if i < 0 || i >= Kind(len(_KindIndex)-1) { return fmt.Sprintf("Kind(%d)", i+1) } return _KindName[_KindIndex[i]:_KindIndex[i+1]] } // An "invalid array index" compiler error signifies that the constant values have changed. // Re-run the stringer command to generate them again. func _KindNoOp() { var x [1]struct{} _ = x[KindCanceled-(1)] _ = x[KindUnknown-(2)] _ = x[KindInvalidArgument-(3)] _ = x[KindDeadlineExceeded-(4)] _ = x[KindNotFound-(5)] _ = x[KindAlreadyExists-(6)] _ = x[KindPermissionDenied-(7)] _ = x[KindResourceExhausted-(8)] _ = x[KindPreconditionFailed-(9)] _ = x[KindAborted-(10)] _ = x[KindOutOfRange-(11)] _ = x[KindUnimplemented-(12)] _ = x[KindInternal-(13)] _ = x[KindUnavailable-(14)] _ = x[KindDataLoss-(15)] _ = x[KindUnauthenticated-(16)] } var _KindValues = []Kind{KindCanceled, KindUnknown, KindInvalidArgument, KindDeadlineExceeded, KindNotFound, KindAlreadyExists, KindPermissionDenied, KindResourceExhausted, KindPreconditionFailed, KindAborted, KindOutOfRange, KindUnimplemented, KindInternal, KindUnavailable, KindDataLoss, KindUnauthenticated} var _KindNameToValueMap = map[string]Kind{ _KindName[0:8]: KindCanceled, _KindLowerName[0:8]: KindCanceled, _KindName[8:15]: KindUnknown, _KindLowerName[8:15]: KindUnknown, _KindName[15:30]: KindInvalidArgument, _KindLowerName[15:30]: KindInvalidArgument, _KindName[30:46]: KindDeadlineExceeded, _KindLowerName[30:46]: KindDeadlineExceeded, _KindName[46:54]: KindNotFound, _KindLowerName[46:54]: KindNotFound, _KindName[54:67]: KindAlreadyExists, _KindLowerName[54:67]: KindAlreadyExists, _KindName[67:83]: KindPermissionDenied, _KindLowerName[67:83]: KindPermissionDenied, _KindName[83:100]: KindResourceExhausted, _KindLowerName[83:100]: KindResourceExhausted, _KindName[100:118]: KindPreconditionFailed, _KindLowerName[100:118]: KindPreconditionFailed, _KindName[118:125]: KindAborted, _KindLowerName[118:125]: KindAborted, _KindName[125:135]: KindOutOfRange, _KindLowerName[125:135]: KindOutOfRange, _KindName[135:148]: KindUnimplemented, _KindLowerName[135:148]: KindUnimplemented, _KindName[148:156]: KindInternal, _KindLowerName[148:156]: KindInternal, _KindName[156:167]: KindUnavailable, _KindLowerName[156:167]: KindUnavailable, _KindName[167:175]: KindDataLoss, _KindLowerName[167:175]: KindDataLoss, _KindName[175:190]: KindUnauthenticated, _KindLowerName[175:190]: KindUnauthenticated, } var _KindNames = []string{ _KindName[0:8], _KindName[8:15], _KindName[15:30], _KindName[30:46], _KindName[46:54], _KindName[54:67], _KindName[67:83], _KindName[83:100], _KindName[100:118], _KindName[118:125], _KindName[125:135], _KindName[135:148], _KindName[148:156], _KindName[156:167], _KindName[167:175], _KindName[175:190], } // KindString retrieves an enum value from the enum constants string name. // Throws an error if the param is not part of the enum. func KindString(s string) (Kind, error) { if val, ok := _KindNameToValueMap[s]; ok { return val, nil } if val, ok := _KindNameToValueMap[strings.ToLower(s)]; ok { return val, nil } return 0, fmt.Errorf("%s does not belong to Kind values", s) } // KindValues returns all values of the enum func KindValues() []Kind { return _KindValues } // KindStrings returns a slice of all String values of the enum func KindStrings() []string { strs := make([]string, len(_KindNames)) copy(strs, _KindNames) return strs } // IsAKind returns "true" if the value is listed in the enum definition. "false" otherwise func (i Kind) IsAKind() bool { for _, v := range _KindValues { if i == v { return true } } return false } // MarshalJSON implements the json.Marshaler interface for Kind func (i Kind) MarshalJSON() ([]byte, error) { return json.Marshal(i.String()) } // UnmarshalJSON implements the json.Unmarshaler interface for Kind func (i *Kind) UnmarshalJSON(data []byte) error { var s string if err := json.Unmarshal(data, &s); err != nil { return fmt.Errorf("Kind should be a string, got %s", data) } var err error *i, err = KindString(s) return err }