press-plus
Version:
31 lines (30 loc) • 631 B
text/typescript
import type { IGuruItem } from './types';
/**
* 获取微前端命名空间
*
* guruList 示例:
*
* ```ts
* [{
* root: 'views/sche-manage-vert-team',
* guruNamespace: 'convert-cross-two'
* }],
* ```
* @param path 查询路径
* @returns namespace
*/
export function getGuruNamespace({
path,
guruList = [],
defaultNamespace = 'convert-cross',
}: {
path: string;
guruList: Array<IGuruItem>;
defaultNamespace?: string;
}) {
if (path) {
const item = guruList.filter(item => path.includes(`${item.root}/`))?.[0];
return item?.guruNamespace || defaultNamespace;
}
return defaultNamespace;
}