in salesforce/lib/query-builder.js [226:266]
createOrderByClause(sort) {
sort = sort || [];
if (_.isString(sort)) {
if (/,|\s+(asc|desc)\s*$/.test(sort)) {
return sort;
}
// sort order in "FieldA -FieldB" => "ORDER BY FieldA ASC, FieldB DESC".
sort = sort.split(/\s+/).map((field) => {
let dir = "ASC";
let flag = field[0];
if (flag === "-") {
dir = "DESC";
field = field.substring(1);
} else if (flag === "+") {
field = field.substring(1);
}
return [field, dir];
});
} else if (!isArray(sort)) {
sort = _.keys(sort).map((field) => {
let dir = sort[field];
return [field, dir];
});
}
return sort.map((s) => {
let field = s[0];
let dir = s[1];
switch (String(dir)) {
case "DESC":
case "desc":
case "descending":
case "-":
case "-1":
dir = "DESC";
break;
default:
dir = "ASC";
}
return field + " " + dir;
}).join(", ");
}