- Complete React app with 7 developer tools - JSON Tool with visual structured editor - Serialize Tool with visual structured editor - URL, Base64, CSV/JSON, Beautifier, Diff tools - Responsive navigation with dropdown menu - Dark/light mode toggle - Mobile-responsive design with sticky header - All tools working with copy/paste functionality
20 lines
804 B
JavaScript
20 lines
804 B
JavaScript
var isObject = require('./isObject.js');
|
|
var identity = require('./identity.js');
|
|
var isFunction = require('./isFunction.js');
|
|
var isArray = require('./isArray.js');
|
|
var matcher = require('./matcher.js');
|
|
var property = require('./property.js');
|
|
var _optimizeCb = require('./_optimizeCb.js');
|
|
|
|
// An internal function to generate callbacks that can be applied to each
|
|
// element in a collection, returning the desired result — either `_.identity`,
|
|
// an arbitrary callback, a property matcher, or a property accessor.
|
|
function baseIteratee(value, context, argCount) {
|
|
if (value == null) return identity;
|
|
if (isFunction(value)) return _optimizeCb(value, context, argCount);
|
|
if (isObject(value) && !isArray(value)) return matcher(value);
|
|
return property(value);
|
|
}
|
|
|
|
module.exports = baseIteratee;
|