UNPKG

langium-cli

Version:

CLI for Langium - the language engineering tool

13 lines 736 B
import { joinToNode, toString } from 'langium/generate'; import { collectAst, LangiumGrammarGrammar } from 'langium/grammar'; import { collectKeywords } from './langium-util.js'; export function generateTypesFile(services, grammars) { const { unions, interfaces } = collectAst(grammars, { services }); const reservedWords = new Set(collectKeywords(LangiumGrammarGrammar())); const fileNode = joinToNode([ joinToNode(unions, union => union.toDeclaredTypesString(reservedWords), { appendNewLineIfNotEmpty: true }), joinToNode(interfaces, iFace => iFace.toDeclaredTypesString(reservedWords), { appendNewLineIfNotEmpty: true }) ]); return toString(fileNode); } //# sourceMappingURL=types-generator.js.map