UNPKG

@mintlify/common

Version:

Commonly shared code within Mintlify

46 lines (45 loc) 1.36 kB
import { divisions, } from '@mintlify/validation'; import { isPage } from './index.js'; export function getFirstPageFromNavigation(node) { if (!node || typeof node !== 'object') return undefined; if (isPage(node)) { return node; } if ('pages' in node) { for (const page of node.pages) { if (typeof page === 'object') { const pagePath = getFirstPageFromNavigation(page); if (pagePath) { return pagePath; } } } } if ('groups' in node) { for (const group of node.groups) { if (group.hidden) continue; const page = getFirstPageFromNavigation(group); if (page) { return page; } } } for (const key of divisions) { if (key in node) { const items = node[key]; if (Array.isArray(items)) { for (const item of items) { if (typeof item === 'object' && 'hidden' in item && item.hidden) continue; const page = getFirstPageFromNavigation(item); if (page) { return page; } } } } } return undefined; }