- Simple API.
- Clean and tested code.
- Dependency-free.
Go version 1.25+
go get github.com/cristalhq/ordx
less := func(a, b int) bool { return a < b }
cmp := ordx.AsCmp(less)
fmt.Println(cmp(1, 2))
fmt.Println(cmp(2, 1))
fmt.Println(cmp(2, 2))
// Output:
// -1
// 1
// 0
cmp := ordx.RankCmp([]string{"low", "medium", "high"})
fmt.Println(cmp("low", "high"))
fmt.Println(cmp("high", "low"))
fmt.Println(cmp("medium", "medium"))
// Output:
// -1
// 1
// 0
See examples: example_test.go.
See these docs.