feature: vor und nachteile

This commit is contained in:
Hikyu
2026-05-31 13:54:31 +02:00
parent 552a947a1c
commit e3dad17446
23270 changed files with 3024794 additions and 200 deletions
@@ -0,0 +1,9 @@
import {
ArchitectureModule,
createArchitectureServices
} from "./chunk-O7U5UWJI.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
ArchitectureModule,
createArchitectureServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,130 @@
import {
AbstractMermaidTokenBuilder,
AbstractMermaidValueConverter,
EmptyFileSystem,
MermaidGeneratedSharedModule,
TreemapGrammarGeneratedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/treemap/tokenBuilder.ts
var TreemapTokenBuilder = class extends AbstractMermaidTokenBuilder {
static {
__name(this, "TreemapTokenBuilder");
}
constructor() {
super(["treemap"]);
}
};
// src/language/treemap/valueConverter.ts
var classDefRegex = /classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/;
var TreemapValueConverter = class extends AbstractMermaidValueConverter {
static {
__name(this, "TreemapValueConverter");
}
runCustomConverter(rule, input, _cstNode) {
if (rule.name === "NUMBER2") {
return parseFloat(input.replace(/,/g, ""));
} else if (rule.name === "SEPARATOR") {
return input.substring(1, input.length - 1);
} else if (rule.name === "STRING2") {
return input.substring(1, input.length - 1);
} else if (rule.name === "INDENTATION") {
return input.length;
} else if (rule.name === "ClassDef") {
if (typeof input !== "string") {
return input;
}
const match = classDefRegex.exec(input);
if (match) {
return {
$type: "ClassDefStatement",
className: match[1],
styleText: match[2] || void 0
};
}
}
return void 0;
}
};
// src/language/treemap/treemap-validator.ts
function registerValidationChecks(services) {
const validator = services.validation.TreemapValidator;
const registry = services.validation.ValidationRegistry;
if (registry) {
const checks = {
Treemap: validator.checkSingleRoot.bind(validator)
// Remove unused validation for TreemapRow
};
registry.register(checks, validator);
}
}
__name(registerValidationChecks, "registerValidationChecks");
var TreemapValidator = class {
static {
__name(this, "TreemapValidator");
}
/**
* Validates that a treemap has only one root node.
* A root node is defined as a node that has no indentation.
*/
checkSingleRoot(doc, accept) {
let rootNodeIndentation;
for (const row of doc.TreemapRows) {
if (!row.item) {
continue;
}
if (rootNodeIndentation === void 0 && // Check if this is a root node (no indentation)
row.indent === void 0) {
rootNodeIndentation = 0;
} else if (row.indent === void 0) {
accept("error", "Multiple root nodes are not allowed in a treemap.", {
node: row,
property: "item"
});
} else if (rootNodeIndentation !== void 0 && rootNodeIndentation >= parseInt(row.indent, 10)) {
accept("error", "Multiple root nodes are not allowed in a treemap.", {
node: row,
property: "item"
});
}
}
}
};
// src/language/treemap/module.ts
var TreemapModule = {
parser: {
TokenBuilder: /* @__PURE__ */ __name(() => new TreemapTokenBuilder(), "TokenBuilder"),
ValueConverter: /* @__PURE__ */ __name(() => new TreemapValueConverter(), "ValueConverter")
},
validation: {
TreemapValidator: /* @__PURE__ */ __name(() => new TreemapValidator(), "TreemapValidator")
}
};
function createTreemapServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const Treemap = inject(
createDefaultCoreModule({ shared }),
TreemapGrammarGeneratedModule,
TreemapModule
);
shared.ServiceRegistry.register(Treemap);
registerValidationChecks(Treemap);
return { shared, Treemap };
}
__name(createTreemapServices, "createTreemapServices");
export {
TreemapModule,
createTreemapServices
};
File diff suppressed because one or more lines are too long
@@ -0,0 +1,62 @@
import {
AbstractMermaidTokenBuilder,
AbstractMermaidValueConverter,
EmptyFileSystem,
MermaidGeneratedSharedModule,
PieGrammarGeneratedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/pie/tokenBuilder.ts
var PieTokenBuilder = class extends AbstractMermaidTokenBuilder {
static {
__name(this, "PieTokenBuilder");
}
constructor() {
super(["pie", "showData"]);
}
};
// src/language/pie/valueConverter.ts
var PieValueConverter = class extends AbstractMermaidValueConverter {
static {
__name(this, "PieValueConverter");
}
runCustomConverter(rule, input, _cstNode) {
if (rule.name !== "PIE_SECTION_LABEL") {
return void 0;
}
return input.replace(/"/g, "").trim();
}
};
// src/language/pie/module.ts
var PieModule = {
parser: {
TokenBuilder: /* @__PURE__ */ __name(() => new PieTokenBuilder(), "TokenBuilder"),
ValueConverter: /* @__PURE__ */ __name(() => new PieValueConverter(), "ValueConverter")
}
};
function createPieServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const Pie = inject(
createDefaultCoreModule({ shared }),
PieGrammarGeneratedModule,
PieModule
);
shared.ServiceRegistry.register(Pie);
return { shared, Pie };
}
__name(createPieServices, "createPieServices");
export {
PieModule,
createPieServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/language/pie/tokenBuilder.ts", "../../../src/language/pie/valueConverter.ts", "../../../src/language/pie/module.ts"],
"sourcesContent": ["import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class PieTokenBuilder extends AbstractMermaidTokenBuilder {\n public constructor() {\n super(['pie', 'showData']);\n }\n}\n", "import type { CstNode, GrammarAST, ValueType } from 'langium';\n\nimport { AbstractMermaidValueConverter } from '../common/index.js';\n\nexport class PieValueConverter extends AbstractMermaidValueConverter {\n protected runCustomConverter(\n rule: GrammarAST.AbstractRule,\n input: string,\n _cstNode: CstNode\n ): ValueType | undefined {\n if (rule.name !== 'PIE_SECTION_LABEL') {\n return undefined;\n }\n return input.replace(/\"/g, '').trim();\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 PieGrammarGeneratedModule as PieGeneratedModule,\n} from '../generated/module.js';\nimport { PieTokenBuilder } from './tokenBuilder.js';\nimport { PieValueConverter } from './valueConverter.js';\n\n/**\n * Declaration of `Pie` services.\n */\ninterface PieAddedServices {\n parser: {\n TokenBuilder: PieTokenBuilder;\n ValueConverter: PieValueConverter;\n };\n}\n\n/**\n * Union of Langium default services and `Pie` services.\n */\nexport type PieServices = LangiumCoreServices & PieAddedServices;\n\n/**\n * Dependency injection module that overrides Langium default services and\n * contributes the declared `Pie` services.\n */\nexport const PieModule: Module<PieServices, PartialLangiumCoreServices & PieAddedServices> = {\n parser: {\n TokenBuilder: () => new PieTokenBuilder(),\n ValueConverter: () => new PieValueConverter(),\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 createPieServices(context: DefaultSharedCoreModuleContext = EmptyFileSystem): {\n shared: LangiumSharedCoreServices;\n Pie: PieServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Pie: PieServices = inject(\n createDefaultCoreModule({ shared }),\n PieGeneratedModule,\n PieModule\n );\n shared.ServiceRegistry.register(Pie);\n return { shared, Pie };\n}\n"],
"mappings": ";;;;;;;;;;;;;;AAEO,IAAM,kBAAN,cAA8B,4BAA4B;AAAA,EAFjE,OAEiE;AAAA;AAAA;AAAA,EACxD,cAAc;AACnB,UAAM,CAAC,OAAO,UAAU,CAAC;AAAA,EAC3B;AACF;;;ACFO,IAAM,oBAAN,cAAgC,8BAA8B;AAAA,EAJrE,OAIqE;AAAA;AAAA;AAAA,EACzD,mBACR,MACA,OACA,UACuB;AACvB,QAAI,KAAK,SAAS,qBAAqB;AACrC,aAAO;AAAA,IACT;AACA,WAAO,MAAM,QAAQ,MAAM,EAAE,EAAE,KAAK;AAAA,EACtC;AACF;;;ACyBO,IAAM,YAAgF;AAAA,EAC3F,QAAQ;AAAA,IACN,cAAc,6BAAM,IAAI,gBAAgB,GAA1B;AAAA,IACd,gBAAgB,6BAAM,IAAI,kBAAkB,GAA5B;AAAA,EAClB;AACF;AAgBO,SAAS,kBAAkB,UAA0C,iBAG1E;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,MAAmB;AAAA,IACvB,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,GAAG;AACnC,SAAO,EAAE,QAAQ,IAAI;AACvB;AAfgB;",
"names": []
}
@@ -0,0 +1,49 @@
import {
AbstractMermaidTokenBuilder,
CommonValueConverter,
EmptyFileSystem,
InfoGrammarGeneratedModule,
MermaidGeneratedSharedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/info/tokenBuilder.ts
var InfoTokenBuilder = class extends AbstractMermaidTokenBuilder {
static {
__name(this, "InfoTokenBuilder");
}
constructor() {
super(["info", "showInfo"]);
}
};
// src/language/info/module.ts
var InfoModule = {
parser: {
TokenBuilder: /* @__PURE__ */ __name(() => new InfoTokenBuilder(), "TokenBuilder"),
ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), "ValueConverter")
}
};
function createInfoServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const Info = inject(
createDefaultCoreModule({ shared }),
InfoGrammarGeneratedModule,
InfoModule
);
shared.ServiceRegistry.register(Info);
return { shared, Info };
}
__name(createInfoServices, "createInfoServices");
export {
InfoModule,
createInfoServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/language/info/tokenBuilder.ts", "../../../src/language/info/module.ts"],
"sourcesContent": ["import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class InfoTokenBuilder extends AbstractMermaidTokenBuilder {\n public constructor() {\n super(['info', 'showInfo']);\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 { CommonValueConverter } from '../common/index.js';\nimport {\n InfoGrammarGeneratedModule as InfoGeneratedModule,\n MermaidGeneratedSharedModule,\n} from '../generated/module.js';\nimport { InfoTokenBuilder } from './tokenBuilder.js';\n\n/**\n * Declaration of `Info` services.\n */\ninterface InfoAddedServices {\n parser: {\n TokenBuilder: InfoTokenBuilder;\n ValueConverter: CommonValueConverter;\n };\n}\n\n/**\n * Union of Langium default services and `Info` services.\n */\nexport type InfoServices = LangiumCoreServices & InfoAddedServices;\n\n/**\n * Dependency injection module that overrides Langium default services and\n * contributes the declared `Info` services.\n */\nexport const InfoModule: Module<InfoServices, PartialLangiumCoreServices & InfoAddedServices> = {\n parser: {\n TokenBuilder: () => new InfoTokenBuilder(),\n ValueConverter: () => new CommonValueConverter(),\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 createInfoServices(context: DefaultSharedCoreModuleContext = EmptyFileSystem): {\n shared: LangiumSharedCoreServices;\n Info: InfoServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Info: InfoServices = inject(\n createDefaultCoreModule({ shared }),\n InfoGeneratedModule,\n InfoModule\n );\n shared.ServiceRegistry.register(Info);\n return { shared, Info };\n}\n"],
"mappings": ";;;;;;;;;;;;;;AAEO,IAAM,mBAAN,cAA+B,4BAA4B;AAAA,EAFlE,OAEkE;AAAA;AAAA;AAAA,EACzD,cAAc;AACnB,UAAM,CAAC,QAAQ,UAAU,CAAC;AAAA,EAC5B;AACF;;;ACkCO,IAAM,aAAmF;AAAA,EAC9F,QAAQ;AAAA,IACN,cAAc,6BAAM,IAAI,iBAAiB,GAA3B;AAAA,IACd,gBAAgB,6BAAM,IAAI,qBAAqB,GAA/B;AAAA,EAClB;AACF;AAgBO,SAAS,mBAAmB,UAA0C,iBAG3E;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,OAAqB;AAAA,IACzB,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,IAAI;AACpC,SAAO,EAAE,QAAQ,KAAK;AACxB;AAfgB;",
"names": []
}
@@ -0,0 +1,52 @@
import {
AbstractMermaidValueConverter,
EmptyFileSystem,
MermaidGeneratedSharedModule,
WardleyGrammarGeneratedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/wardley/valueConverter.ts
var WardleyValueConverter = class extends AbstractMermaidValueConverter {
static {
__name(this, "WardleyValueConverter");
}
runCustomConverter(rule, input, _cstNode) {
switch (rule.name.toUpperCase()) {
case "LINK_LABEL":
return input.substring(1).trim();
default:
return void 0;
}
}
};
// src/language/wardley/module.ts
var WardleyModule = {
parser: {
ValueConverter: /* @__PURE__ */ __name(() => new WardleyValueConverter(), "ValueConverter")
}
};
function createWardleyServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const Wardley = inject(
createDefaultCoreModule({ shared }),
WardleyGrammarGeneratedModule,
WardleyModule
);
shared.ServiceRegistry.register(Wardley);
return { shared, Wardley };
}
__name(createWardleyServices, "createWardleyServices");
export {
WardleyModule,
createWardleyServices
};
@@ -0,0 +1,7 @@
{
"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": ";;;;;;;;;;;;;AAIO,IAAM,wBAAN,cAAoC,8BAA8B;AAAA,EAJzE,OAIyE;AAAA;AAAA;AAAA,EAC7D,mBACR,MACA,OACA,UACuB;AACvB,YAAQ,KAAK,KAAK,YAAY,GAAG;AAAA,MAC/B,KAAK;AAEH,eAAO,MAAM,UAAU,CAAC,EAAE,KAAK;AAAA,MACjC;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;;;ACoBO,IAAM,gBAGT;AAAA,EACF,QAAQ;AAAA,IACN,gBAAgB,6BAAM,IAAI,sBAAsB,GAAhC;AAAA,EAClB;AACF;AAgBO,SAAS,sBAAsB,UAA0C,iBAG9E;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,UAA2B;AAAA,IAC/B,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,OAAO;AACvC,SAAO,EAAE,QAAQ,QAAQ;AAC3B;AAfgB;",
"names": []
}
@@ -0,0 +1,49 @@
import {
AbstractMermaidTokenBuilder,
CommonValueConverter,
EmptyFileSystem,
MermaidGeneratedSharedModule,
PacketGrammarGeneratedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/packet/tokenBuilder.ts
var PacketTokenBuilder = class extends AbstractMermaidTokenBuilder {
static {
__name(this, "PacketTokenBuilder");
}
constructor() {
super(["packet"]);
}
};
// src/language/packet/module.ts
var PacketModule = {
parser: {
TokenBuilder: /* @__PURE__ */ __name(() => new PacketTokenBuilder(), "TokenBuilder"),
ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), "ValueConverter")
}
};
function createPacketServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const Packet = inject(
createDefaultCoreModule({ shared }),
PacketGrammarGeneratedModule,
PacketModule
);
shared.ServiceRegistry.register(Packet);
return { shared, Packet };
}
__name(createPacketServices, "createPacketServices");
export {
PacketModule,
createPacketServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/language/packet/tokenBuilder.ts", "../../../src/language/packet/module.ts"],
"sourcesContent": ["import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class PacketTokenBuilder extends AbstractMermaidTokenBuilder {\n public constructor() {\n super(['packet']);\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 { CommonValueConverter } from '../common/valueConverter.js';\nimport {\n MermaidGeneratedSharedModule,\n PacketGrammarGeneratedModule as PacketGeneratedModule,\n} from '../generated/module.js';\nimport { PacketTokenBuilder } from './tokenBuilder.js';\n\n/**\n * Declaration of `Packet` services.\n */\ninterface PacketAddedServices {\n parser: {\n TokenBuilder: PacketTokenBuilder;\n ValueConverter: CommonValueConverter;\n };\n}\n\n/**\n * Union of Langium default services and `Packet` services.\n */\nexport type PacketServices = LangiumCoreServices & PacketAddedServices;\n\n/**\n * Dependency injection module that overrides Langium default services and\n * contributes the declared `Packet` services.\n */\nexport const PacketModule: Module<\n PacketServices,\n PartialLangiumCoreServices & PacketAddedServices\n> = {\n parser: {\n TokenBuilder: () => new PacketTokenBuilder(),\n ValueConverter: () => new CommonValueConverter(),\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 createPacketServices(context: DefaultSharedCoreModuleContext = EmptyFileSystem): {\n shared: LangiumSharedCoreServices;\n Packet: PacketServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Packet: PacketServices = inject(\n createDefaultCoreModule({ shared }),\n PacketGeneratedModule,\n PacketModule\n );\n shared.ServiceRegistry.register(Packet);\n return { shared, Packet };\n}\n"],
"mappings": ";;;;;;;;;;;;;;AAEO,IAAM,qBAAN,cAAiC,4BAA4B;AAAA,EAFpE,OAEoE;AAAA;AAAA;AAAA,EAC3D,cAAc;AACnB,UAAM,CAAC,QAAQ,CAAC;AAAA,EAClB;AACF;;;ACkCO,IAAM,eAGT;AAAA,EACF,QAAQ;AAAA,IACN,cAAc,6BAAM,IAAI,mBAAmB,GAA7B;AAAA,IACd,gBAAgB,6BAAM,IAAI,qBAAqB,GAA/B;AAAA,EAClB;AACF;AAgBO,SAAS,qBAAqB,UAA0C,iBAG7E;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,SAAyB;AAAA,IAC7B,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,MAAM;AACtC,SAAO,EAAE,QAAQ,OAAO;AAC1B;AAfgB;",
"names": []
}
@@ -0,0 +1,49 @@
import {
AbstractMermaidTokenBuilder,
CommonValueConverter,
EmptyFileSystem,
GitGraphGrammarGeneratedModule,
MermaidGeneratedSharedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/gitGraph/tokenBuilder.ts
var GitGraphTokenBuilder = class extends AbstractMermaidTokenBuilder {
static {
__name(this, "GitGraphTokenBuilder");
}
constructor() {
super(["gitGraph"]);
}
};
// src/language/gitGraph/module.ts
var GitGraphModule = {
parser: {
TokenBuilder: /* @__PURE__ */ __name(() => new GitGraphTokenBuilder(), "TokenBuilder"),
ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), "ValueConverter")
}
};
function createGitGraphServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const GitGraph = inject(
createDefaultCoreModule({ shared }),
GitGraphGrammarGeneratedModule,
GitGraphModule
);
shared.ServiceRegistry.register(GitGraph);
return { shared, GitGraph };
}
__name(createGitGraphServices, "createGitGraphServices");
export {
GitGraphModule,
createGitGraphServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/language/gitGraph/tokenBuilder.ts", "../../../src/language/gitGraph/module.ts"],
"sourcesContent": ["import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class GitGraphTokenBuilder extends AbstractMermaidTokenBuilder {\n public constructor() {\n super(['gitGraph']);\n }\n}\n", "import type {\n DefaultSharedCoreModuleContext,\n LangiumCoreServices,\n LangiumSharedCoreServices,\n Module,\n PartialLangiumCoreServices,\n} from 'langium';\nimport {\n inject,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n EmptyFileSystem,\n} from 'langium';\nimport { CommonValueConverter } from '../common/valueConverter.js';\nimport {\n MermaidGeneratedSharedModule,\n GitGraphGrammarGeneratedModule as GitGraphGeneratedModule,\n} from '../generated/module.js';\nimport { GitGraphTokenBuilder } from './tokenBuilder.js';\n\ninterface GitGraphAddedServices {\n parser: {\n TokenBuilder: GitGraphTokenBuilder;\n ValueConverter: CommonValueConverter;\n };\n}\n\nexport type GitGraphServices = LangiumCoreServices & GitGraphAddedServices;\n\nexport const GitGraphModule: Module<\n GitGraphServices,\n PartialLangiumCoreServices & GitGraphAddedServices\n> = {\n parser: {\n TokenBuilder: () => new GitGraphTokenBuilder(),\n ValueConverter: () => new CommonValueConverter(),\n },\n};\n\nexport function createGitGraphServices(context: DefaultSharedCoreModuleContext = EmptyFileSystem): {\n shared: LangiumSharedCoreServices;\n GitGraph: GitGraphServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const GitGraph: GitGraphServices = inject(\n createDefaultCoreModule({ shared }),\n GitGraphGeneratedModule,\n GitGraphModule\n );\n shared.ServiceRegistry.register(GitGraph);\n return { shared, GitGraph };\n}\n"],
"mappings": ";;;;;;;;;;;;;;AAEO,IAAM,uBAAN,cAAmC,4BAA4B;AAAA,EAFtE,OAEsE;AAAA;AAAA;AAAA,EAC7D,cAAc;AACnB,UAAM,CAAC,UAAU,CAAC;AAAA,EACpB;AACF;;;ACuBO,IAAM,iBAGT;AAAA,EACF,QAAQ;AAAA,IACN,cAAc,6BAAM,IAAI,qBAAqB,GAA/B;AAAA,IACd,gBAAgB,6BAAM,IAAI,qBAAqB,GAA/B;AAAA,EAClB;AACF;AAEO,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": []
}
@@ -0,0 +1,64 @@
import {
AbstractMermaidTokenBuilder,
AbstractMermaidValueConverter,
EmptyFileSystem,
MermaidGeneratedSharedModule,
TreeViewGrammarGeneratedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/treeView/valueConverter.ts
var TreeViewValueConverter = class extends AbstractMermaidValueConverter {
static {
__name(this, "TreeViewValueConverter");
}
runCustomConverter(rule, input, _cstNode) {
if (rule.name === "INDENTATION") {
return input?.length || 0;
} else if (rule.name === "STRING2") {
return input.substring(1, input.length - 1);
}
return void 0;
}
};
// src/language/treeView/tokenBuilder.ts
var TreeViewTokenBuilder = class extends AbstractMermaidTokenBuilder {
static {
__name(this, "TreeViewTokenBuilder");
}
constructor() {
super(["treeView-beta"]);
}
};
// src/language/treeView/module.ts
var TreeViewModule = {
parser: {
TokenBuilder: /* @__PURE__ */ __name(() => new TreeViewTokenBuilder(), "TokenBuilder"),
ValueConverter: /* @__PURE__ */ __name(() => new TreeViewValueConverter(), "ValueConverter")
}
};
function createTreeViewServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const TreeView = inject(
createDefaultCoreModule({ shared }),
TreeViewGrammarGeneratedModule,
TreeViewModule
);
shared.ServiceRegistry.register(TreeView);
return { shared, TreeView };
}
__name(createTreeViewServices, "createTreeViewServices");
export {
TreeViewModule,
createTreeViewServices
};
@@ -0,0 +1,7 @@
{
"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": []
}
@@ -0,0 +1,71 @@
import {
AbstractMermaidTokenBuilder,
AbstractMermaidValueConverter,
ArchitectureGrammarGeneratedModule,
EmptyFileSystem,
MermaidGeneratedSharedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.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") {
let result = input.replace(/^\[|]$/g, "").trim();
if (result.startsWith('"') && result.endsWith('"') || result.startsWith("'") && result.endsWith("'")) {
result = result.slice(1, -1);
result = result.replace(/\\"/g, '"').replace(/\\'/g, "'");
}
return result.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 }),
ArchitectureGrammarGeneratedModule,
ArchitectureModule
);
shared.ServiceRegistry.register(Architecture);
return { shared, Architecture };
}
__name(createArchitectureServices, "createArchitectureServices");
export {
ArchitectureModule,
createArchitectureServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/language/architecture/tokenBuilder.ts", "../../../src/language/architecture/valueConverter.ts", "../../../src/language/architecture/module.ts"],
"sourcesContent": ["import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class ArchitectureTokenBuilder extends AbstractMermaidTokenBuilder {\n public constructor() {\n super(['architecture']);\n }\n}\n", "import type { CstNode, GrammarAST, ValueType } from 'langium';\n\nimport { AbstractMermaidValueConverter } from '../common/index.js';\n\nexport class ArchitectureValueConverter extends AbstractMermaidValueConverter {\n protected runCustomConverter(\n rule: GrammarAST.AbstractRule,\n input: string,\n _cstNode: CstNode\n ): ValueType | undefined {\n if (rule.name === 'ARCH_ICON') {\n return input.replace(/[()]/g, '').trim();\n } else if (rule.name === 'ARCH_TEXT_ICON') {\n return input.replace(/[\"()]/g, '');\n } else if (rule.name === 'ARCH_TITLE') {\n let result = input.replace(/^\\[|]$/g, '').trim();\n // Check if wrapped in quotes and remove only outer quotes\n if (\n (result.startsWith('\"') && result.endsWith('\"')) ||\n (result.startsWith(\"'\") && result.endsWith(\"'\"))\n ) {\n result = result.slice(1, -1);\n // Unescape escaped quotes\n result = result.replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n return result.trim();\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 {\n MermaidGeneratedSharedModule,\n ArchitectureGrammarGeneratedModule as ArchitectureGeneratedModule,\n} from '../generated/module.js';\nimport { ArchitectureTokenBuilder } from './tokenBuilder.js';\nimport { ArchitectureValueConverter } from './valueConverter.js';\n\n/**\n * Declaration of `Architecture` services.\n */\ninterface ArchitectureAddedServices {\n parser: {\n TokenBuilder: ArchitectureTokenBuilder;\n ValueConverter: ArchitectureValueConverter;\n };\n}\n\n/**\n * Union of Langium default services and `Architecture` services.\n */\nexport type ArchitectureServices = LangiumCoreServices & ArchitectureAddedServices;\n\n/**\n * Dependency injection module that overrides Langium default services and\n * contributes the declared `Architecture` services.\n */\nexport const ArchitectureModule: Module<\n ArchitectureServices,\n PartialLangiumCoreServices & ArchitectureAddedServices\n> = {\n parser: {\n TokenBuilder: () => new ArchitectureTokenBuilder(),\n ValueConverter: () => new ArchitectureValueConverter(),\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 createArchitectureServices(\n context: DefaultSharedCoreModuleContext = EmptyFileSystem\n): {\n shared: LangiumSharedCoreServices;\n Architecture: ArchitectureServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Architecture: ArchitectureServices = inject(\n createDefaultCoreModule({ shared }),\n ArchitectureGeneratedModule,\n ArchitectureModule\n );\n shared.ServiceRegistry.register(Architecture);\n return { shared, Architecture };\n}\n"],
"mappings": ";;;;;;;;;;;;;;AAEO,IAAM,2BAAN,cAAuC,4BAA4B;AAAA,EAF1E,OAE0E;AAAA;AAAA;AAAA,EACjE,cAAc;AACnB,UAAM,CAAC,cAAc,CAAC;AAAA,EACxB;AACF;;;ACFO,IAAM,6BAAN,cAAyC,8BAA8B;AAAA,EAJ9E,OAI8E;AAAA;AAAA;AAAA,EAClE,mBACR,MACA,OACA,UACuB;AACvB,QAAI,KAAK,SAAS,aAAa;AAC7B,aAAO,MAAM,QAAQ,SAAS,EAAE,EAAE,KAAK;AAAA,IACzC,WAAW,KAAK,SAAS,kBAAkB;AACzC,aAAO,MAAM,QAAQ,UAAU,EAAE;AAAA,IACnC,WAAW,KAAK,SAAS,cAAc;AACrC,UAAI,SAAS,MAAM,QAAQ,WAAW,EAAE,EAAE,KAAK;AAE/C,UACG,OAAO,WAAW,GAAG,KAAK,OAAO,SAAS,GAAG,KAC7C,OAAO,WAAW,GAAG,KAAK,OAAO,SAAS,GAAG,GAC9C;AACA,iBAAS,OAAO,MAAM,GAAG,EAAE;AAE3B,iBAAS,OAAO,QAAQ,QAAQ,GAAG,EAAE,QAAQ,QAAQ,GAAG;AAAA,MAC1D;AACA,aAAO,OAAO,KAAK;AAAA,IACrB;AACA,WAAO;AAAA,EACT;AACF;;;ACWO,IAAM,qBAGT;AAAA,EACF,QAAQ;AAAA,IACN,cAAc,6BAAM,IAAI,yBAAyB,GAAnC;AAAA,IACd,gBAAgB,6BAAM,IAAI,2BAA2B,GAArC;AAAA,EAClB;AACF;AAgBO,SAAS,2BACd,UAA0C,iBAI1C;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,eAAqC;AAAA,IACzC,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,YAAY;AAC5C,SAAO,EAAE,QAAQ,aAAa;AAChC;AAjBgB;",
"names": []
}
@@ -0,0 +1,111 @@
import {
AbstractMermaidTokenBuilder,
CommonValueConverter,
EmptyFileSystem,
EventModelingGeneratedModule,
MermaidGeneratedSharedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/eventmodeling/tokenBuilder.ts
var EventModelingTokenBuilder = class extends AbstractMermaidTokenBuilder {
static {
__name(this, "EventModelingTokenBuilder");
}
constructor() {
super(["eventmodeling"]);
}
};
// src/language/eventmodeling/event-modeling-validator.ts
var COMMAND_TYPES = /* @__PURE__ */ new Set(["cmd", "command"]);
var EVENT_TYPES = /* @__PURE__ */ new Set(["evt", "event"]);
var READMODEL_TYPES = /* @__PURE__ */ new Set(["rmo", "readmodel"]);
var PROCESSOR_TYPES = /* @__PURE__ */ new Set(["pcr", "processor"]);
var UI_TYPES = /* @__PURE__ */ new Set(["ui"]);
function registerValidationChecks(services) {
const validator = services.validation.EventModelingValidator;
const registry = services.validation.ValidationRegistry;
if (registry) {
const checks = {
EmTimeFrame: validator.checkSourceFrameTypes.bind(validator),
EmResetFrame: validator.checkSourceFrameTypes.bind(validator)
};
registry.register(checks, validator);
}
}
__name(registerValidationChecks, "registerValidationChecks");
var EventModelingValidator = class {
static {
__name(this, "EventModelingValidator");
}
checkSourceFrameTypes(frame, accept) {
if (frame.sourceFrames.length === 0) {
return;
}
if (COMMAND_TYPES.has(frame.modelEntityType)) {
this.validateSources(
frame,
/* @__PURE__ */ new Set([...UI_TYPES, ...PROCESSOR_TYPES]),
"command",
"ui or processor",
accept
);
} else if (EVENT_TYPES.has(frame.modelEntityType)) {
this.validateSources(frame, COMMAND_TYPES, "event", "command", accept);
} else if (READMODEL_TYPES.has(frame.modelEntityType)) {
this.validateSources(frame, EVENT_TYPES, "read model", "event", accept);
} else if (PROCESSOR_TYPES.has(frame.modelEntityType)) {
this.validateSources(frame, READMODEL_TYPES, "processor", "read model", accept);
} else if (UI_TYPES.has(frame.modelEntityType)) {
this.validateSources(frame, READMODEL_TYPES, "ui", "read model", accept);
}
}
validateSources(frame, allowedSourceTypes, targetLabel, expectedSourceLabel, accept) {
for (const sourceRef of frame.sourceFrames) {
const source = sourceRef.ref;
if (source !== void 0 && !allowedSourceTypes.has(source.modelEntityType)) {
accept(
"error",
`A ${targetLabel} can only receive input from a ${expectedSourceLabel}, not from '${source.modelEntityType}'.`,
{ node: frame, property: "sourceFrames" }
);
}
}
}
};
// src/language/eventmodeling/module.ts
var EventModelingModule = {
parser: {
TokenBuilder: /* @__PURE__ */ __name(() => new EventModelingTokenBuilder(), "TokenBuilder"),
ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), "ValueConverter")
},
validation: {
EventModelingValidator: /* @__PURE__ */ __name(() => new EventModelingValidator(), "EventModelingValidator")
}
};
function createEventModelingServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const EventModel = inject(
createDefaultCoreModule({ shared }),
EventModelingGeneratedModule,
EventModelingModule
);
shared.ServiceRegistry.register(EventModel);
registerValidationChecks(EventModel);
return { shared, EventModel };
}
__name(createEventModelingServices, "createEventModelingServices");
export {
EventModelingModule,
createEventModelingServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/language/eventmodeling/tokenBuilder.ts", "../../../src/language/eventmodeling/event-modeling-validator.ts", "../../../src/language/eventmodeling/module.ts"],
"sourcesContent": ["import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class EventModelingTokenBuilder extends AbstractMermaidTokenBuilder {\n public constructor() {\n super(['eventmodeling']);\n }\n}\n", "import type { ValidationAcceptor, ValidationChecks } from 'langium';\nimport type { EmFrame, EmResetFrame, EmTimeFrame, MermaidAstType } from '../generated/ast.js';\nimport type { EventModelingServices } from './module.js';\n\nconst COMMAND_TYPES = new Set<string>(['cmd', 'command']);\nconst EVENT_TYPES = new Set<string>(['evt', 'event']);\nconst READMODEL_TYPES = new Set<string>(['rmo', 'readmodel']);\nconst PROCESSOR_TYPES = new Set<string>(['pcr', 'processor']);\nconst UI_TYPES = new Set<string>(['ui']);\n\nexport function registerValidationChecks(services: EventModelingServices) {\n const validator = services.validation.EventModelingValidator;\n const registry = services.validation.ValidationRegistry;\n if (registry) {\n const checks: ValidationChecks<MermaidAstType> = {\n EmTimeFrame: validator.checkSourceFrameTypes.bind(validator),\n EmResetFrame: validator.checkSourceFrameTypes.bind(validator),\n };\n registry.register(checks, validator);\n }\n}\n\nexport class EventModelingValidator {\n checkSourceFrameTypes(frame: EmTimeFrame | EmResetFrame, accept: ValidationAcceptor): void {\n if (frame.sourceFrames.length === 0) {\n return;\n }\n\n if (COMMAND_TYPES.has(frame.modelEntityType)) {\n this.validateSources(\n frame,\n new Set([...UI_TYPES, ...PROCESSOR_TYPES]),\n 'command',\n 'ui or processor',\n accept\n );\n } else if (EVENT_TYPES.has(frame.modelEntityType)) {\n this.validateSources(frame, COMMAND_TYPES, 'event', 'command', accept);\n } else if (READMODEL_TYPES.has(frame.modelEntityType)) {\n this.validateSources(frame, EVENT_TYPES, 'read model', 'event', accept);\n } else if (PROCESSOR_TYPES.has(frame.modelEntityType)) {\n this.validateSources(frame, READMODEL_TYPES, 'processor', 'read model', accept);\n } else if (UI_TYPES.has(frame.modelEntityType)) {\n this.validateSources(frame, READMODEL_TYPES, 'ui', 'read model', accept);\n }\n }\n\n private validateSources(\n frame: EmTimeFrame | EmResetFrame,\n allowedSourceTypes: Set<string>,\n targetLabel: string,\n expectedSourceLabel: string,\n accept: ValidationAcceptor\n ): void {\n for (const sourceRef of frame.sourceFrames) {\n const source: EmFrame | undefined = sourceRef.ref;\n if (source !== undefined && !allowedSourceTypes.has(source.modelEntityType)) {\n accept(\n 'error',\n `A ${targetLabel} can only receive input from a ${expectedSourceLabel}, not from '${source.modelEntityType}'.`,\n { node: frame, property: 'sourceFrames' }\n );\n }\n }\n }\n}\n", "import type {\n DefaultSharedCoreModuleContext,\n LangiumCoreServices,\n LangiumSharedCoreServices,\n Module,\n PartialLangiumCoreServices,\n} from 'langium';\nimport {\n inject,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n EmptyFileSystem,\n} from 'langium';\nimport { CommonValueConverter } from '../common/valueConverter.js';\nimport { MermaidGeneratedSharedModule, EventModelingGeneratedModule } from '../generated/module.js';\nimport { EventModelingTokenBuilder } from './tokenBuilder.js';\nimport { EventModelingValidator, registerValidationChecks } from './event-modeling-validator.js';\n\ninterface EventModelingAddedServices {\n parser: {\n TokenBuilder: EventModelingTokenBuilder;\n ValueConverter: CommonValueConverter;\n };\n validation: {\n EventModelingValidator: EventModelingValidator;\n };\n}\n\nexport type EventModelingServices = LangiumCoreServices & EventModelingAddedServices;\n\nexport const EventModelingModule: Module<\n EventModelingServices,\n PartialLangiumCoreServices & EventModelingAddedServices\n> = {\n parser: {\n TokenBuilder: () => new EventModelingTokenBuilder(),\n ValueConverter: () => new CommonValueConverter(),\n },\n validation: {\n EventModelingValidator: () => new EventModelingValidator(),\n },\n};\n\nexport function createEventModelingServices(\n context: DefaultSharedCoreModuleContext = EmptyFileSystem\n): {\n shared: LangiumSharedCoreServices;\n EventModel: EventModelingServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const EventModel: EventModelingServices = inject(\n createDefaultCoreModule({ shared }),\n EventModelingGeneratedModule,\n EventModelingModule\n );\n shared.ServiceRegistry.register(EventModel);\n registerValidationChecks(EventModel);\n return { shared, EventModel };\n}\n"],
"mappings": ";;;;;;;;;;;;;;AAEO,IAAM,4BAAN,cAAwC,4BAA4B;AAAA,EAF3E,OAE2E;AAAA;AAAA;AAAA,EAClE,cAAc;AACnB,UAAM,CAAC,eAAe,CAAC;AAAA,EACzB;AACF;;;ACFA,IAAM,gBAAgB,oBAAI,IAAY,CAAC,OAAO,SAAS,CAAC;AACxD,IAAM,cAAc,oBAAI,IAAY,CAAC,OAAO,OAAO,CAAC;AACpD,IAAM,kBAAkB,oBAAI,IAAY,CAAC,OAAO,WAAW,CAAC;AAC5D,IAAM,kBAAkB,oBAAI,IAAY,CAAC,OAAO,WAAW,CAAC;AAC5D,IAAM,WAAW,oBAAI,IAAY,CAAC,IAAI,CAAC;AAEhC,SAAS,yBAAyB,UAAiC;AACxE,QAAM,YAAY,SAAS,WAAW;AACtC,QAAM,WAAW,SAAS,WAAW;AACrC,MAAI,UAAU;AACZ,UAAM,SAA2C;AAAA,MAC/C,aAAa,UAAU,sBAAsB,KAAK,SAAS;AAAA,MAC3D,cAAc,UAAU,sBAAsB,KAAK,SAAS;AAAA,IAC9D;AACA,aAAS,SAAS,QAAQ,SAAS;AAAA,EACrC;AACF;AAVgB;AAYT,IAAM,yBAAN,MAA6B;AAAA,EAtBpC,OAsBoC;AAAA;AAAA;AAAA,EAClC,sBAAsB,OAAmC,QAAkC;AACzF,QAAI,MAAM,aAAa,WAAW,GAAG;AACnC;AAAA,IACF;AAEA,QAAI,cAAc,IAAI,MAAM,eAAe,GAAG;AAC5C,WAAK;AAAA,QACH;AAAA,QACA,oBAAI,IAAI,CAAC,GAAG,UAAU,GAAG,eAAe,CAAC;AAAA,QACzC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF,WAAW,YAAY,IAAI,MAAM,eAAe,GAAG;AACjD,WAAK,gBAAgB,OAAO,eAAe,SAAS,WAAW,MAAM;AAAA,IACvE,WAAW,gBAAgB,IAAI,MAAM,eAAe,GAAG;AACrD,WAAK,gBAAgB,OAAO,aAAa,cAAc,SAAS,MAAM;AAAA,IACxE,WAAW,gBAAgB,IAAI,MAAM,eAAe,GAAG;AACrD,WAAK,gBAAgB,OAAO,iBAAiB,aAAa,cAAc,MAAM;AAAA,IAChF,WAAW,SAAS,IAAI,MAAM,eAAe,GAAG;AAC9C,WAAK,gBAAgB,OAAO,iBAAiB,MAAM,cAAc,MAAM;AAAA,IACzE;AAAA,EACF;AAAA,EAEQ,gBACN,OACA,oBACA,aACA,qBACA,QACM;AACN,eAAW,aAAa,MAAM,cAAc;AAC1C,YAAM,SAA8B,UAAU;AAC9C,UAAI,WAAW,UAAa,CAAC,mBAAmB,IAAI,OAAO,eAAe,GAAG;AAC3E;AAAA,UACE;AAAA,UACA,KAAK,WAAW,kCAAkC,mBAAmB,eAAe,OAAO,eAAe;AAAA,UAC1G,EAAE,MAAM,OAAO,UAAU,eAAe;AAAA,QAC1C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACnCO,IAAM,sBAGT;AAAA,EACF,QAAQ;AAAA,IACN,cAAc,6BAAM,IAAI,0BAA0B,GAApC;AAAA,IACd,gBAAgB,6BAAM,IAAI,qBAAqB,GAA/B;AAAA,EAClB;AAAA,EACA,YAAY;AAAA,IACV,wBAAwB,6BAAM,IAAI,uBAAuB,GAAjC;AAAA,EAC1B;AACF;AAEO,SAAS,4BACd,UAA0C,iBAI1C;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,aAAoC;AAAA,IACxC,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,UAAU;AAC1C,2BAAyB,UAAU;AACnC,SAAO,EAAE,QAAQ,WAAW;AAC9B;AAlBgB;",
"names": []
}
@@ -0,0 +1,49 @@
import {
AbstractMermaidTokenBuilder,
CommonValueConverter,
EmptyFileSystem,
MermaidGeneratedSharedModule,
RadarGrammarGeneratedModule,
__name,
createDefaultCoreModule,
createDefaultSharedCoreModule,
inject,
lib_exports
} from "./chunk-PX4A6JQG.mjs";
// src/language/radar/tokenBuilder.ts
var RadarTokenBuilder = class extends AbstractMermaidTokenBuilder {
static {
__name(this, "RadarTokenBuilder");
}
constructor() {
super(["radar-beta"]);
}
};
// src/language/radar/module.ts
var RadarModule = {
parser: {
TokenBuilder: /* @__PURE__ */ __name(() => new RadarTokenBuilder(), "TokenBuilder"),
ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), "ValueConverter")
}
};
function createRadarServices(context = EmptyFileSystem) {
const shared = inject(
createDefaultSharedCoreModule(context),
MermaidGeneratedSharedModule
);
const Radar = inject(
createDefaultCoreModule({ shared }),
RadarGrammarGeneratedModule,
RadarModule
);
shared.ServiceRegistry.register(Radar);
return { shared, Radar };
}
__name(createRadarServices, "createRadarServices");
export {
RadarModule,
createRadarServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../../../src/language/radar/tokenBuilder.ts", "../../../src/language/radar/module.ts"],
"sourcesContent": ["import { AbstractMermaidTokenBuilder } from '../common/index.js';\n\nexport class RadarTokenBuilder extends AbstractMermaidTokenBuilder {\n public constructor() {\n super(['radar-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';\nimport { CommonValueConverter } from '../common/valueConverter.js';\nimport {\n MermaidGeneratedSharedModule,\n RadarGrammarGeneratedModule as RadarGeneratedModule,\n} from '../generated/module.js';\nimport { RadarTokenBuilder } from './tokenBuilder.js';\n\n/**\n * Declaration of `Radar` services.\n */\ninterface RadarAddedServices {\n parser: {\n TokenBuilder: RadarTokenBuilder;\n ValueConverter: CommonValueConverter;\n };\n}\n\n/**\n * Union of Langium default services and `Radar` services.\n */\nexport type RadarServices = LangiumCoreServices & RadarAddedServices;\n\n/**\n * Dependency injection module that overrides Langium default services and\n * contributes the declared `Radar` services.\n */\nexport const RadarModule: Module<RadarServices, PartialLangiumCoreServices & RadarAddedServices> = {\n parser: {\n TokenBuilder: () => new RadarTokenBuilder(),\n ValueConverter: () => new CommonValueConverter(),\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 createRadarServices(context: DefaultSharedCoreModuleContext = EmptyFileSystem): {\n shared: LangiumSharedCoreServices;\n Radar: RadarServices;\n} {\n const shared: LangiumSharedCoreServices = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const Radar: RadarServices = inject(\n createDefaultCoreModule({ shared }),\n RadarGeneratedModule,\n RadarModule\n );\n shared.ServiceRegistry.register(Radar);\n return { shared, Radar };\n}\n"],
"mappings": ";;;;;;;;;;;;;;AAEO,IAAM,oBAAN,cAAgC,4BAA4B;AAAA,EAFnE,OAEmE;AAAA;AAAA;AAAA,EAC1D,cAAc;AACnB,UAAM,CAAC,YAAY,CAAC;AAAA,EACtB;AACF;;;ACiCO,IAAM,cAAsF;AAAA,EACjG,QAAQ;AAAA,IACN,cAAc,6BAAM,IAAI,kBAAkB,GAA5B;AAAA,IACd,gBAAgB,6BAAM,IAAI,qBAAqB,GAA/B;AAAA,EAClB;AACF;AAgBO,SAAS,oBAAoB,UAA0C,iBAG5E;AACA,QAAM,SAAoC;AAAA,IACxC,8BAA8B,OAAO;AAAA,IACrC;AAAA,EACF;AACA,QAAM,QAAuB;AAAA,IAC3B,wBAAwB,EAAE,OAAO,CAAC;AAAA,IAClC;AAAA,IACA;AAAA,EACF;AACA,SAAO,gBAAgB,SAAS,KAAK;AACrC,SAAO,EAAE,QAAQ,MAAM;AACzB;AAfgB;",
"names": []
}
@@ -0,0 +1,9 @@
import {
EventModelingModule,
createEventModelingServices
} from "./chunk-XO5BLW42.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
EventModelingModule,
createEventModelingServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,9 @@
import {
GitGraphModule,
createGitGraphServices
} from "./chunk-HI4RQQYL.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
GitGraphModule,
createGitGraphServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,9 @@
import {
InfoModule,
createInfoServices
} from "./chunk-CDNQRGW5.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
InfoModule,
createInfoServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,9 @@
import {
PacketModule,
createPacketServices
} from "./chunk-FA542ZDV.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
PacketModule,
createPacketServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,9 @@
import {
PieModule,
createPieServices
} from "./chunk-BRXHIGYS.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
PieModule,
createPieServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,9 @@
import {
RadarModule,
createRadarServices
} from "./chunk-YSEVHDWN.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
RadarModule,
createRadarServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,9 @@
import {
TreeViewModule,
createTreeViewServices
} from "./chunk-JVRQLPLD.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
TreeViewModule,
createTreeViewServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,9 @@
import {
TreemapModule,
createTreemapServices
} from "./chunk-2ZAZGVDH.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
TreemapModule,
createTreemapServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}
@@ -0,0 +1,9 @@
import {
WardleyModule,
createWardleyServices
} from "./chunk-F5IVBPYQ.mjs";
import "./chunk-PX4A6JQG.mjs";
export {
WardleyModule,
createWardleyServices
};
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": [],
"sourcesContent": [],
"mappings": "",
"names": []
}