(sortPredicate, reverseOrder)
| 20448 | }; |
| 20449 | |
| 20450 | function processPredicates(sortPredicate, reverseOrder) { |
| 20451 | reverseOrder = reverseOrder ? -1 : 1; |
| 20452 | return sortPredicate.map(function(predicate) { |
| 20453 | var descending = 1, get = identity; |
| 20454 | |
| 20455 | if (isFunction(predicate)) { |
| 20456 | get = predicate; |
| 20457 | } else if (isString(predicate)) { |
| 20458 | if ((predicate.charAt(0) == '+' || predicate.charAt(0) == '-')) { |
| 20459 | descending = predicate.charAt(0) == '-' ? -1 : 1; |
| 20460 | predicate = predicate.substring(1); |
| 20461 | } |
| 20462 | if (predicate !== '') { |
| 20463 | get = $parse(predicate); |
| 20464 | if (get.constant) { |
| 20465 | var key = get(); |
| 20466 | get = function(value) { return value[key]; }; |
| 20467 | } |
| 20468 | } |
| 20469 | } |
| 20470 | return { get: get, descending: descending * reverseOrder }; |
| 20471 | }); |
| 20472 | } |
| 20473 | |
| 20474 | function isPrimitive(value) { |
| 20475 | switch (typeof value) { |
no test coverage detected