UNPKG

2.24 kBSource Map (JSON)View Raw
1{"version":3,"sources":["wrapStatelessFunction.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAI,iCAAJ;;;;;;;;;AASA,wBAAwB,+BAAC,SAAD,EAAY,aAAZ,EAA2B,OAA3B,EAAuC;AAC3D,QAAI,4BAAJ,CAD2D;;AAG3D,uBAAmB,4BAAyB;0CAAT;;SAAS;;YAAxB,8DAAQ,kBAAgB;;AACxC,YAAI,wBAAJ;YACI,kBADJ;YAEI,oBAFJ,CADwC;;AAKxC,YAAI,MAAM,MAAN,EAAc;AACd,uBAAW,KAAX,CADc;AAEd,qBAAS,MAAM,MAAN,CAFK;SAAlB,MAGO,IAAI,wBAAW,aAAX,CAAJ,EAA+B;AAClC,uBAAW,sBAAS,EAAT,EAAa,KAAb,EAAoB;AAC3B,wBAAQ,aAAR;aADO,CAAX,CADkC;;AAKlC,qBAAS,aAAT,CALkC;SAA/B,MAMA;AACH,uBAAW,KAAX,CADG;AAEH,qBAAS,EAAT,CAFG;SANA;;AAWP,uBAAe,4BAAU,iBAAa,KAAvB,CAAf,CAnBwC;;AAqBxC,YAAI,YAAJ,EAAkB;AACd,mBAAO,yBAAU,YAAV,EAAwB,MAAxB,EAAgC,OAAhC,CAAP,CADc;SAAlB;;AAIA,eAAO,gBAAM,aAAN,CAAoB,UAApB,CAAP,CAzBwC;KAAzB,CAHwC;;AA+B3D,0BAAS,gBAAT,EAA2B,SAA3B,EA/B2D;;AAiC3D,WAAO,gBAAP,CAjC2D;CAAvC;;kBAoCT","file":"wrapStatelessFunction.js","sourcesContent":["/* eslint-disable react/prop-types */\n\nimport linkClass from './linkClass';\nimport React from 'react';\nimport _ from 'lodash';\n\nlet wrapStatelessFunction;\n\n/**\n * @see https://facebook.github.io/react/blog/2015/09/10/react-v0.14-rc1.html#stateless-function-components\n * @param {Function} Component\n * @param {Object} defaultStyles\n * @param {Object} options\n * @returns {Function}\n */\nwrapStatelessFunction = (Component, defaultStyles, options) => {\n let WrappedComponent;\n\n WrappedComponent = (props = {}, ...args) => {\n let renderResult,\n styles,\n useProps;\n\n if (props.styles) {\n useProps = props;\n styles = props.styles;\n } else if (_.isObject(defaultStyles)) {\n useProps = _.assign({}, props, {\n styles: defaultStyles\n });\n\n styles = defaultStyles;\n } else {\n useProps = props;\n styles = {};\n }\n\n renderResult = Component(useProps, ...args);\n\n if (renderResult) {\n return linkClass(renderResult, styles, options);\n }\n\n return React.createElement('noscript');\n };\n\n _.assign(WrappedComponent, Component);\n\n return WrappedComponent;\n};\n\nexport default wrapStatelessFunction;\n"],"sourceRoot":"/source/"}
\No newline at end of file