53 lines
677 B
Go
53 lines
677 B
Go
// Copyright 2024 Patial Tech (Ankit Patial).
|
|
// All rights reserved.
|
|
|
|
package ptr
|
|
|
|
import "strings"
|
|
|
|
func Bool(v bool) *bool {
|
|
return &v
|
|
}
|
|
|
|
func GetBool(v *bool) bool {
|
|
if v == nil {
|
|
return false
|
|
}
|
|
return *v
|
|
}
|
|
|
|
func Str(v string) *string {
|
|
return &v
|
|
}
|
|
|
|
func NumStr(v *string) string {
|
|
if v == nil {
|
|
return ""
|
|
}
|
|
return *v
|
|
}
|
|
|
|
func StrTrim(v *string) *string {
|
|
if v == nil {
|
|
return nil
|
|
}
|
|
|
|
*v = strings.TrimSpace(*v)
|
|
return v
|
|
}
|
|
|
|
type N interface {
|
|
uint8 | int8 | uint16 | int16 | uint | int | uint32 | int32 | uint64 | int64 | float32 | float64
|
|
}
|
|
|
|
func Number[T N](v T) *T {
|
|
return &v
|
|
}
|
|
|
|
func GetNumber[T N](v *T) T {
|
|
if v == nil {
|
|
return 0
|
|
}
|
|
return *v
|
|
}
|