chore: use cmp (#568)
This commit is contained in:
parent
96b254a7b1
commit
2bc3d38b83
@ -145,40 +145,3 @@ func Itoa[T constraints.Integer](i T) string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// From go1.23
|
|
||||||
|
|
||||||
// Compare returns
|
|
||||||
//
|
|
||||||
// -1 if x is less than y,
|
|
||||||
// 0 if x equals y,
|
|
||||||
// +1 if x is greater than y.
|
|
||||||
//
|
|
||||||
// For floating-point types, a NaN is considered less than any non-NaN,
|
|
||||||
// a NaN is considered equal to a NaN, and -0.0 is equal to 0.0.
|
|
||||||
func Compare[T constraints.Ordered](x, y T) int {
|
|
||||||
xNaN := isNaN(x)
|
|
||||||
yNaN := isNaN(y)
|
|
||||||
if xNaN {
|
|
||||||
if yNaN {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
return -1
|
|
||||||
}
|
|
||||||
if yNaN {
|
|
||||||
return +1
|
|
||||||
}
|
|
||||||
if x < y {
|
|
||||||
return -1
|
|
||||||
}
|
|
||||||
if x > y {
|
|
||||||
return +1
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
// isNaN reports whether x is a NaN without requiring the math package.
|
|
||||||
// This will always return false if T is not floating-point.
|
|
||||||
func isNaN[T constraints.Ordered](x T) bool {
|
|
||||||
return x != x
|
|
||||||
}
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package singleton
|
package singleton
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"cmp"
|
||||||
"fmt"
|
"fmt"
|
||||||
"slices"
|
"slices"
|
||||||
"strings"
|
"strings"
|
||||||
@ -11,7 +12,6 @@ import (
|
|||||||
"github.com/robfig/cron/v3"
|
"github.com/robfig/cron/v3"
|
||||||
|
|
||||||
"github.com/nezhahq/nezha/model"
|
"github.com/nezhahq/nezha/model"
|
||||||
"github.com/nezhahq/nezha/pkg/utils"
|
|
||||||
pb "github.com/nezhahq/nezha/proto"
|
pb "github.com/nezhahq/nezha/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -84,7 +84,7 @@ func UpdateCronList() {
|
|||||||
CronList = append(CronList, c)
|
CronList = append(CronList, c)
|
||||||
}
|
}
|
||||||
slices.SortFunc(CronList, func(a, b *model.Cron) int {
|
slices.SortFunc(CronList, func(a, b *model.Cron) int {
|
||||||
return utils.Compare(a.ID, b.ID)
|
return cmp.Compare(a.ID, b.ID)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package singleton
|
package singleton
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"cmp"
|
||||||
"fmt"
|
"fmt"
|
||||||
"slices"
|
"slices"
|
||||||
"sync"
|
"sync"
|
||||||
@ -12,7 +13,6 @@ import (
|
|||||||
ddns2 "github.com/nezhahq/nezha/pkg/ddns"
|
ddns2 "github.com/nezhahq/nezha/pkg/ddns"
|
||||||
"github.com/nezhahq/nezha/pkg/ddns/dummy"
|
"github.com/nezhahq/nezha/pkg/ddns/dummy"
|
||||||
"github.com/nezhahq/nezha/pkg/ddns/webhook"
|
"github.com/nezhahq/nezha/pkg/ddns/webhook"
|
||||||
"github.com/nezhahq/nezha/pkg/utils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -61,7 +61,7 @@ func UpdateDDNSList() {
|
|||||||
DDNSList = append(DDNSList, p)
|
DDNSList = append(DDNSList, p)
|
||||||
}
|
}
|
||||||
slices.SortFunc(DDNSList, func(a, b *model.DDNSProfile) int {
|
slices.SortFunc(DDNSList, func(a, b *model.DDNSProfile) int {
|
||||||
return utils.Compare(a.ID, b.ID)
|
return cmp.Compare(a.ID, b.ID)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package singleton
|
package singleton
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"cmp"
|
||||||
"slices"
|
"slices"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/nezhahq/nezha/model"
|
"github.com/nezhahq/nezha/model"
|
||||||
"github.com/nezhahq/nezha/pkg/utils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -64,7 +64,7 @@ func UpdateNATList() {
|
|||||||
NATList = append(NATList, n)
|
NATList = append(NATList, n)
|
||||||
}
|
}
|
||||||
slices.SortFunc(NATList, func(a, b *model.NAT) int {
|
slices.SortFunc(NATList, func(a, b *model.NAT) int {
|
||||||
return utils.Compare(a.ID, b.ID)
|
return cmp.Compare(a.ID, b.ID)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package singleton
|
package singleton
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"cmp"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"slices"
|
"slices"
|
||||||
@ -8,7 +9,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/nezhahq/nezha/model"
|
"github.com/nezhahq/nezha/model"
|
||||||
"github.com/nezhahq/nezha/pkg/utils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -90,7 +90,7 @@ func UpdateNotificationList() {
|
|||||||
NotificationListSorted = append(NotificationListSorted, n)
|
NotificationListSorted = append(NotificationListSorted, n)
|
||||||
}
|
}
|
||||||
slices.SortFunc(NotificationListSorted, func(a, b *model.Notification) int {
|
slices.SortFunc(NotificationListSorted, func(a, b *model.Notification) int {
|
||||||
return utils.Compare(a.ID, b.ID)
|
return cmp.Compare(a.ID, b.ID)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package singleton
|
package singleton
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"cmp"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"slices"
|
"slices"
|
||||||
@ -10,7 +11,6 @@ import (
|
|||||||
|
|
||||||
"github.com/jinzhu/copier"
|
"github.com/jinzhu/copier"
|
||||||
"github.com/nezhahq/nezha/model"
|
"github.com/nezhahq/nezha/model"
|
||||||
"github.com/nezhahq/nezha/pkg/utils"
|
|
||||||
pb "github.com/nezhahq/nezha/proto"
|
pb "github.com/nezhahq/nezha/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ func (ss *ServiceSentinel) UpdateServiceList() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
slices.SortFunc(ss.ServiceList, func(a, b *model.Service) int {
|
slices.SortFunc(ss.ServiceList, func(a, b *model.Service) int {
|
||||||
return utils.Compare(a.ID, b.ID)
|
return cmp.Compare(a.ID, b.ID)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user