summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEarl Warren <contact@earl-warren.org>2024-09-22 09:28:20 +0200
committerEarl Warren <contact@earl-warren.org>2024-09-27 08:42:48 +0200
commit1bdf334844f398d0a2adafc4499cef15f95df6d8 (patch)
tree204cdd1a33664291a87c78b4627835b12a14851a
parentLazy load avatar images (#32051) (diff)
downloadforgejo-1bdf334844f398d0a2adafc4499cef15f95df6d8.tar.xz
forgejo-1bdf334844f398d0a2adafc4499cef15f95df6d8.zip
feat: add IfZero utility function
(cherry picked from commit 43de021ac1ca017212ec75fd88a8a80a9db27c4c)
-rw-r--r--modules/util/util.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/util/util.go b/modules/util/util.go
index 0444680228..dcd7cf4f29 100644
--- a/modules/util/util.go
+++ b/modules/util/util.go
@@ -225,6 +225,15 @@ func Iif[T any](condition bool, trueVal, falseVal T) T {
return falseVal
}
+// IfZero returns "def" if "v" is a zero value, otherwise "v"
+func IfZero[T comparable](v, def T) T {
+ var zero T
+ if v == zero {
+ return def
+ }
+ return v
+}
+
func ReserveLineBreakForTextarea(input string) string {
// Since the content is from a form which is a textarea, the line endings are \r\n.
// It's a standard behavior of HTML.