/**
* 合并普通的js对象
* @param prev
* @param next
* @return {{}}
*/
const mergePlainObject = function (prev, next) {
return ({...prev, ...next})
}
/**
* 循环key
* @param target
* @return {string[]}
*/
const mapKeys = (target) => Object.keys(target)
/**
* 创建新的key
* @param namespace
* @param key
* @return {string}
*/
const createNewKeyStr = (namespace, key) => `${namespace}/${key}`
/**
* 根据namespace重命名普通的js对象的key
* @param namespace
* @param plainObject
* @return {{[p: string]: *}}
*/
const renamePlainObjectKey = (namespace, plainObject = {}) =>
mapKeys(plainObject).map((key) => ({[createNewKeyStr(namespace, key)]: plainObject[key]})).reduce(mergePlainObject, {})
export {
mergePlainObject,
mapKeys,
createNewKeyStr,
renamePlainObjectKey
} |