Skip to content

Commit 6589107

Browse files
committed
refactor: update PointersOf function to return pointers to elements and clean up tests
1 parent 502f317 commit 6589107

3 files changed

Lines changed: 4 additions & 12 deletions

File tree

README.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,7 @@ Comprehensive utility functions for common operations.
9292
| Package | Functions |
9393
|---------|-----------|
9494
| `utils/slice` | `Map()`, `Reduce()`, `Any()`, `All()`, `FindAll()`, `FindFirst()`, `FindIndex()` |
95-
| `utils/pointers` | `Ptr[T]()`, `Val[T]()` — Generic pointer/value conversion |
96-
| `utils/maps` | `GetKeysFromMap()`, `MergeMaps()`, `FromString()`, `ToString()` |
95+
| `utils/pointers` | `Val[T]()` — Generic pointer-to-value conversion |
9796
| `utils/json` | `Save()`, `Load()`, `Pretty()` — Thread-safe JSON file I/O |
9897
| `utils/timewindow` | `TimeWindow` — Cron-like schedule validation (day + time range) |
9998
| `utils/errors` | Custom error utilities |
@@ -104,7 +103,6 @@ import "github.com/equinor/radix-common/utils/slice"
104103
import "github.com/equinor/radix-common/utils/pointers"
105104

106105
doubled := slice.Map(numbers, func(n int) int { return n * 2 })
107-
ptr := pointers.Ptr("value")
108106
val := pointers.Val(ptr)
109107
```
110108

utils/slice/utils.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@ import (
44
"slices"
55
)
66

7-
// PointersOf returns a slice of pointers to copies of each element in the provided slice.
7+
// PointersOf returns a slice of pointers to each element in the provided slice.
88
func PointersOf[S ~[]E, E any](s S) []*E {
99
ptrSlice := make([]*E, len(s))
1010

11-
for i, v := range s {
12-
ptrSlice[i] = &v
11+
for i := range s {
12+
ptrSlice[i] = &s[i]
1313
}
1414

1515
return ptrSlice

utils/slice/utils_test.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,6 @@ func Test_PointersOf(t *testing.T) {
3939
result := slice.PointersOf(src)
4040
assert.NotSame(t, result[0], result[1])
4141
})
42-
t.Run("modifying source does not affect returned pointers", func(t *testing.T) {
43-
src := []obj{{"original"}}
44-
result := slice.PointersOf(src)
45-
src[0].prop = "mutated"
46-
assert.Equal(t, "original", result[0].prop)
47-
})
4842
t.Run("modifying returned pointer does not affect other pointers", func(t *testing.T) {
4943
src := []obj{{"a"}, {"b"}}
5044
result := slice.PointersOf(src)

0 commit comments

Comments
 (0)