new creates a new feature flag
(key string, defaultValue *bool)
| 118 | |
| 119 | // new creates a new feature flag |
| 120 | func new(key string, defaultValue *bool) *FeatureFlag { |
| 121 | flagsMutex.Lock() |
| 122 | defer flagsMutex.Unlock() |
| 123 | |
| 124 | f := flags[key] |
| 125 | if f == nil { |
| 126 | f = &FeatureFlag{ |
| 127 | Key: key, |
| 128 | } |
| 129 | flags[key] = f |
| 130 | } |
| 131 | |
| 132 | if f.defaultValue == nil { |
| 133 | f.defaultValue = defaultValue |
| 134 | } |
| 135 | |
| 136 | return f |
| 137 | } |
| 138 | |
| 139 | // Enabled checks if the flag is enabled |
| 140 | func (f *FeatureFlag) Enabled() bool { |