Files
mostlymatter/vendor/github.com/splitio/go-toolkit/v3/common/refutil.go
Christopher Speller 1aadd36644 MM-28859 Add feature flag managment system using split.io and remove viper. (#15954)
* Add feature flag managment system using split.io and remove viper.

* Fixing tests.

* Attempt to fix postgres tests.

* Fix watch filepath for advanced logging.

* Review fixes.

* Some error wrapping.

* Remove unessisary store interface.

* Desanitize SplitKey

* Simplify.

* Review feedback.

* Rename split mlog adatper to split logger.

* fsInner

* Style.

* Restore oldcfg test.

* Downgrading non-actionable feature flag errors to warnings.

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2020-10-29 15:54:39 -07:00

106 строки
1.6 KiB
Go

package common
// StringRef returns ref
func StringRef(str string) *string {
return &str
}
// IntRef returns ref
func IntRef(number int) *int {
return &number
}
// Int64Ref returns ref
func Int64Ref(number int64) *int64 {
return &number
}
// Float64Ref returns ref
func Float64Ref(number float64) *float64 {
return &number
}
// Int64Value returns value
func Int64Value(number *int64) int64 {
if number == nil {
return 0
}
return *number
}
// IntRefOrNil returns ref
func IntRefOrNil(number int) *int {
if number == 0 {
return nil
}
return IntRef(number)
}
// Int64RefOrNil returns ref
func Int64RefOrNil(number int64) *int64 {
if number == 0 {
return nil
}
return Int64Ref(number)
}
// StringRefOrNil returns ref
func StringRefOrNil(str string) *string {
if str == "" {
return nil
}
return StringRef(str)
}
// AsIntOrNil returns ref
func AsIntOrNil(data interface{}) *int {
if data == nil {
return nil
}
number, ok := data.(int)
if !ok {
return nil
}
return IntRef(number)
}
// AsInt64OrNil returns ref
func AsInt64OrNil(data interface{}) *int64 {
if data == nil {
return nil
}
number, ok := data.(int64)
if !ok {
return nil
}
return Int64Ref(number)
}
// AsFloat64OrNil return ref
func AsFloat64OrNil(data interface{}) *float64 {
if data == nil {
return nil
}
number, ok := data.(float64)
if !ok {
return nil
}
return Float64Ref(number)
}
// AsStringOrNil returns ref
func AsStringOrNil(data interface{}) *string {
if data == nil {
return nil
}
str, ok := data.(string)
if !ok {
return nil
}
return StringRef(str)
}