import { AbstractMermaidTokenBuilder, AbstractMermaidValueConverter, ArchitectureGeneratedModule, EmptyFileSystem, MermaidGeneratedSharedModule, __name, createDefaultCoreModule, createDefaultSharedCoreModule, inject, lib_exports } from "./chunk-WVIFXK7E.mjs"; // src/language/architecture/tokenBuilder.ts var ArchitectureTokenBuilder = class extends AbstractMermaidTokenBuilder { static { __name(this, "ArchitectureTokenBuilder"); } constructor() { super(["architecture"]); } }; // src/language/architecture/valueConverter.ts var ArchitectureValueConverter = class extends AbstractMermaidValueConverter { static { __name(this, "ArchitectureValueConverter"); } runCustomConverter(rule, input, _cstNode) { if (rule.name === "ARCH_ICON") { return input.replace(/[()]/g, "").trim(); } else if (rule.name === "ARCH_TEXT_ICON") { return input.replace(/["()]/g, ""); } else if (rule.name === "ARCH_TITLE") { return input.replace(/[[\]]/g, "").trim(); } return void 0; } }; // src/language/architecture/module.ts var ArchitectureModule = { parser: { TokenBuilder: /* @__PURE__ */ __name(() => new ArchitectureTokenBuilder(), "TokenBuilder"), ValueConverter: /* @__PURE__ */ __name(() => new ArchitectureValueConverter(), "ValueConverter") } }; function createArchitectureServices(context = EmptyFileSystem) { const shared = inject( createDefaultSharedCoreModule(context), MermaidGeneratedSharedModule ); const Architecture = inject( createDefaultCoreModule({ shared }), ArchitectureGeneratedModule, ArchitectureModule ); shared.ServiceRegistry.register(Architecture); return { shared, Architecture }; } __name(createArchitectureServices, "createArchitectureServices"); export { ArchitectureModule, createArchitectureServices };