X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=node_modules%2Funcss%2Fnode_modules%2Flodash%2Finternal%2FbaseOrderBy.js;fp=node_modules%2Funcss%2Fnode_modules%2Flodash%2Finternal%2FbaseOrderBy.js;h=933c72c3a31a7c5dddc489f7a769d53d01ae3a33;hp=0000000000000000000000000000000000000000;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad diff --git a/node_modules/uncss/node_modules/lodash/internal/baseOrderBy.js b/node_modules/uncss/node_modules/lodash/internal/baseOrderBy.js new file mode 100644 index 000000000..933c72c3a --- /dev/null +++ b/node_modules/uncss/node_modules/lodash/internal/baseOrderBy.js @@ -0,0 +1,36 @@ +var arrayMap = require('./arrayMap'), + baseIteratee = require('./baseIteratee'), + baseMap = require('./baseMap'), + baseSortBy = require('./baseSortBy'), + compareMultiple = require('./compareMultiple'); + +/** + * The base implementation of `_.orderBy` without param guards. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @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) { + var index = -1, + toIteratee = baseIteratee; + + iteratees = arrayMap(iteratees.length ? iteratees : Array(1), function(iteratee) { + return toIteratee(iteratee); + }); + + var result = baseMap(collection, function(value, key, collection) { + var criteria = arrayMap(iteratees, function(iteratee) { + return iteratee(value); + }); + return { 'criteria': criteria, 'index': ++index, 'value': value }; + }); + + return baseSortBy(result, function(object, other) { + return compareMultiple(object, other, orders); + }); +} + +module.exports = baseOrderBy;