{ "version": 3, "sources": ["../../../src/language/wardley/valueConverter.ts", "../../../src/language/wardley/module.ts"], "sourcesContent": ["import type { CstNode, GrammarAST, ValueType } from 'langium';\n\nimport { AbstractMermaidValueConverter } from '../common/index.js';\n\nexport class WardleyValueConverter extends AbstractMermaidValueConverter {\n protected runCustomConverter(\n rule: GrammarAST.AbstractRule,\n input: string,\n _cstNode: CstNode\n ): ValueType | undefined {\n switch (rule.name.toUpperCase()) {\n case 'LINK_LABEL':\n // Strip the leading ';' and trim whitespace\n return input.substring(1).trim();\n default:\n return undefined;\n }\n }\n}\n", "import type {\n DefaultSharedCoreModuleContext,\n LangiumCoreServices,\n LangiumSharedCoreServices,\n Module,\n PartialLangiumCoreServices,\n} from 'langium';\nimport {\n EmptyFileSystem,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject,\n} from 'langium';\n\nimport {\n MermaidGeneratedSharedModule,\n WardleyGrammarGeneratedModule as WardleyGeneratedModule,\n} from '../generated/module.js';\nimport { WardleyValueConverter } from './valueConverter.js';\n\n/**\n * Declaration of `Wardley` services.\n */\ninterface WardleyAddedServices {\n parser: {\n ValueConverter: WardleyValueConverter;\n };\n}\n\n/**\n * Union of Langium default services and `Wardley` services.\n */\nexport type WardleyServices = LangiumCoreServices & WardleyAddedServices;\n\n/**\n * Dependency injection module that overrides Langium default services and\n * contributes the declared `Wardley` services.\n */\nexport const WardleyModule: Module<\n WardleyServices,\n PartialLangiumCoreServices & WardleyAddedServices\n> = {\n parser: {\n ValueConverter: () => new WardleyValueConverter(),\n },\n};\n\n/**\n * Create the full set of services required by Langium.\n *\n * First inject the shared services by merging two modules:\n * - Langium default shared services\n * - Services generated by langium-cli\n *\n * Then inject the language-specific services by merging three modules:\n * - Langium default language-specific services\n * - Services generated by langium-cli\n * - Services specified in this file\n * @param context - Optional module context with the LSP connection\n * @returns An object wrapping the shared services and the language-specific services\n */\nexport function createWardleyServices(context: DefaultSharedCoreModuleContext = EmptyFileSystem): {\n shared: LangiumSharedCoreServices;\n Wardley: WardleyServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Wardley: WardleyServices = inject(\n createDefaultCoreModule({ shared }),\n WardleyGeneratedModule,\n WardleyModule\n );\n shared.ServiceRegistry.register(Wardley);\n return { shared, Wardley };\n}\n"], "mappings": "4FAIO,IAAMA,EAAN,cAAoCC,CAA8B,CAJzE,MAIyE,CAAAC,EAAA,8BAC7D,mBACRC,EACAC,EACAC,EACuB,CACvB,OAAQF,EAAK,KAAK,YAAY,EAAG,CAC/B,IAAK,aAEH,OAAOC,EAAM,UAAU,CAAC,EAAE,KAAK,EACjC,QACE,MACJ,CACF,CACF,ECoBO,IAAME,EAGT,CACF,OAAQ,CACN,eAAgBC,EAAA,IAAM,IAAIC,EAAV,iBAClB,CACF,EAgBO,SAASC,EAAsBC,EAA0CC,EAG9E,CACA,IAAMC,EAAoCC,EACxCC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAA2BH,EAC/BI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAZ,CACF,EACA,OAAAM,EAAO,gBAAgB,SAASI,CAAO,EAChC,CAAE,OAAAJ,EAAQ,QAAAI,CAAQ,CAC3B,CAfgBT,EAAAE,EAAA", "names": ["WardleyValueConverter", "AbstractMermaidValueConverter", "__name", "rule", "input", "_cstNode", "WardleyModule", "__name", "WardleyValueConverter", "createWardleyServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "Wardley", "createDefaultCoreModule", "WardleyGrammarGeneratedModule"] }