main
Raw Download raw file
 1//go:build linux && go1.21
 2
 3// Copyright (C) 2024 SUSE LLC. All rights reserved.
 4// Use of this source code is governed by a BSD-style
 5// license that can be found in the LICENSE file.
 6
 7package securejoin
 8
 9import (
10	"slices"
11	"sync"
12)
13
14func slices_DeleteFunc[S ~[]E, E any](slice S, delFn func(E) bool) S {
15	return slices.DeleteFunc(slice, delFn)
16}
17
18func slices_Contains[S ~[]E, E comparable](slice S, val E) bool {
19	return slices.Contains(slice, val)
20}
21
22func slices_Clone[S ~[]E, E any](slice S) S {
23	return slices.Clone(slice)
24}
25
26func sync_OnceValue[T any](f func() T) func() T {
27	return sync.OnceValue(f)
28}
29
30func sync_OnceValues[T1, T2 any](f func() (T1, T2)) func() (T1, T2) {
31	return sync.OnceValues(f)
32}