|
@@ -6,6 +6,8 @@ package history
|
6
|
6
|
import (
|
7
|
7
|
"sort"
|
8
|
8
|
"time"
|
|
9
|
+
|
|
10
|
+ "github.com/ergochat/ergo/irc/utils"
|
9
|
11
|
)
|
10
|
12
|
|
11
|
13
|
type TargetListing struct {
|
|
@@ -33,8 +35,8 @@ func MergeTargets(base []TargetListing, extra []TargetListing, start, end time.T
|
33
|
35
|
results = make([]TargetListing, 0, prealloc)
|
34
|
36
|
|
35
|
37
|
if !ascending {
|
36
|
|
- ReverseCorrespondents(base)
|
37
|
|
- ReverseCorrespondents(extra)
|
|
38
|
+ utils.ReverseSlice(base)
|
|
39
|
+ utils.ReverseSlice(extra)
|
38
|
40
|
}
|
39
|
41
|
|
40
|
42
|
for len(results) < limit {
|
|
@@ -64,18 +66,11 @@ func MergeTargets(base []TargetListing, extra []TargetListing, start, end time.T
|
64
|
66
|
}
|
65
|
67
|
|
66
|
68
|
if !ascending {
|
67
|
|
- ReverseCorrespondents(results)
|
|
69
|
+ utils.ReverseSlice(results)
|
68
|
70
|
}
|
69
|
71
|
return
|
70
|
72
|
}
|
71
|
73
|
|
72
|
|
-func ReverseCorrespondents(results []TargetListing) {
|
73
|
|
- // lol, generics when?
|
74
|
|
- for i, j := 0, len(results)-1; i < j; i, j = i+1, j-1 {
|
75
|
|
- results[i], results[j] = results[j], results[i]
|
76
|
|
- }
|
77
|
|
-}
|
78
|
|
-
|
79
|
74
|
func SortCorrespondents(list []TargetListing) {
|
80
|
75
|
sort.Slice(list, func(i, j int) bool {
|
81
|
76
|
return list[i].Time.Before(list[j].Time)
|