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');
18 function baseOrderBy(collection, iteratees, orders) {
20 iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee));
22 var result = baseMap(collection,
function(value, key, collection) {
23 var criteria = arrayMap(iteratees,
function(iteratee) {
24 return iteratee(value);
26 return {
'criteria': criteria,
'index': ++index,
'value': value };
29 return baseSortBy(result,
function(
object, other) {
30 return compareMultiple(
object, other, orders);
34 module.exports = baseOrderBy;