00001 var baseGetTag = require('./_baseGetTag'),
00002 isObject = require('./isObject');
00003
00005 var asyncTag = '[object AsyncFunction]',
00006 funcTag = '[object Function]',
00007 genTag = '[object GeneratorFunction]',
00008 proxyTag = '[object Proxy]';
00009
00027 function isFunction(value) {
00028 if (!isObject(value)) {
00029 return false;
00030 }
00031
00032
00033 var tag = baseGetTag(value);
00034 return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;
00035 }
00036
00037 module.exports = isFunction;