@patternplate/client
Version:
Universal javascript client application for patternplate
31 lines (25 loc) • 656 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.toggle = toggle;
var _lodash = require("lodash");
var _ = require("./");
function toggle(key) {
const property = (0, _lodash.camelCase)(key);
const fn = (payload = {}) => {
return (dispatch, getState) => {
const next = "forced" in payload ? payload.forced : !getState()[property];
dispatch((0, _.patchLocation)({
query: {
[key]: next
}
}));
};
};
fn.type = `TOGGLE_${(0, _lodash.snakeCase)(key).toUpperCase()}`;
fn.property = property;
fn.key = key;
return fn;
}
//# sourceMappingURL=toggle.js.map