Merge branch next into add-pie-langium-parser

This commit is contained in:
Reda Al Sulais
2024-01-25 14:56:34 +03:00
79 changed files with 1888 additions and 593 deletions

View File

@@ -1,9 +1,9 @@
import type { LangiumParser, ParseResult } from 'langium';
import type { Info, Pie } from './index.js';
import { createInfoServices, createPieServices } from './language/index.js';
import type { Info, Packet, Pie } from './index.js';
import { createInfoServices, createPacketServices, createPieServices } from './language/index.js';
export type DiagramAST = Info | Pie;
export type DiagramAST = Info | Packet | Pie;
const parsers: Record<string, LangiumParser> = {};
const initializers = {
@@ -12,12 +12,16 @@ const initializers = {
// const { createInfoServices } = await import('./language/info/index.js');
parsers['info'] = createInfoServices().Info.parser.LangiumParser;
},
packet: () => {
parsers['packet'] = createPacketServices().Packet.parser.LangiumParser;
},
pie: () => {
parsers['pie'] = createPieServices().Pie.parser.LangiumParser;
},
} as const;
export function parse(diagramType: 'info', text: string): Info;
export function parse(diagramType: 'packet', text: string): Packet;
export function parse(diagramType: 'pie', text: string): Pie;
export function parse<T extends DiagramAST>(
diagramType: keyof typeof initializers,