This repository has been archived on 2026-10-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files

36 lines
840 B
Go

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/annybs/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/annybs/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
}