t-comm
Version:
专业、稳定、纯粹的工具库
27 lines (25 loc) • 924 B
JavaScript
/**
* 生成迭代式组件映射,将子组件的依赖合并到父组件中
* 遍历组件映射,如果某个组件本身也在映射中,则将其依赖合并到引用它的父组件中
* @param {IterativeComponentMap} usingComponentsMap 组件依赖映射,key 为页面/组件名,value 为其依赖的组件对象
* @example
* ```ts
* const map = {
* 'pages/index': { 'comp-a': {}, 'comp-b': {} },
* 'comp-a': { 'comp-c': {} },
* };
* genIterativeComponentMap(map);
* // map['pages/index']['comp-a'] 现在包含了 comp-c 的依赖
* ```
*/
function genIterativeComponentMap(usingComponentsMap) {
Object.keys(usingComponentsMap).map(function (page) {
var compObj = usingComponentsMap[page];
Object.keys(compObj).map(function (comp) {
if (usingComponentsMap[comp]) {
compObj[comp] = usingComponentsMap[comp];
}
});
});
}
export { genIterativeComponentMap };