"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.clearMenuItem = clearMenuItem; exports.flatMap = flatMap; exports.getMenuFirstChildren = getMenuFirstChildren; exports.getSlot = getSlot; exports.getSlotVNode = getSlotVNode; var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); function clearMenuItem(menusData) { return menusData.map(function (item) { var _finalItem$meta; var finalItem = (0, _objectSpread2.default)({}, item); if ((_finalItem$meta = finalItem.meta) !== null && _finalItem$meta !== void 0 && _finalItem$meta.hideInMenu) { return null; } if (finalItem && finalItem !== null && finalItem !== void 0 && finalItem.children) { var _finalItem$meta2; if (!((_finalItem$meta2 = finalItem.meta) !== null && _finalItem$meta2 !== void 0 && _finalItem$meta2.hideChildInMenu) && finalItem.children.some(function (child) { var _child$meta; return child && child.name && !((_child$meta = child.meta) !== null && _child$meta !== void 0 && _child$meta.hideInMenu); })) { return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, { children: clearMenuItem(finalItem.children) }); } delete finalItem.children; } return finalItem; }).filter(function (item) { return item; }); } function flatMap(menusData) { return menusData.map(function (item) { var _finalItem$meta3; var finalItem = (0, _objectSpread2.default)({}, item); if (!finalItem.name || (_finalItem$meta3 = finalItem.meta) !== null && _finalItem$meta3 !== void 0 && _finalItem$meta3.hideInMenu) { return null; } if (finalItem.children) { delete finalItem.children; } return finalItem; }).filter(function (item) { return item; }); } function getMenuFirstChildren(menus, key) { return key === undefined ? [] : (menus[menus.findIndex(function (menu) { return menu.path === key; })] || {}).children || []; } function getSlot(slots, props) { var prop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default'; if (props[prop] === false) { // force not render return false; } return props[prop] || slots[prop]; } function getSlotVNode(slots, props) { var _slots$prop; var prop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'default'; if (props[prop] === false) { return false; } return props[prop] || ((_slots$prop = slots[prop]) === null || _slots$prop === void 0 ? void 0 : _slots$prop.call(slots)); }