UNPKG

2.56 kBSource Map (JSON)View Raw
1{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAM,mBAAmB,SAAnB,gBAAmB,CAAC,mBAAD,EAAuC;AAC5D,WAAO,eAAe,mBAAf,IAAsC,0BAAa,oBAAoB,SAApB,CAA8B,MAA9B,CAAnD,CADqD;CAAvC;;;;;AAOzB,IAAM,sBAAsB,SAAtB,mBAAsB,CAAC,SAAD,EAAsB,aAAtB,EAA6C,OAA7C,EAAgF;AACxG,QAAI,uBAAJ,CADwG;;AAGxG,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,CAfwG;CAAhF;;;;;AAqB5B,IAAM,uBAAuB,SAAvB,oBAAuB,CAAC,aAAD,EAAwB,OAAxB,EAA2D;AACpF,WAAO,UAAC,SAAD,EAAyB;AAC5B,eAAO,oBAAoB,SAApB,EAA+B,aAA/B,EAA8C,OAA9C,CAAP,CAD4B;KAAzB,CAD6E;CAA3D;;kBAMd,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\n/**\n * @see https://github.com/gajus/react-css-modules#options\n */\ntype OptionsType = {};\n\n/**\n * Determines if the given object has the signature of a class that inherits React.Component.\n */\nconst isReactComponent = (maybeReactComponent: any): boolean => {\n return 'prototype' in maybeReactComponent && _.isFunction(maybeReactComponent.prototype.render);\n};\n\n/**\n * When used as a function.\n */\nconst functionConstructor = (Component: Function, defaultStyles: Object, options: OptionsType): Function => {\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 */\nconst decoratorConstructor = (defaultStyles: Object, options: OptionsType): Function => {\n return (Component: Function) => {\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