diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-03-09 16:43:39 -0700 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-03-17 22:30:37 -0400 |
commit | 33de7f09d31063ef2a4380bb2f2692653a6de06c (patch) | |
tree | 69b97df946b1c06ab88fa9b35eea25b7bd5a866a /lib/containers/optional.go | |
parent | 8b17537fc562ef422aee7976cf4a44dd040900aa (diff) |
containers: Add OptionalValue and OptionalNil
Diffstat (limited to 'lib/containers/optional.go')
-rw-r--r-- | lib/containers/optional.go | 13 |
1 files changed, 13 insertions, 0 deletions
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) |