This repository has been archived by the owner on Dec 19, 2022. It is now read-only.
forked from leominov/gitlab-project-settings
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaccess_enumer.go
102 lines (89 loc) · 2.18 KB
/
access_enumer.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
// Code generated by "enumer -type=Access -yaml"; DO NOT EDIT.
//
package main
import (
"fmt"
)
const (
_AccessName_0 = "NoAccess"
_AccessName_1 = "Guest"
_AccessName_2 = "Reporter"
_AccessName_3 = "Developer"
_AccessName_4 = "Maintainer"
_AccessName_5 = "Owner"
_AccessName_6 = "Admin"
)
var (
_AccessIndex_0 = [...]uint8{0, 8}
_AccessIndex_1 = [...]uint8{0, 5}
_AccessIndex_2 = [...]uint8{0, 8}
_AccessIndex_3 = [...]uint8{0, 9}
_AccessIndex_4 = [...]uint8{0, 10}
_AccessIndex_5 = [...]uint8{0, 5}
_AccessIndex_6 = [...]uint8{0, 5}
)
func (i Access) String() string {
switch {
case i == 0:
return _AccessName_0
case i == 10:
return _AccessName_1
case i == 20:
return _AccessName_2
case i == 30:
return _AccessName_3
case i == 40:
return _AccessName_4
case i == 50:
return _AccessName_5
case i == 60:
return _AccessName_6
default:
return fmt.Sprintf("Access(%d)", i)
}
}
var _AccessValues = []Access{0, 10, 20, 30, 40, 50, 60}
var _AccessNameToValueMap = map[string]Access{
_AccessName_0[0:8]: 0,
_AccessName_1[0:5]: 10,
_AccessName_2[0:8]: 20,
_AccessName_3[0:9]: 30,
_AccessName_4[0:10]: 40,
_AccessName_5[0:5]: 50,
_AccessName_6[0:5]: 60,
}
// AccessString retrieves an enum value from the enum constants string name.
// Throws an error if the param is not part of the enum.
func AccessString(s string) (Access, error) {
if val, ok := _AccessNameToValueMap[s]; ok {
return val, nil
}
return 0, fmt.Errorf("%s does not belong to Access values", s)
}
// AccessValues returns all values of the enum
func AccessValues() []Access {
return _AccessValues
}
// IsAAccess returns "true" if the value is listed in the enum definition. "false" otherwise
func (i Access) IsAAccess() bool {
for _, v := range _AccessValues {
if i == v {
return true
}
}
return false
}
// MarshalYAML implements a YAML Marshaler for Access
func (i Access) MarshalYAML() (interface{}, error) {
return i.String(), nil
}
// UnmarshalYAML implements a YAML Unmarshaler for Access
func (i *Access) UnmarshalYAML(unmarshal func(interface{}) error) error {
var s string
if err := unmarshal(&s); err != nil {
return err
}
var err error
*i, err = AccessString(s)
return err
}