{ "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": ";;;;;;;;;;;;;AAIO,IAAM,wBAAN,cAAoC,8BAA8B;AAAA,EAJzE,OAIyE;AAAA;AAAA;AAAA,EAC7D,mBACR,MACA,OACA,UACuB;AACvB,YAAQ,KAAK,KAAK,YAAY,GAAG;AAAA,MAC/B,KAAK;AAEH,eAAO,MAAM,UAAU,CAAC,EAAE,KAAK;AAAA,MACjC;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;;;ACoBO,IAAM,gBAGT;AAAA,EACF,QAAQ;AAAA,IACN,gBAAgB,6BAAM,IAAI,sBAAsB,GAAhC;AAAA,EAClB;AACF;AAgBO,SAAS,sBAAsB,UAA0C,iBAG9E;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,UAA2B;AAAA,IAC/B,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,OAAO;AACvC,SAAO,EAAE,QAAQ,QAAQ;AAC3B;AAfgB;", "names": [] }