12345678910111213141516171819202122232425262728 |
- (function(root) {
- var toString = Function.prototype.toString;
- function fnBody(fn) {
- return toString.call(fn).replace(/^[^{]*{\s*/,'').replace(/\s*}[^}]*$/,'');
- }
- function isClass(fn) {
- return (typeof fn === 'function' &&
- (/^class(?:\s|{)/.test(toString.call(fn)) ||
- (/^.*classCallCheck\(/.test(fnBody(fn)))) // babel.js
- );
- }
- if (typeof exports !== 'undefined') {
- if (typeof module !== 'undefined' && module.exports) {
- exports = module.exports = isClass;
- }
- exports.isClass = isClass;
- } else if (typeof define === 'function' && define.amd) {
- define([], function() {
- return isClass;
- });
- } else {
- root.isClass = isClass;
- }
- })(this);
|