dotenv, parsing fix email, moved dump tracnsport to new file gz, removed unwanted var jwt, added in HS256 sign/parse
ptr, ref and deref funcs response, use fmt.Fprint(f) validate, few new funcs
This commit is contained in:
33
ptr/ptr.go
33
ptr/ptr.go
@@ -7,15 +7,24 @@ package ptr
|
||||
|
||||
import "strings"
|
||||
|
||||
func Ref[T string | bool | Num](v T) *T {
|
||||
return &v
|
||||
}
|
||||
|
||||
func Deref[T any](v *T) T {
|
||||
if v == nil {
|
||||
var a T
|
||||
return a
|
||||
}
|
||||
return *v
|
||||
}
|
||||
|
||||
func Bool(v bool) *bool {
|
||||
return &v
|
||||
}
|
||||
|
||||
func GetBool(v *bool) bool {
|
||||
if v == nil {
|
||||
return false
|
||||
}
|
||||
return *v
|
||||
return Deref(v)
|
||||
}
|
||||
|
||||
func Str(v string) *string {
|
||||
@@ -23,10 +32,7 @@ func Str(v string) *string {
|
||||
}
|
||||
|
||||
func GetStr(v *string) string {
|
||||
if v == nil {
|
||||
return ""
|
||||
}
|
||||
return *v
|
||||
return Deref(v)
|
||||
}
|
||||
|
||||
func StrTrim(v *string) *string {
|
||||
@@ -38,17 +44,14 @@ func StrTrim(v *string) *string {
|
||||
return v
|
||||
}
|
||||
|
||||
type N interface {
|
||||
type Num interface {
|
||||
uint8 | int8 | uint16 | int16 | uint32 | int32 | uint64 | int64 | uint | int | float32 | float64
|
||||
}
|
||||
|
||||
func Number[T N](v T) *T {
|
||||
func Number[T Num](v T) *T {
|
||||
return &v
|
||||
}
|
||||
|
||||
func GetNumber[T N](v *T) T {
|
||||
if v == nil {
|
||||
return 0
|
||||
}
|
||||
return *v
|
||||
func GetNumber[T Num](v *T) T {
|
||||
return Deref(v)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user