package entity type KindBoxStatus uint const ( KindBoxPendingSendStatus KindBoxStatus = iota + 1 KindBoxSentStatus KindBoxPendingReceivedStatus KindBoxReceivedStatus KindBoxEnumeratedStatus ) var kindBoxStatusStrings = map[KindBoxStatus]string{ KindBoxPendingSendStatus: "pending-send", KindBoxSentStatus: "sent", KindBoxPendingReceivedStatus: "pending-received", KindBoxReceivedStatus: "received", KindBoxEnumeratedStatus: "enumerated", } func (s KindBoxStatus) String() string { return kindBoxStatusStrings[s] } // AllKindBoxStatus returns a slice containing all string values of KindBoxStatus. func AllKindBoxStatus() []string { statusStrings := make([]string, len(kindBoxStatusStrings)) for status, str := range kindBoxStatusStrings { statusStrings[int(status)-1] = str } return statusStrings } // MapToKindBoxStatus converts a string to the corresponding KindBoxStatus value. func MapToKindBoxStatus(statusStr string) KindBoxStatus { for status, str := range kindBoxStatusStrings { if str == statusStr { return status } } return KindBoxStatus(0) }