UNPKG

redux-resource

Version:
33 lines (26 loc) 833 B
// Add or update meta export default function upsertMeta(meta, newMeta, mergeMeta) { if (!newMeta) { return meta; } var mergeMetaOption = typeof mergeMeta !== 'undefined' ? mergeMeta : true; var shallowClone = Object.assign({}, meta); for (var id in newMeta) { var resource = newMeta[id]; var resourceAlreadyExists = Boolean(meta[id]); // If there is no existing resource, we just add it to the meta object if (!resourceAlreadyExists) { shallowClone[id] = resource; continue; } var resourceToInsert = void 0; if (mergeMetaOption) { var currentResource = shallowClone[id]; resourceToInsert = Object.assign({}, currentResource, resource); } else { resourceToInsert = resource; } shallowClone[id] = resourceToInsert; } return shallowClone; }