import { createDefaultCoreModule, createDefaultSharedCoreModule } from "../../../../../langium/lib/default-module.js";
import { inject } from "../../../../../langium/lib/dependency-injection.js";
import { EmptyFileSystem } from "../../../../../langium/lib/workspace/file-system-provider.js";
import "../../../../../langium/lib/index.js";
import { AbstractMermaidTokenBuilder, AbstractMermaidValueConverter, ArchitectureGrammarGeneratedModule, MermaidGeneratedSharedModule, __name } from "./chunk-TCCFYFTB.js";
var ArchitectureTokenBuilder = class extends AbstractMermaidTokenBuilder {
	static #e = __name(this, "ArchitectureTokenBuilder");
	constructor() {
		super(["architecture"]);
	}
}, ArchitectureValueConverter = class extends AbstractMermaidValueConverter {
	static #e = __name(this, "ArchitectureValueConverter");
	runCustomConverter(e, c, l) {
		if (e.name === "ARCH_ICON") return c.replace(/[()]/g, "").trim();
		if (e.name === "ARCH_TEXT_ICON") return c.replace(/["()]/g, "");
		if (e.name === "ARCH_TITLE") return c.replace(/[[\]]/g, "").trim();
	}
}, ArchitectureModule = { parser: {
	TokenBuilder: /* @__PURE__ */ __name(() => new ArchitectureTokenBuilder(), "TokenBuilder"),
	ValueConverter: /* @__PURE__ */ __name(() => new ArchitectureValueConverter(), "ValueConverter")
} };
function createArchitectureServices(u = EmptyFileSystem) {
	let d = inject(createDefaultSharedCoreModule(u), MermaidGeneratedSharedModule), f = inject(createDefaultCoreModule({ shared: d }), ArchitectureGrammarGeneratedModule, ArchitectureModule);
	return d.ServiceRegistry.register(f), {
		shared: d,
		Architecture: f
	};
}
__name(createArchitectureServices, "createArchitectureServices");
export { ArchitectureModule, createArchitectureServices };
