UNPKG

react-redux-provide

Version:

Build your UI with React. Manage application state with Redux providers. Persist and share application state with replication. Use pure functions everywhere.

42 lines (37 loc) 975 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createKeyConcat; function createKeyConcat(keys, unshift) { var key = keys; var getTarget = function getTarget(provider) { return provider; }; if (Array.isArray(keys)) { keys = [].concat(keys); key = keys.pop(); getTarget = function getTarget(provider) { return keys.reduce(function (obj, key) { return obj[key]; }, provider); }; } return function (providers, value) { for (var providerKey in providers) { var target = getTarget(providers[providerKey]); if (target) { if (!target[key]) { target[key] = []; } else if (!Array.isArray(target[key])) { target[key] = [target[key]]; } if (unshift) { target[key] = [].concat(value).concat(target[key]); } else { target[key] = target[key].concat(value); } } } }; }