diff options
author | 2024-07-17 15:26:33 +0000 | |
---|---|---|
committer | 2024-07-17 15:26:33 +0000 | |
commit | 72ba5666a6ffd06ccdfd2db8dacc47de7f777a4c (patch) | |
tree | ac8c71af4f9a57c0233ffd30f8867d02616c46cc /internal/util/ptr.go | |
parent | [feature] Allow users to set default interaction policies per status visibili... (diff) | |
download | gotosocial-72ba5666a6ffd06ccdfd2db8dacc47de7f777a4c.tar.xz |
[chore] media pipeline improvements (#3110)
* don't set emoji / media image paths on failed download, migrate FileType from string to integer
* fix incorrect uses of util.PtrOr, fix returned frontend media
* fix migration not setting arguments correctly in where clause
* fix not providing default with not null column
* whoops
* ensure a default gets set for media attachment file type
* remove the exclusive flag from writing files in disk storage
* rename PtrOr -> PtrOrZero, and rename PtrValueOr -> PtrOrValue to match
* slight wording changes
* use singular / plural word forms (no parentheses), is better for screen readers
* update testmodels with unknown media type to have unset file details, update attachment focus handling converting to frontend, update tests
* store first instance in ffmpeg wasm pool, fill remaining with closed instances
Diffstat (limited to 'internal/util/ptr.go')
-rw-r--r-- | internal/util/ptr.go | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/internal/util/ptr.go b/internal/util/ptr.go index d7c30da85..8a89666c4 100644 --- a/internal/util/ptr.go +++ b/internal/util/ptr.go @@ -43,10 +43,19 @@ func PtrIf[T comparable](t T) *T { return &t } -// PtrValueOr returns either value of ptr, or default. -func PtrValueOr[T any](t *T, _default T) T { +// PtrOrZero returns either value of ptr, or zero. +func PtrOrZero[T any](t *T) T { + if t == nil { + var z T + return z + } + return *t +} + +// PtrOrValue returns either contained value of ptr, or 'value'. +func PtrOrValue[T any](t *T, value T) T { if t != nil { return *t } - return _default + return value } |