(sortPredicate, reverseOrder)
| 19970 | }; |
| 19971 | |
| 19972 | function processPredicates(sortPredicate, reverseOrder) { |
| 19973 | reverseOrder = reverseOrder ? -1 : 1; |
| 19974 | return sortPredicate.map(function(predicate) { |
| 19975 | var descending = 1, get = identity; |
| 19976 | |
| 19977 | if (isFunction(predicate)) { |
| 19978 | get = predicate; |
| 19979 | } else if (isString(predicate)) { |
| 19980 | if ((predicate.charAt(0) == '+' || predicate.charAt(0) == '-')) { |
| 19981 | descending = predicate.charAt(0) == '-' ? -1 : 1; |
| 19982 | predicate = predicate.substring(1); |
| 19983 | } |
| 19984 | if (predicate !== '') { |
| 19985 | get = $parse(predicate); |
| 19986 | if (get.constant) { |
| 19987 | var key = get(); |
| 19988 | get = function(value) { return value[key]; }; |
| 19989 | } |
| 19990 | } |
| 19991 | } |
| 19992 | return { get: get, descending: descending * reverseOrder }; |
| 19993 | }); |
| 19994 | } |
| 19995 | |
| 19996 | function isPrimitive(value) { |
| 19997 | switch (typeof value) { |
no test coverage detected