"use strict"; var __extends = (this && this.__extends) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]]; return t; }; var react_1 = require("react"); var recompose_1 = require("recompose"); ; ; var contextDefintion = { store: react_1.PropTypes.object.isRequired }; exports.__esModule = true; exports["default"] = function (EnhanceableComponent) { return _a = (function (_super) { __extends(PrismEnhancedComponent, _super); function PrismEnhancedComponent() { return _super !== null && _super.apply(this, arguments) || this; } PrismEnhancedComponent.prototype.getChildContext = function () { var _a = this.props, selector = _a.selector, wrapper = _a.wrapper; var store = this.context.store; var dispatch = function (action) { return store.dispatch(__assign({}, action, { type: wrapper(action.type) })); }; var getState = function (state) { return selector(store.getState()); }; return { store: __assign({}, store, { dispatch: dispatch, getState: getState }) }; }; PrismEnhancedComponent.prototype.render = function () { var _a = this.props, selector = _a.selector, wrapper = _a.wrapper, rest = __rest(_a, ["selector", "wrapper"]); return recompose_1.createEagerElement(EnhanceableComponent, rest); }; return PrismEnhancedComponent; }(react_1.Component)), _a.childContextTypes = contextDefintion, _a.contextTypes = contextDefintion, _a.propTypes = { wrapper: react_1.PropTypes.func.isRequired, selector: react_1.PropTypes.func.isRequired }, _a; var _a; };