heyujie
2021-05-20 6ebdefb4a5b2be82a8c452c0bb4624f3d85a17b7
1
2
3
4
5
6
7
8
9
10
11
"use strict";
 
var isClassStr = RegExp.prototype.test.bind(/^\s*class[\s{/}]/)
  , fnToString = Function.prototype.toString;
 
module.exports = function (fn) {
    if (typeof fn !== "function") return false;
    if (typeof fn.call !== "function") return false;
    if (typeof fn.apply !== "function") return false;
    return !isClassStr(fnToString.call(fn));
};