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
JavaScript
;
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);
}
}
}
};
}