func (c *sortIter) Less(i, j int) bool { var a = c.data[i] var b = c.data[j] for _, k := range c.sort { var asc = true if strings.HasPrefix(k, "-") { k = k[1:] asc = false } var v1, ok1 = a.data[k] if !ok1 { v1 = nil } var v2, ok2 = b.data[k] if !ok2 { v2 = nil } var t = util.Compare(v1, v2) if t == 0 { continue } if t < 0 { return asc } return !asc } return false }
func gte(a, b interface{}) bool { return util.Compare(a, b) >= 0 }
func lte(a, b interface{}) bool { return util.Compare(a, b) <= 0 }
func eq(a, b interface{}) bool { return util.Compare(a, b) == 0 }