add sort parsing
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
package arango
|
||||
|
||||
import (
|
||||
"errors"
|
||||
)
|
||||
|
||||
// Operator error.
|
||||
var (
|
||||
ErrInvalidSortDirection = errors.New("invalid sort direction")
|
||||
)
|
||||
|
||||
var (
|
||||
sorts = map[string]string{
|
||||
// Idempotent
|
||||
"ASC": "ASC",
|
||||
"DESC": "DESC",
|
||||
|
||||
// Compatible with Sort.Direction in github.com/recipeer/go/qs
|
||||
//
|
||||
// Although lowercase keywords can be used in AQL, uppercase is favoured for stylistic consistency.
|
||||
"asc": "ASC",
|
||||
"desc": "DESC",
|
||||
}
|
||||
)
|
||||
|
||||
// ParseSortDirection returns the valid AQL operator for an arbitrary direction string.
|
||||
// This supports different inputs, such as Sort.Direction in github.com/recipeer/go/qs
|
||||
//
|
||||
// If the input operator cannot be mapped to AQL, this function returns ErrInvalidSortDirection.
|
||||
func ParseSortDirection(op string) (string, error) {
|
||||
if sorts[op] == "" {
|
||||
return "", ErrInvalidSortDirection
|
||||
}
|
||||
return sorts[op], nil
|
||||
}
|
||||
Reference in New Issue
Block a user