🖋️ Add grammar for Radar chart

This commit is contained in:
Thomas Di Cizerone
2025-03-16 18:00:50 +01:00
parent d6022408a9
commit d80cc38bb2
11 changed files with 577 additions and 2 deletions

View File

@@ -1,8 +1,8 @@
import type { LangiumParser, ParseResult } from 'langium';
import type { Info, Packet, Pie, Architecture, GitGraph } from './index.js';
import type { Info, Packet, Pie, Architecture, GitGraph, Radar } from './index.js';
export type DiagramAST = Info | Packet | Pie | Architecture | GitGraph;
export type DiagramAST = Info | Packet | Pie | Architecture | GitGraph | Radar;
const parsers: Record<string, LangiumParser> = {};
const initializers = {
@@ -31,6 +31,11 @@ const initializers = {
const parser = createGitGraphServices().GitGraph.parser.LangiumParser;
parsers.gitGraph = parser;
},
radar: async () => {
const { createRadarServices } = await import('./language/radar/index.js');
const parser = createRadarServices().Radar.parser.LangiumParser;
parsers.radar = parser;
},
} as const;
export async function parse(diagramType: 'info', text: string): Promise<Info>;
@@ -38,6 +43,7 @@ export async function parse(diagramType: 'packet', text: string): Promise<Packet
export async function parse(diagramType: 'pie', text: string): Promise<Pie>;
export async function parse(diagramType: 'architecture', text: string): Promise<Architecture>;
export async function parse(diagramType: 'gitGraph', text: string): Promise<GitGraph>;
export async function parse(diagramType: 'radar', text: string): Promise<Radar>;
export async function parse<T extends DiagramAST>(
diagramType: keyof typeof initializers,