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)
|
||||
}
|
||||
|
||||
36
ptr/ptr_test.go
Normal file
36
ptr/ptr_test.go
Normal file
@@ -0,0 +1,36 @@
|
||||
package ptr
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestRefDeref(t *testing.T) {
|
||||
a := 10
|
||||
if Deref(Ref(a)) != a {
|
||||
t.Log("a) had a issue")
|
||||
return
|
||||
}
|
||||
|
||||
b := 10.1
|
||||
if Deref(Ref(b)) != b {
|
||||
t.Log("b) had a issue")
|
||||
return
|
||||
}
|
||||
|
||||
c := true
|
||||
if Deref(Ref(c)) != c {
|
||||
t.Log("c) had a issue")
|
||||
return
|
||||
}
|
||||
|
||||
d := "hello there"
|
||||
if Deref(Ref(d)) != d {
|
||||
t.Log("d) had a issue")
|
||||
return
|
||||
}
|
||||
|
||||
var e string
|
||||
if Deref(Ref(e)) != e {
|
||||
t.Log("e) had a issue")
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user