diff options
| author | 2025-05-22 16:27:55 +0200 | |
|---|---|---|
| committer | 2025-05-22 16:27:55 +0200 | |
| commit | b6ff55662e0281c0d6e111f9307625ef695df2fa (patch) | |
| tree | 5f7761efa0b51a7a7d56f96fce3681c8e9b66fe9 /vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go | |
| parent | [chore/woodpecker] don't make `test` depend on `lint` (#4189) (diff) | |
| download | gotosocial-b6ff55662e0281c0d6e111f9307625ef695df2fa.tar.xz | |
[chore] update dependencies (#4188)
Update dependencies:
- github.com/gin-gonic/gin v1.10.0 -> v1.10.1
- github.com/gin-contrib/sessions v1.10.3 -> v1.10.4
- github.com/jackc/pgx/v5 v5.7.4 -> v5.7.5
- github.com/minio/minio-go/v7 v7.0.91 -> v7.0.92
- github.com/pquerna/otp v1.4.0 -> v1.5.0
- github.com/tdewolff/minify/v2 v2.23.5 -> v2.23.8
- github.com/yuin/goldmark v1.7.11 -> v1.7.12
- go.opentelemetry.io/otel{,/*} v1.35.0 -> v1.36.0
- modernc.org/sqlite v1.37.0 -> v1.37.1
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4188
Reviewed-by: Daenney <daenney@noreply.codeberg.org>
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go')
| -rw-r--r-- | vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go b/vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go index c265ce572..8aa92212b 100644 --- a/vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go +++ b/vendor/github.com/minio/minio-go/v7/pkg/set/stringset.go @@ -21,7 +21,7 @@ import ( "fmt" "sort" - "github.com/goccy/go-json" + "github.com/minio/minio-go/v7/internal/json" ) // StringSet - uses map as set of strings. @@ -37,6 +37,30 @@ func (set StringSet) ToSlice() []string { return keys } +// ToByteSlices - returns StringSet as a sorted +// slice of byte slices, using only one allocation. +func (set StringSet) ToByteSlices() [][]byte { + length := 0 + for k := range set { + length += len(k) + } + // Preallocate the slice with the total length of all strings + // to avoid multiple allocations. + dst := make([]byte, length) + + // Add keys to this... + keys := make([][]byte, 0, len(set)) + for k := range set { + n := copy(dst, k) + keys = append(keys, dst[:n]) + dst = dst[n:] + } + sort.Slice(keys, func(i, j int) bool { + return string(keys[i]) < string(keys[j]) + }) + return keys +} + // IsEmpty - returns whether the set is empty or not. func (set StringSet) IsEmpty() bool { return len(set) == 0 @@ -178,7 +202,7 @@ func NewStringSet() StringSet { // CreateStringSet - creates new string set with given string values. func CreateStringSet(sl ...string) StringSet { - set := make(StringSet) + set := make(StringSet, len(sl)) for _, k := range sl { set.Add(k) } @@ -187,7 +211,7 @@ func CreateStringSet(sl ...string) StringSet { // CopyStringSet - returns copy of given set. func CopyStringSet(set StringSet) StringSet { - nset := NewStringSet() + nset := make(StringSet, len(set)) for k, v := range set { nset[k] = v } |
