477a1cc40e
- Move the file `compare.go` and `slice.go` to `slice.go`. - Fix `ExistsInSlice`, it's buggy - It uses `sort.Search`, so it assumes that the input slice is sorted. - It passes `func(i int) bool { return slice[i] == target })` to `sort.Search`, that's incorrect, check the doc of `sort.Search`. - Conbine `IsInt64InSlice(int64, []int64)` and `ExistsInSlice(string, []string)` to `SliceContains[T]([]T, T)`. - Conbine `IsSliceInt64Eq([]int64, []int64)` and `IsEqualSlice([]string, []string)` to `SliceSortedEqual[T]([]T, T)`. - Add `SliceEqual[T]([]T, T)` as a distinction from `SliceSortedEqual[T]([]T, T)`. - Redesign `RemoveIDFromList([]int64, int64) ([]int64, bool)` to `SliceRemoveAll[T]([]T, T) []T`. - Add `SliceContainsFunc[T]([]T, func(T) bool)` and `SliceRemoveAllFunc[T]([]T, func(T) bool)` for general use. - Add comments to explain why not `golang.org/x/exp/slices`. - Add unit tests. |
||
---|---|---|
.. | ||
activity.go | ||
attachment.go | ||
blame.go | ||
branch.go | ||
cherry_pick.go | ||
commit.go | ||
compare.go | ||
download.go | ||
editor.go | ||
editor_test.go | ||
find.go | ||
http.go | ||
http_test.go | ||
issue.go | ||
issue_content_history.go | ||
issue_dependency.go | ||
issue_label.go | ||
issue_label_test.go | ||
issue_lock.go | ||
issue_stopwatch.go | ||
issue_test.go | ||
issue_timetrack.go | ||
issue_watch.go | ||
lfs.go | ||
main_test.go | ||
middlewares.go | ||
migrate.go | ||
milestone.go | ||
packages.go | ||
patch.go | ||
projects.go | ||
projects_test.go | ||
pull.go | ||
pull_review.go | ||
release.go | ||
release_test.go | ||
render.go | ||
repo.go | ||
search.go | ||
setting.go | ||
setting_protected_branch.go | ||
settings_test.go | ||
tag.go | ||
topic.go | ||
treelist.go | ||
view.go | ||
view_test.go | ||
webhook.go | ||
wiki.go | ||
wiki_test.go |