{
  "version": 3,
  "sources": ["../../../src/language/railroad-abnf/tokenBuilder.ts", "../../../src/language/railroad-abnf/valueConverter.ts", "../../../src/language/railroad-abnf/module.ts"],
  "sourcesContent": ["import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class RailroadAbnfTokenBuilder extends AbstractMermaidTokenBuilder {\n  constructor() {\n    super(['railroad-abnf-beta']);\n  }\n}\n", "import type { CstNode, GrammarAST, ValueType } from 'langium';\n\nimport { AbstractMermaidValueConverter } from '../common/index.js';\n\nexport class RailroadAbnfValueConverter extends AbstractMermaidValueConverter {\n  protected override runConverter(\n    rule: GrammarAST.AbstractRule,\n    input: string,\n    cstNode: CstNode\n  ): ValueType {\n    const value = super.runConverter(rule, input, cstNode);\n\n    if (rule.name === 'TITLE' && typeof value === 'string') {\n      const trimmedValue = value.trim();\n      if (\n        (trimmedValue.startsWith('\"') && trimmedValue.endsWith('\"')) ||\n        (trimmedValue.startsWith(\"'\") && trimmedValue.endsWith(\"'\"))\n      ) {\n        return trimmedValue.slice(1, -1);\n      }\n    }\n\n    return value;\n  }\n\n  protected runCustomConverter(\n    rule: GrammarAST.AbstractRule,\n    input: string,\n    _cstNode: CstNode\n  ): ValueType | undefined {\n    if (rule.name === 'ABNF_STRING') {\n      return input.slice(1, -1);\n    }\n\n    return undefined;\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 { RailroadAbnfTokenBuilder } from './tokenBuilder.js';\nimport { RailroadAbnfValueConverter } from './valueConverter.js';\nimport {\n  MermaidGeneratedSharedModule,\n  RailroadAbnfGrammarGeneratedModule as RailroadAbnfGeneratedModule,\n} from '../generated/module.js';\n\ninterface RailroadAbnfAddedServices {\n  parser: {\n    TokenBuilder: RailroadAbnfTokenBuilder;\n    ValueConverter: RailroadAbnfValueConverter;\n  };\n}\n\nexport type RailroadAbnfServices = LangiumCoreServices & RailroadAbnfAddedServices;\n\nexport const RailroadAbnfModule: Module<\n  RailroadAbnfServices,\n  PartialLangiumCoreServices & RailroadAbnfAddedServices\n> = {\n  parser: {\n    TokenBuilder: () => new RailroadAbnfTokenBuilder(),\n    ValueConverter: () => new RailroadAbnfValueConverter(),\n  },\n};\n\nexport function createRailroadAbnfServices(\n  context: DefaultSharedCoreModuleContext = EmptyFileSystem\n): {\n  shared: LangiumSharedCoreServices;\n  RailroadAbnf: RailroadAbnfServices;\n} {\n  const shared: LangiumSharedCoreServices = inject(\n    createDefaultSharedCoreModule(context),\n    MermaidGeneratedSharedModule\n  );\n  const RailroadAbnf: RailroadAbnfServices = inject(\n    createDefaultCoreModule({ shared }),\n    RailroadAbnfGeneratedModule,\n    RailroadAbnfModule\n  );\n  shared.ServiceRegistry.register(RailroadAbnf);\n  return { shared, RailroadAbnf };\n}\n"],
  "mappings": "4GAEO,IAAMA,EAAN,cAAuCC,CAA4B,CAF1E,MAE0E,CAAAC,EAAA,iCACxE,aAAc,CACZ,MAAM,CAAC,oBAAoB,CAAC,CAC9B,CACF,ECFO,IAAMC,EAAN,cAAyCC,CAA8B,CAJ9E,MAI8E,CAAAC,EAAA,mCACzD,aACjBC,EACAC,EACAC,EACW,CACX,IAAMC,EAAQ,MAAM,aAAaH,EAAMC,EAAOC,CAAO,EAErD,GAAIF,EAAK,OAAS,SAAW,OAAOG,GAAU,SAAU,CACtD,IAAMC,EAAeD,EAAM,KAAK,EAChC,GACGC,EAAa,WAAW,GAAG,GAAKA,EAAa,SAAS,GAAG,GACzDA,EAAa,WAAW,GAAG,GAAKA,EAAa,SAAS,GAAG,EAE1D,OAAOA,EAAa,MAAM,EAAG,EAAE,CAEnC,CAEA,OAAOD,CACT,CAEU,mBACRH,EACAC,EACAI,EACuB,CACvB,GAAIL,EAAK,OAAS,cAChB,OAAOC,EAAM,MAAM,EAAG,EAAE,CAI5B,CACF,ECNO,IAAMK,EAGT,CACF,OAAQ,CACN,aAAcC,EAAA,IAAM,IAAIC,EAAV,gBACd,eAAgBD,EAAA,IAAM,IAAIE,EAAV,iBAClB,CACF,EAEO,SAASC,EACdC,EAA0CC,EAI1C,CACA,IAAMC,EAAoCC,EACxCC,EAA8BJ,CAAO,EACrCK,CACF,EACMC,EAAqCH,EACzCI,EAAwB,CAAE,OAAAL,CAAO,CAAC,EAClCM,EACAb,CACF,EACA,OAAAO,EAAO,gBAAgB,SAASI,CAAY,EACrC,CAAE,OAAAJ,EAAQ,aAAAI,CAAa,CAChC,CAjBgBV,EAAAG,EAAA",
  "names": ["RailroadAbnfTokenBuilder", "AbstractMermaidTokenBuilder", "__name", "RailroadAbnfValueConverter", "AbstractMermaidValueConverter", "__name", "rule", "input", "cstNode", "value", "trimmedValue", "_cstNode", "RailroadAbnfModule", "__name", "RailroadAbnfTokenBuilder", "RailroadAbnfValueConverter", "createRailroadAbnfServices", "context", "EmptyFileSystem", "shared", "inject", "createDefaultSharedCoreModule", "MermaidGeneratedSharedModule", "RailroadAbnf", "createDefaultCoreModule", "RailroadAbnfGrammarGeneratedModule"]
}
