@morjs/runtime-web
Version:
mor runtime for web
28 lines • 1.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isTabBarPage = exports.cacheTabBarPath = exports.TAB_BAR_PATH_CACHE_KEY = void 0;
const tslib_1 = require("tslib");
const cache_1 = tslib_1.__importDefault(require("./cache"));
exports.TAB_BAR_PATH_CACHE_KEY = 'tabBarPath';
const isUsefulArray = (param) => Array.isArray(param) && param.length > 0;
const cacheTabBarPath = (config) => {
const hadTabBarItems = typeof config === 'object' && isUsefulArray(config.items);
if (!hadTabBarItems)
return;
const { items } = config;
const result = [];
items.forEach((item) => result.push(item.pagePath));
cache_1.default.set(exports.TAB_BAR_PATH_CACHE_KEY, result);
};
exports.cacheTabBarPath = cacheTabBarPath;
const complementPath = (path) => (path[0] === '/' ? path : `/${path}`);
const isTabBarPage = (path) => {
if (!path)
return false;
const tabBarPaths = cache_1.default.get(exports.TAB_BAR_PATH_CACHE_KEY);
if (!isUsefulArray(tabBarPaths))
return false;
return tabBarPaths.some((p) => complementPath(p) === complementPath(path));
};
exports.isTabBarPage = isTabBarPage;
//# sourceMappingURL=helper.js.map