@patternplate/client
Version:
Universal javascript client application for patternplate
35 lines (26 loc) • 942 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = withToggle;
var _assert = _interopRequireDefault(require("assert"));
var _reactRedux = require("react-redux");
var _lodash = require("lodash");
var _shortcuts = _interopRequireDefault(require("../shortcuts"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const s = (0, _lodash.values)((0, _shortcuts.default)());
function withToggle(action) {
const shortcut = s.find(i => i.key === action.key);
(0, _assert.default)(shortcut, `${action} passed to withToggle has no matching shortcut found for ${action.key}`);
return Component => {
const mapProps = state => {
const enabled = state[action.property];
return {
enabled,
shortcut
};
};
return (0, _reactRedux.connect)(mapProps)(Component);
};
}
//# sourceMappingURL=with-toggle.js.map