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:
2025-10-03 00:12:00 +05:30
parent 74e56f55d6
commit 6f9fb2d8ec
14 changed files with 262 additions and 65 deletions

View File

@@ -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
View 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
}
}