/*
* 格式化路由数据
* @params menu 路由表
* @params flag 过滤隐藏菜单
* @returns 新路由表
* */
export function formatRoute (menu, flag) {
    let tempArr = []

    menu?.map(item => {
        if (item?.hideInMenu && !flag) return

        let tempObj = {
            path: item?.key,
            key: item?.key,
            label: item?.label,
            icon: item?.icon
        }

        item?.children?.length > 0 && (tempObj.children = formatRoute(item?.children, flag))
        tempArr.push(tempObj)
    })

    return tempArr
}

/*
* 获取默认路由key值
* @params menu 路由表
* @returns 默认路由key
* */
export function getDefaultRoute (menu) {
    let key = ''

    const getKey = value => {
        value?.some((item, index) => {
            key = item?.key

            if (item.children?.length > 0) getKey(item?.children)
            return index === 0
        })
    }

    getKey(menu ?? [])
    return key
}

/*
* 获取默认路由key值
* @params menu 路由表
* @returns 默认路由key
* */
export function getHideInMenu (menu) {
    let key = ''

    const getKey = value => {
        value?.some((item, index) => {
            key = item?.key

            if (item.children?.length > 0) getKey(item?.children)
            return index === 0
        })
    }

    getKey(menu ?? [])
    return key
}
