UNPKG

@appsemble/lang-sdk

Version:

Language SDK for Appsemble

38 lines 1.34 kB
import { normalize } from './normalize.js'; export function getPageMessageId(pageName) { return `pages.${normalize(pageName)}`; } export function getPagePathSegment(page) { return normalize(typeof page === 'string' ? page : page.name); } export function getPageDisplayName(page, getAppMessage) { return getAppMessage({ id: getPageMessageId(page.name), defaultMessage: page.name, }).format(); } function matchesPageId(page, normalizedPageId, appMessageIds, getAppMessage) { if (getPagePathSegment(page) === normalizedPageId) { return true; } const pageMessageId = getPageMessageId(page.name); if (!appMessageIds.includes(pageMessageId)) { return false; } return normalize(getPageDisplayName(page, getAppMessage)) === normalizedPageId; } export function findPageById(pages, normalizedPageId, appMessageIds, getAppMessage) { for (const page of pages) { if (matchesPageId(page, normalizedPageId, appMessageIds, getAppMessage)) { return page; } if (page.type === 'container') { const foundPage = findPageById(page.pages, normalizedPageId, appMessageIds, getAppMessage); if (foundPage) { return foundPage; } } } return null; } //# sourceMappingURL=pageUtils.js.map