{ "version": 3, "sources": ["../../../src/language/treeView/valueConverter.ts", "../../../src/language/treeView/tokenBuilder.ts", "../../../src/language/treeView/module.ts"], "sourcesContent": ["import type { CstNode, GrammarAST, ValueType } from 'langium';\nimport { AbstractMermaidValueConverter } from '../common/index.js';\n\nexport class TreeViewValueConverter extends AbstractMermaidValueConverter {\n protected runCustomConverter(\n rule: GrammarAST.AbstractRule,\n input: string,\n _cstNode: CstNode\n ): ValueType | undefined {\n if (rule.name === 'INDENTATION') {\n return input?.length || 0;\n } else if (rule.name === 'STRING2') {\n // Remove quotes\n return input.substring(1, input.length - 1);\n }\n return undefined;\n }\n}\n", "import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class TreeViewTokenBuilder extends AbstractMermaidTokenBuilder {\n public constructor() {\n super(['treeView-beta']);\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 { TreeViewValueConverter } from './valueConverter.js';\nimport {\n MermaidGeneratedSharedModule,\n TreeViewGrammarGeneratedModule as TreeViewGeneratedModule,\n} from '../generated/module.js';\nimport { TreeViewTokenBuilder } from './tokenBuilder.js';\n\n/**\n * Declaration of `TreeView` services.\n */\ninterface TreeViewAddedServices {\n parser: {\n TokenBuilder: TreeViewTokenBuilder;\n ValueConverter: TreeViewValueConverter;\n };\n}\n\n/**\n * Union of Langium default services and `TreeView` services.\n */\nexport type TreeViewServices = LangiumCoreServices & TreeViewAddedServices;\n\n/**\n * Dependency injection module that overrides Langium default services and\n * contributes the declared `TreeView` services.\n */\nexport const TreeViewModule: Module<\n TreeViewServices,\n PartialLangiumCoreServices & TreeViewAddedServices\n> = {\n parser: {\n TokenBuilder: () => new TreeViewTokenBuilder(),\n ValueConverter: () => new TreeViewValueConverter(),\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 createTreeViewServices(context: DefaultSharedCoreModuleContext = EmptyFileSystem): {\n shared: LangiumSharedCoreServices;\n TreeView: TreeViewServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const TreeView: TreeViewServices = inject(\n createDefaultCoreModule({ shared }),\n TreeViewGeneratedModule,\n TreeViewModule\n );\n shared.ServiceRegistry.register(TreeView);\n return { shared, TreeView };\n}\n"], "mappings": ";;;;;;;;;;;;;;AAGO,IAAM,yBAAN,cAAqC,8BAA8B;AAAA,EAH1E,OAG0E;AAAA;AAAA;AAAA,EAC9D,mBACR,MACA,OACA,UACuB;AACvB,QAAI,KAAK,SAAS,eAAe;AAC/B,aAAO,OAAO,UAAU;AAAA,IAC1B,WAAW,KAAK,SAAS,WAAW;AAElC,aAAO,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC;AAAA,IAC5C;AACA,WAAO;AAAA,EACT;AACF;;;ACfO,IAAM,uBAAN,cAAmC,4BAA4B;AAAA,EAFtE,OAEsE;AAAA;AAAA;AAAA,EAC7D,cAAc;AACnB,UAAM,CAAC,eAAe,CAAC;AAAA,EACzB;AACF;;;ACkCO,IAAM,iBAGT;AAAA,EACF,QAAQ;AAAA,IACN,cAAc,6BAAM,IAAI,qBAAqB,GAA/B;AAAA,IACd,gBAAgB,6BAAM,IAAI,uBAAuB,GAAjC;AAAA,EAClB;AACF;AAgBO,SAAS,uBAAuB,UAA0C,iBAG/E;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,WAA6B;AAAA,IACjC,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,QAAQ;AACxC,SAAO,EAAE,QAAQ,SAAS;AAC5B;AAfgB;", "names": [] }