Initial QSfera import
This commit is contained in:
+151
@@ -0,0 +1,151 @@
|
||||
package gocloak
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/opentracing/opentracing-go"
|
||||
)
|
||||
|
||||
type contextKey string
|
||||
|
||||
var tracerContextKey = contextKey("tracer")
|
||||
|
||||
// StringP returns a pointer of a string variable
|
||||
func StringP(value string) *string {
|
||||
return &value
|
||||
}
|
||||
|
||||
// PString returns a string value from a pointer
|
||||
func PString(value *string) string {
|
||||
if value == nil {
|
||||
return ""
|
||||
}
|
||||
return *value
|
||||
}
|
||||
|
||||
// BoolP returns a pointer of a boolean variable
|
||||
func BoolP(value bool) *bool {
|
||||
return &value
|
||||
}
|
||||
|
||||
// PBool returns a boolean value from a pointer
|
||||
func PBool(value *bool) bool {
|
||||
if value == nil {
|
||||
return false
|
||||
}
|
||||
return *value
|
||||
}
|
||||
|
||||
// IntP returns a pointer of an integer variable
|
||||
func IntP(value int) *int {
|
||||
return &value
|
||||
}
|
||||
|
||||
// Int32P returns a pointer of an int32 variable
|
||||
func Int32P(value int32) *int32 {
|
||||
return &value
|
||||
}
|
||||
|
||||
// Int64P returns a pointer of an int64 variable
|
||||
func Int64P(value int64) *int64 {
|
||||
return &value
|
||||
}
|
||||
|
||||
// PInt returns an integer value from a pointer
|
||||
func PInt(value *int) int {
|
||||
if value == nil {
|
||||
return 0
|
||||
}
|
||||
return *value
|
||||
}
|
||||
|
||||
// PInt32 returns an int32 value from a pointer
|
||||
func PInt32(value *int32) int32 {
|
||||
if value == nil {
|
||||
return 0
|
||||
}
|
||||
return *value
|
||||
}
|
||||
|
||||
// PInt64 returns an int64 value from a pointer
|
||||
func PInt64(value *int64) int64 {
|
||||
if value == nil {
|
||||
return 0
|
||||
}
|
||||
return *value
|
||||
}
|
||||
|
||||
// Float32P returns a pointer of a float32 variable
|
||||
func Float32P(value float32) *float32 {
|
||||
return &value
|
||||
}
|
||||
|
||||
// Float64P returns a pointer of a float64 variable
|
||||
func Float64P(value float64) *float64 {
|
||||
return &value
|
||||
}
|
||||
|
||||
// PFloat32 returns an flaot32 value from a pointer
|
||||
func PFloat32(value *float32) float32 {
|
||||
if value == nil {
|
||||
return 0
|
||||
}
|
||||
return *value
|
||||
}
|
||||
|
||||
// PFloat64 returns an flaot64 value from a pointer
|
||||
func PFloat64(value *float64) float64 {
|
||||
if value == nil {
|
||||
return 0
|
||||
}
|
||||
return *value
|
||||
}
|
||||
|
||||
// NilOrEmpty returns true if string is empty or has a nil value
|
||||
func NilOrEmpty(value *string) bool {
|
||||
return value == nil || len(*value) == 0
|
||||
}
|
||||
|
||||
// NilOrEmptyArray returns true if string is empty or has a nil value
|
||||
func NilOrEmptyArray(value *[]string) bool {
|
||||
|
||||
if value == nil || len(*value) == 0 {
|
||||
return true
|
||||
}
|
||||
|
||||
return (*value)[0] == ""
|
||||
|
||||
}
|
||||
|
||||
// DecisionStrategyP returns a pointer for a DecisionStrategy value
|
||||
func DecisionStrategyP(value DecisionStrategy) *DecisionStrategy {
|
||||
return &value
|
||||
}
|
||||
|
||||
// LogicP returns a pointer for a Logic value
|
||||
func LogicP(value Logic) *Logic {
|
||||
return &value
|
||||
}
|
||||
|
||||
// PolicyEnforcementModeP returns a pointer for a PolicyEnforcementMode value
|
||||
func PolicyEnforcementModeP(value PolicyEnforcementMode) *PolicyEnforcementMode {
|
||||
return &value
|
||||
}
|
||||
|
||||
// PStringSlice converts a pointer to []string or returns ampty slice if nill value
|
||||
func PStringSlice(value *[]string) []string {
|
||||
if value == nil {
|
||||
return []string{}
|
||||
}
|
||||
return *value
|
||||
}
|
||||
|
||||
// NilOrEmptySlice returns true if list is empty or has a nil value
|
||||
func NilOrEmptySlice(value *[]string) bool {
|
||||
return value == nil || len(*value) == 0
|
||||
}
|
||||
|
||||
// WithTracer generates a context that has a tracer attached
|
||||
func WithTracer(ctx context.Context, tracer opentracing.Tracer) context.Context {
|
||||
return context.WithValue(ctx, tracerContextKey, tracer)
|
||||
}
|
||||
Reference in New Issue
Block a user