From 33de7f09d31063ef2a4380bb2f2692653a6de06c Mon Sep 17 00:00:00 2001 From: Luke Shumaker <lukeshu@lukeshu.com> Date: Thu, 9 Mar 2023 16:43:39 -0700 Subject: containers: Add OptionalValue and OptionalNil --- lib/containers/optional.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'lib/containers') diff --git a/lib/containers/optional.go b/lib/containers/optional.go index 5bb7bb6..26ec494 100644 --- a/lib/containers/optional.go +++ b/lib/containers/optional.go @@ -13,6 +13,19 @@ type Optional[T any] struct { Val T } +func OptionalValue[T any](val T) Optional[T] { + return Optional[T]{ + OK: true, + Val: val, + } +} + +func OptionalNil[T any]() Optional[T] { + return Optional[T]{ + OK: false, + } +} + var ( _ json.Marshaler = Optional[bool]{} _ json.Unmarshaler = (*Optional[bool])(nil) -- cgit v1.2.3-2-g168b