19 lines
278 B
Go
19 lines
278 B
Go
package niri
|
|
|
|
type Option[T any] = *T
|
|
|
|
func OptionOf[T any](v T) Option[T] {
|
|
return &v
|
|
}
|
|
|
|
func OptionEmpty[T any]() Option[T] {
|
|
return nil
|
|
}
|
|
|
|
func mapOption[T any, R any](o Option[T], mapper func(T) R) Option[R] {
|
|
if o == nil {
|
|
return nil
|
|
}
|
|
return OptionOf(mapper(*o))
|
|
}
|