UNPKG

vitepress-openapi

Version:

Generate VitePress API Documentation from OpenAPI Specification.

20 lines (16 loc) 695 B
import type { DefaultTheme } from 'vitepress' import type { OASidebarItem } from '../../composables/useSidebar' export function cleanSidebarItems(result: (OASidebarItem[] | OASidebarItem)): DefaultTheme.SidebarItem[] | DefaultTheme.SidebarItem { if (Array.isArray(result)) { return result.map(cleanSidebarItems) as DefaultTheme.SidebarItem[] } if (typeof result === 'object') { return { text: result.text, ...(result.collapsed === undefined ? {} : { collapsed: result.collapsed }), ...(result.link ? { link: result.link } : {}), ...(result.items ? { items: cleanSidebarItems(result.items) } : {}), } as DefaultTheme.SidebarItem } return result }