sesamy-go/measurementprotocol/getset.go
Kevin Franklin Kim fbb743cb96
fix: lint errors
2024-03-04 15:11:55 +01:00

91 lines
1.2 KiB
Go

package measurementprotocol
import (
"fmt"
)
func Set[T any](v T) *T {
return &v
}
func SetInt(v int) *string {
if v == 0 {
return nil
}
return Set(fmt.Sprintf("%d", v))
}
func SetUInt(v uint) *string {
if v == 0 {
return nil
}
return Set(fmt.Sprintf("%d", v))
}
func SetInt32(v int32) *string {
if v == 0 {
return nil
}
return Set(fmt.Sprintf("%d", v))
}
func SetUInt32(v uint32) *string {
if v == 0 {
return nil
}
return Set(fmt.Sprintf("%d", v))
}
func SetInt64(v int64) *string {
if v == 0 {
return nil
}
return Set(fmt.Sprintf("%d", v))
}
func SetUInt64(v uint64) *string {
if v == 0 {
return nil
}
return Set(fmt.Sprintf("%d", v))
}
func SetFloat32(v float32) *string {
if v == 0 {
return nil
}
return Set(fmt.Sprintf("%f", v))
}
func SetFloat64(v float64) *string {
if v == 0 {
return nil
}
return Set(fmt.Sprintf("%f", v))
}
func SetString(v string) *string {
if v == "" {
return nil
}
return Set(v)
}
func SetBool(v bool) *string {
if !v {
return nil
}
return Set("1")
}
func Get[T any](v *T) T {
return *v
}
func GetDefault[T any](v *T, fallback T) T {
if v == nil {
return fallback
}
return *v
}