{
  "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"]
}
