react-data-binding
Version:
do react data binding easily
69 lines (48 loc) • 3.9 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', {
value: true
});
var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
var _get = function get(_x3, _x4, _x5) { var _again = true; _function: while (_again) { var object = _x3, property = _x4, receiver = _x5; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x3 = parent; _x4 = property; _x5 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
exports.createRootContainer = createRootContainer;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var _Store = require('./Store');
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _constants = require('./constants');
function createRootContainerWrapper(WrappedComponent, store, storeName) {
var RootContainer = (function (_Component) {
_inherits(RootContainer, _Component);
function RootContainer() {
_classCallCheck(this, RootContainer);
_get(Object.getPrototypeOf(RootContainer.prototype), 'constructor', this).apply(this, arguments);
}
_createClass(RootContainer, [{
key: 'getChildContext',
value: function getChildContext() {
return _defineProperty({}, storeName, store);
}
}, {
key: 'render',
value: function render() {
return _react2['default'].createElement(WrappedComponent, this.props);
}
}]);
return RootContainer;
})(_react.Component);
RootContainer.childContextTypes = _defineProperty({}, storeName, _constants.storeShape);
return RootContainer;
}
function createRootContainer() {
var initialStore = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
var option = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var store = typeof initialStore.getState === 'function' ? initialStore : new _Store.Store(initialStore);
var _option$storeName = option.storeName;
var storeName = _option$storeName === undefined ? 'store' : _option$storeName;
return function (WrappedComponent) {
return createRootContainerWrapper(WrappedComponent, store, storeName);
};
}