Urara-Blog/node_modules/.pnpm-store/v3/files/c6/d8d6c116f03d6e01cbf9c7f054fb29a0da05194e8442ae3f6041ac7a61ab7504dae3d117449e6ec3dabe005ba58bd7fa6a64acac30eaad48471220f88c5983
2022-08-14 01:14:53 +08:00

31 lines
895 B
Text

var baseMatches = require('./_baseMatches'),
baseMatchesProperty = require('./_baseMatchesProperty'),
identity = require('./identity'),
isArray = require('./isArray'),
property = require('./property');
/**
* The base implementation of `_.iteratee`.
*
* @private
* @param {*} [value=_.identity] The value to convert to an iteratee.
* @returns {Function} Returns the iteratee.
*/
function baseIteratee(value) {
// Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.
// See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.
if (typeof value == 'function') {
return value;
}
if (value == null) {
return identity;
}
if (typeof value == 'object') {
return isArray(value)
? baseMatchesProperty(value[0], value[1])
: baseMatches(value);
}
return property(value);
}
module.exports = baseIteratee;