diff options
| author | 2025-08-21 16:41:50 +0200 | |
|---|---|---|
| committer | 2025-08-21 16:41:50 +0200 | |
| commit | a79f83cbded3fb1165b338ce316dc9f2217467ff (patch) | |
| tree | 4b4a2b7084aced51c0a691cee6352b4ecae90df8 /vendor/codeberg.org/gruf/go-structr/key.go | |
| parent | [chore] bump golangci-lint version in CI, disable var-naming package name che... (diff) | |
| download | gotosocial-a79f83cbded3fb1165b338ce316dc9f2217467ff.tar.xz | |
[chore] update dependencies (#4386)
- codeberg.org/gruf/go-bytesize v1.0.3 -> v1.0.4
- codeberg.org/gruf/go-kv/v2 v2.0.6 -> v2.0.7
- codeberg.org/gruf/go-mutexes v1.5.2 -> v1.5.3
- codeberg.org/gruf/go-structr v0.9.7 -> v0.9.8
- codeberg.org/gruf/go-ffmpreg v0.6.8 -> v0.6.9
- github.com/tomnomnom/linkheader HEAD@2018 -> HEAD@2025
all of the above codeberg.org/gruf updates are in preparation for Go1.25, except for bytesize, and also ffmpreg which is a rebuild with the latest version of ffmpeg (v5.1.7)
Reviewed-on: https://codeberg.org/superseriousbusiness/gotosocial/pulls/4386
Co-authored-by: kim <grufwub@gmail.com>
Co-committed-by: kim <grufwub@gmail.com>
Diffstat (limited to 'vendor/codeberg.org/gruf/go-structr/key.go')
| -rw-r--r-- | vendor/codeberg.org/gruf/go-structr/key.go | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/vendor/codeberg.org/gruf/go-structr/key.go b/vendor/codeberg.org/gruf/go-structr/key.go index 11e595b80..ad591f8ac 100644 --- a/vendor/codeberg.org/gruf/go-structr/key.go +++ b/vendor/codeberg.org/gruf/go-structr/key.go @@ -4,6 +4,7 @@ import ( "sync" "codeberg.org/gruf/go-byteutil" + "codeberg.org/gruf/go-mangler/v2" ) // Key represents one key to @@ -14,6 +15,37 @@ type Key struct { raw []any } +// MakeKey generates Key{} from given parts. +func MakeKey(parts ...any) Key { + buf := new_buffer() + buf.B = mangler.AppendMulti(buf.B[:0], parts...) + key := string(buf.B) + free_buffer(buf) + return Key{ + raw: parts, + key: key, + } +} + +// MakeKeys generates []Key{} from given (multiple) parts. +func MakeKeys(parts ...[]any) []Key { + keys := make([]Key, len(parts)) + if len(keys) != len(parts) { + panic(assert("BCE")) + } + buf := new_buffer() + for x, parts := range parts { + buf.B = mangler.AppendMulti(buf.B[:0], parts...) + key := string(buf.B) + keys[x] = Key{ + raw: parts, + key: key, + } + } + free_buffer(buf) + return keys +} + // Key returns the underlying cache key string. // NOTE: this will not be log output friendly. func (k Key) Key() string { @@ -31,11 +63,6 @@ func (k Key) Values() []any { return k.raw } -// Zero indicates a zero value key. -func (k Key) Zero() bool { - return (k.key == "") -} - var buf_pool sync.Pool // new_buffer returns a new initialized byte buffer. |
