Commit fcd69a5
Changed files (2)
pkg
convert
pkg/convert/ptr.go
@@ -0,0 +1,9 @@
+package convert
+
+func ToPtr[T any](item T) *T {
+ return &item
+}
+
+func FromPtr[T any](p *T) T {
+ return *p
+}
pkg/convert/ptr_test.go
@@ -0,0 +1,31 @@
+package convert
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestToPtr(t *testing.T) {
+ t.Run("returns a pointer", func(t *testing.T) {
+ var ptr *string
+ value := "hello"
+
+ ptr = ToPtr(value)
+
+ assert.Equal(t, *ptr, value)
+ })
+}
+
+func TestFromPtr(t *testing.T) {
+ t.Run("returns the value", func(t *testing.T) {
+ var value string
+
+ tmp := "hello"
+ ptr := &tmp
+
+ value = FromPtr(ptr)
+
+ assert.Equal(t, *ptr, value)
+ })
+}