var __rest = (this && this.__rest) || function (s, e) {
    var t = {};
    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
        t[p] = s[p];
    if (s != null && typeof Object.getOwnPropertySymbols === "function")
        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                t[p[i]] = s[p[i]];
        }
    return t;
};
import { createContext } from 'react';
import { isEmpty, head, map } from 'lodash';
import LRU from 'lru-cache';
export const urlCacheData = new LRU({});
export const UserMenuContext = createContext(null);
//获取首个路由path
export function getPath(menu) {
    let path;
    (function getRoute(menu = []) {
        if (isEmpty(menu.routes)) {
            path = menu.path;
        }
        else {
            getRoute(head(menu.routes));
        }
    })(head(menu));
    return path;
}
//展开菜单
export function analysisTree(menus, key) {
    if (isEmpty(menus)) {
        return [];
    }
    const menu = new Map();
    const convertMenu = (list) => {
        list.forEach((item) => {
            const { routes = [] } = item, other = __rest(item, ["routes"]);
            menu.set(item[key], other);
            if (!isEmpty(routes)) {
                convertMenu(routes);
            }
        });
    };
    convertMenu(menus);
    return map(Array.from(menu.values()), key);
}