Commit fcd69a5

mo khan <mo@mokhan.ca>
2022-09-24 03:05:52
feat: add helper to convert to/from pointers
1 parent c2eecab
Changed files (2)
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)
+	})
+}