artdaq_node_server  v1_00_07
 All Classes Namespaces Files Variables Pages
_baseOrderBy.js
1 var arrayMap = require('./_arrayMap'),
2  baseIteratee = require('./_baseIteratee'),
3  baseMap = require('./_baseMap'),
4  baseSortBy = require('./_baseSortBy'),
5  baseUnary = require('./_baseUnary'),
6  compareMultiple = require('./_compareMultiple'),
7  identity = require('./identity');
8 
18 function baseOrderBy(collection, iteratees, orders) {
19  var index = -1;
20  iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee));
21 
22  var result = baseMap(collection, function(value, key, collection) {
23  var criteria = arrayMap(iteratees, function(iteratee) {
24  return iteratee(value);
25  });
26  return { 'criteria': criteria, 'index': ++index, 'value': value };
27  });
28 
29  return baseSortBy(result, function(object, other) {
30  return compareMultiple(object, other, orders);
31  });
32 }
33 
34 module.exports = baseOrderBy;