19531af3b9ae8c9bc810e5ac783a992ce76982d7
[yaffs-website] / node_modules / grunt-legacy-log-utils / node_modules / lodash / _baseIteratee.js
1 var baseMatches = require('./_baseMatches'),
2     baseMatchesProperty = require('./_baseMatchesProperty'),
3     identity = require('./identity'),
4     isArray = require('./isArray'),
5     property = require('./property');
6
7 /**
8  * The base implementation of `_.iteratee`.
9  *
10  * @private
11  * @param {*} [value=_.identity] The value to convert to an iteratee.
12  * @returns {Function} Returns the iteratee.
13  */
14 function baseIteratee(value) {
15   var type = typeof value;
16   if (type == 'function') {
17     return value;
18   }
19   if (value == null) {
20     return identity;
21   }
22   if (type == 'object') {
23     return isArray(value)
24       ? baseMatchesProperty(value[0], value[1])
25       : baseMatches(value);
26   }
27   return property(value);
28 }
29
30 module.exports = baseIteratee;