import roadmaps from '../content/roadmaps.json'; export type RoadmapType = { seo: { title: string; description: string; keywords: string[]; }; title: string; description: string; featuredTitle: string; featuredDescription: string; author: { name: string; url: string; }; type: 'role' | 'tool'; featured: boolean; imageUrl?: string; jsonUrl?: string; isNew?: boolean; landingPath?: string; resourcesPath: string; contentPathsFilePath?: string; metaPath: string; isCommunity: boolean; isUpcoming: boolean; id: string; pdfUrl?: string; relatedRoadmaps?: string[]; }; export function getRoadmapById(id: string): RoadmapType | undefined { return (roadmaps as RoadmapType[]).find((roadmap) => roadmap.id === id); } export function getAllRoadmaps(): RoadmapType[] { return roadmaps as RoadmapType[]; } export function filterRoadmapsByIds(ids: string[]): RoadmapType[] { return (roadmaps as RoadmapType[]).filter(roadmap => ids.includes(roadmap.id)); } export function getFeaturedRoadmaps(): RoadmapType[] { const roadmaps: RoadmapType[] = getAllRoadmaps(); return roadmaps.filter((roadmap) => roadmap.featured); } export function isInteractiveRoadmap(id: string): boolean { return ['frontend', 'backend', 'devops', 'react', 'vue', 'python', 'java', 'blockchain', 'golang', 'javascript', 'nodejs', 'qa', 'design-system', 'angular', 'software-architect'].includes(id); }