sluicebox
Version:
Quickly and elegantly add search, sort and pagination to your plural resource endpoints.
26 lines (24 loc) • 691 B
JavaScript
(function() {
module.exports = function(field_for) {
return function(order) {
var field, i, len, name, parts, ref, ref1, ref2, sort;
sort = {};
ref = order.split(',');
for (i = 0, len = ref.length; i < len; i++) {
field = ref[i];
parts = field.trim().split(' ');
name = field_for(parts[0]);
order = (ref1 = (ref2 = parts[1]) != null ? ref2.toUpperCase() : void 0) != null ? ref1 : 'ASC';
sort[name] = (function() {
switch (order) {
case 'ASC':
return 1;
case 'DESC':
return -1;
}
})();
}
return sort;
};
};
}).call(this);