123456789101112131415 |
- var isFn = require('./isFn');
- var isObj = require('./isObj');
- var isArr = require('./isArr');
- var optimizeCb = require('./optimizeCb');
- var matcher = require('./matcher');
- var identity = require('./identity');
- var property = require('./property');
- exports = function(val, ctx, argCount) {
- if (val == null) return identity;
- if (isFn(val)) return optimizeCb(val, ctx, argCount);
- if (isObj(val) && !isArr(val)) return matcher(val);
- return property(val);
- };
- module.exports = exports;
|