diff --git a/langext/bool.go b/langext/bool.go index cd00461..933cfe1 100644 --- a/langext/bool.go +++ b/langext/bool.go @@ -15,3 +15,35 @@ func Conditional[T any](v bool, resTrue T, resFalse T) T { return resFalse } } + +func ConditionalFn00[T any](v bool, resTrue T, resFalse T) T { + if v { + return resTrue + } else { + return resFalse + } +} + +func ConditionalFn10[T any](v bool, resTrue func() T, resFalse T) T { + if v { + return resTrue() + } else { + return resFalse + } +} + +func ConditionalFn01[T any](v bool, resTrue T, resFalse func() T) T { + if v { + return resTrue + } else { + return resFalse() + } +} + +func ConditionalFn11[T any](v bool, resTrue func() T, resFalse func() T) T { + if v { + return resTrue() + } else { + return resFalse() + } +}