UNPKG

thundercats-react

Version:

Thundercats addon for use with React

50 lines (36 loc) 1.42 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _invariant = require('invariant'); var _invariant2 = _interopRequireDefault(_invariant); var ContextWrapper = _react2['default'].createClass({ displayName: 'ThunderCatsContextWrapper', propTypes: { cat: _react2['default'].PropTypes.object.isRequired, children: _react2['default'].PropTypes.element.isRequired }, childContextTypes: { cat: _react2['default'].PropTypes.object.isRequired }, getChildContext: function getChildContext() { return { cat: this.props.cat }; }, render: function render() { return _react.Children.only(this.props.children); } }); // wrap a component in this context wrapper /* eslint-disable react/no-multi-comp, react/display-name */ ContextWrapper.wrap = function wrap(element, cat) { (0, _invariant2['default'])(_react2['default'].isValidElement(element), 'ContextWrapper wrap expects a valid React element'); (0, _invariant2['default'])(typeof cat === 'object', 'ContextWrapper expects an instance of Cat'); return _react2['default'].createElement(ContextWrapper, { cat: cat }, element); }; exports['default'] = ContextWrapper; module.exports = exports['default'];