diff options
Diffstat (limited to 'modules/util/compare.go')
-rw-r--r-- | modules/util/compare.go | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/modules/util/compare.go b/modules/util/compare.go deleted file mode 100644 index 9ac778dfd3..0000000000 --- a/modules/util/compare.go +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright 2017 The Gitea Authors. All rights reserved. -// SPDX-License-Identifier: MIT - -package util - -import ( - "sort" - "strings" -) - -// Int64Slice attaches the methods of Interface to []int64, sorting in increasing order. -type Int64Slice []int64 - -func (p Int64Slice) Len() int { return len(p) } -func (p Int64Slice) Less(i, j int) bool { return p[i] < p[j] } -func (p Int64Slice) Swap(i, j int) { p[i], p[j] = p[j], p[i] } - -// IsSliceInt64Eq returns if the two slice has the same elements but different sequences. -func IsSliceInt64Eq(a, b []int64) bool { - if len(a) != len(b) { - return false - } - sort.Sort(Int64Slice(a)) - sort.Sort(Int64Slice(b)) - for i := 0; i < len(a); i++ { - if a[i] != b[i] { - return false - } - } - return true -} - -// ExistsInSlice returns true if string exists in slice. -func ExistsInSlice(target string, slice []string) bool { - i := sort.Search(len(slice), - func(i int) bool { return slice[i] == target }) - return i < len(slice) -} - -// IsStringInSlice sequential searches if string exists in slice. -func IsStringInSlice(target string, slice []string, insensitive ...bool) bool { - caseInsensitive := false - if len(insensitive) != 0 && insensitive[0] { - caseInsensitive = true - target = strings.ToLower(target) - } - - for i := 0; i < len(slice); i++ { - if caseInsensitive { - if strings.ToLower(slice[i]) == target { - return true - } - } else { - if slice[i] == target { - return true - } - } - } - return false -} - -// IsInt64InSlice sequential searches if int64 exists in slice. -func IsInt64InSlice(target int64, slice []int64) bool { - for i := 0; i < len(slice); i++ { - if slice[i] == target { - return true - } - } - return false -} - -// IsEqualSlice returns true if slices are equal. -func IsEqualSlice(target, source []string) bool { - if len(target) != len(source) { - return false - } - - if (target == nil) != (source == nil) { - return false - } - - sort.Strings(target) - sort.Strings(source) - - for i, v := range target { - if v != source[i] { - return false - } - } - - return true -} |