diff --git a/dist/index.js b/dist/index.js index a77cac7..573cdfe 100644 --- a/dist/index.js +++ b/dist/index.js @@ -15,7 +15,18 @@ var _wrapStatelessFunction = require('./wrapStatelessFunction'); var _wrapStatelessFunction2 = _interopRequireDefault(_wrapStatelessFunction); var decoratorConstructor = undefined, - functionConstructor = undefined; + functionConstructor = undefined, + isReactComponent = undefined; + +/** + * Determines if the given object has the signature of a class that inherits React.Component. + * + * @param {*} Component + * @return {Boolean} + */ +isReactComponent = function (Component) { + return 'prototype' in Component && typeof Component.prototype.render === 'function'; +}; /** * When used as a function. @@ -28,7 +39,11 @@ var decoratorConstructor = undefined, functionConstructor = function (Component, defaultStyles, options) { var decoratedClass = undefined; - decoratedClass = Component.isReactClass ? (0, _extendReactClass2['default'])(Component, defaultStyles, options) : (0, _wrapStatelessFunction2['default'])(Component, defaultStyles, options); + if (isReactComponent(Component)) { + decoratedClass = (0, _extendReactClass2['default'])(Component, defaultStyles, options); + } else { + decoratedClass = (0, _wrapStatelessFunction2['default'])(Component, defaultStyles, options); + } if (Component.displayName) { decoratedClass.displayName = Component.displayName; diff --git a/dist/utils.js b/dist/utils.js deleted file mode 100644 index 651f52c..0000000 --- a/dist/utils.js +++ /dev/null @@ -1,26 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { - value: true -}); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _lodashCollectionForEach = require('lodash/collection/forEach'); - -var _lodashCollectionForEach2 = _interopRequireDefault(_lodashCollectionForEach); - -var _lodashObjectValues = require('lodash/object/values'); - -var _lodashObjectValues2 = _interopRequireDefault(_lodashObjectValues); - -var _lodashLangIsArray = require('lodash/lang/isArray'); - -var _lodashLangIsArray2 = _interopRequireDefault(_lodashLangIsArray); - -exports['default'] = { - forEach: _lodashCollectionForEach2['default'], - values: _lodashObjectValues2['default'], - isArray: _lodashLangIsArray2['default'] -}; -module.exports = exports['default']; \ No newline at end of file