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 }