diff --git a/pkg/sync/aliases.go b/pkg/sync/aliases.go index 0d4316254..ccbac0a64 100644 --- a/pkg/sync/aliases.go +++ b/pkg/sync/aliases.go @@ -34,3 +34,18 @@ type ( func NewCond(l Locker) *Cond { return sync.NewCond(l) } + +// OnceFunc is a wrapper around sync.OnceFunc. +func OnceFunc(f func()) func() { + return sync.OnceFunc(f) +} + +// OnceValue is a wrapper around sync.OnceValue. +func OnceValue[T any](f func() T) func() T { + return sync.OnceValue(f) +} + +// OnceValues is a wrapper around sync.OnceValues. +func OnceValues[T1, T2 any](f func() (T1, T2)) func() (T1, T2) { + return sync.OnceValues(f) +}