node_modules/lodash/_baseOrderBy.js in trusty-cms-4.2.2 vs node_modules/lodash/_baseOrderBy.js in trusty-cms-4.2.3
- old
+ new
@@ -1,12 +1,14 @@
var arrayMap = require('./_arrayMap'),
+ baseGet = require('./_baseGet'),
baseIteratee = require('./_baseIteratee'),
baseMap = require('./_baseMap'),
baseSortBy = require('./_baseSortBy'),
baseUnary = require('./_baseUnary'),
compareMultiple = require('./_compareMultiple'),
- identity = require('./identity');
+ identity = require('./identity'),
+ isArray = require('./isArray');
/**
* The base implementation of `_.orderBy` without param guards.
*
* @private
@@ -14,11 +16,24 @@
* @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.
* @param {string[]} orders The sort orders of `iteratees`.
* @returns {Array} Returns the new sorted array.
*/
function baseOrderBy(collection, iteratees, orders) {
+ if (iteratees.length) {
+ iteratees = arrayMap(iteratees, function(iteratee) {
+ if (isArray(iteratee)) {
+ return function(value) {
+ return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);
+ }
+ }
+ return iteratee;
+ });
+ } else {
+ iteratees = [identity];
+ }
+
var index = -1;
- iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(baseIteratee));
+ iteratees = arrayMap(iteratees, baseUnary(baseIteratee));
var result = baseMap(collection, function(value, key, collection) {
var criteria = arrayMap(iteratees, function(iteratee) {
return iteratee(value);
});