UNPKG

@mintlify/common

Version:

Commonly shared code within Mintlify

33 lines (32 loc) 1.06 kB
import { divisions } from '@mintlify/validation'; import { readObjectArrayProperty } from '../divisions/iterateObjectArrayProperty.js'; export function getAllPathsInDocsNav(nav, paths = []) { if ('pages' in nav) { if ('root' in nav && typeof nav.root === 'string') { getPaths(nav.root, paths); } nav.pages.forEach((page) => getPaths(page, paths)); return paths; } for (const division of ['groups', ...divisions]) { const items = readObjectArrayProperty(nav, division); if (!items) continue; items.forEach((item) => getAllPathsInDocsNav(item, paths)); } return paths; } function getPaths(entry, paths) { if (typeof entry === 'string') { paths.push(entry); return; } if ('pages' in entry && Array.isArray(entry.pages)) { if ('root' in entry && typeof entry.root === 'object') { getPaths(entry.root, paths); } entry.pages.forEach((page) => { getPaths(page, paths); }); } }