UNPKG

2.85 kBSource Map (JSON)View Raw
1{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA,IAAI,gCAAJ;IACI,+BADJ;IAEI,4BAFJ;;;;;;;;AAUA,mBAAmB,0BAAC,mBAAD,EAAyB;AACxC,WAAO,eAAe,mBAAf,IAAsC,0BAAa,oBAAoB,SAApB,CAA8B,MAA9B,CAAnD,CADiC;CAAzB;;;;;;;;;;AAYnB,sBAAsB,6BAAC,SAAD,EAAY,aAAZ,EAA2B,OAA3B,EAAuC;AACzD,QAAI,0BAAJ,CADyD;;AAGzD,QAAI,iBAAiB,SAAjB,CAAJ,EAAiC;AAC7B,yBAAiB,gCAAiB,SAAjB,EAA4B,aAA5B,EAA2C,OAA3C,CAAjB,CAD6B;KAAjC,MAEO;AACH,yBAAiB,qCAAsB,SAAtB,EAAiC,aAAjC,EAAgD,OAAhD,CAAjB,CADG;KAFP;;AAMA,QAAI,UAAU,WAAV,EAAuB;AACvB,uBAAe,WAAf,GAA6B,UAAU,WAAV,CADN;KAA3B,MAEO;AACH,uBAAe,WAAf,GAA6B,UAAU,IAAV,CAD1B;KAFP;;AAMA,WAAO,cAAP,CAfyD;CAAvC;;;;;;;;;AAyBtB,uBAAuB,8BAAC,aAAD,EAAgB,OAAhB,EAA4B;AAC/C,WAAO,UAAC,SAAD,EAAe;AAClB,eAAO,oBAAoB,SAApB,EAA+B,aAA/B,EAA8C,OAA9C,CAAP,CADkB;KAAf,CADwC;CAA5B;;kBAMR,YAAa;AACxB,QAAI,2EAAJ,EAA2B;AACvB,eAAO,yKAAP,CADuB;KAA3B,MAEO;AACH,eAAO,wHAAP,CADG;KAFP;CADW","file":"index.js","sourcesContent":["import _ from 'lodash';\nimport extendReactClass from './extendReactClass';\nimport wrapStatelessFunction from './wrapStatelessFunction';\n\nlet decoratorConstructor,\n functionConstructor,\n isReactComponent;\n\n/**\n * Determines if the given object has the signature of a class that inherits React.Component.\n *\n * @param {*} Component\n * @returns {boolean}\n */\nisReactComponent = (maybeReactComponent) => {\n return 'prototype' in maybeReactComponent && _.isFunction(maybeReactComponent.prototype.render);\n};\n\n/**\n * When used as a function.\n *\n * @param {Function} Component\n * @param {Object} defaultStyles CSS Modules class map.\n * @param {Object} options {@link https://github.com/gajus/react-css-modules#options}\n * @returns {Function}\n */\nfunctionConstructor = (Component, defaultStyles, options) => {\n let decoratedClass;\n\n if (isReactComponent(Component)) {\n decoratedClass = extendReactClass(Component, defaultStyles, options);\n } else {\n decoratedClass = wrapStatelessFunction(Component, defaultStyles, options);\n }\n\n if (Component.displayName) {\n decoratedClass.displayName = Component.displayName;\n } else {\n decoratedClass.displayName = Component.name;\n }\n\n return decoratedClass;\n};\n\n/**\n * When used as a ES7 decorator.\n *\n * @param {Object} defaultStyles CSS Modules class map.\n * @param {Object} options {@link https://github.com/gajus/react-css-modules#options}\n * @returns {Function}\n */\ndecoratorConstructor = (defaultStyles, options) => {\n return (Component) => {\n return functionConstructor(Component, defaultStyles, options);\n };\n};\n\nexport default (...args) => {\n if (_.isFunction(args[0])) {\n return functionConstructor(args[0], args[1], args[2]);\n } else {\n return decoratorConstructor(args[0], args[1]);\n }\n};\n"],"sourceRoot":"/source/"}
\No newline at end of file