{ "version": 3, "sources": ["../../../../parser/dist/chunks/mermaid-parser.core/chunk-N66VUXT2.mjs"], "sourcesContent": ["import {\n AbstractMermaidTokenBuilder,\n CommonValueConverter,\n EmptyFileSystem,\n EventModelingGeneratedModule,\n MermaidGeneratedSharedModule,\n __name,\n createDefaultCoreModule,\n createDefaultSharedCoreModule,\n inject,\n lib_exports\n} from \"./chunk-NNHCCRGN.mjs\";\n\n// src/language/eventmodeling/tokenBuilder.ts\nvar EventModelingTokenBuilder = class extends AbstractMermaidTokenBuilder {\n static {\n __name(this, \"EventModelingTokenBuilder\");\n }\n constructor() {\n super([\"eventmodeling\"]);\n }\n};\n\n// src/language/eventmodeling/event-modeling-validator.ts\nvar COMMAND_TYPES = /* @__PURE__ */ new Set([\"cmd\", \"command\"]);\nvar EVENT_TYPES = /* @__PURE__ */ new Set([\"evt\", \"event\"]);\nvar READMODEL_TYPES = /* @__PURE__ */ new Set([\"rmo\", \"readmodel\"]);\nvar PROCESSOR_TYPES = /* @__PURE__ */ new Set([\"pcr\", \"processor\"]);\nvar UI_TYPES = /* @__PURE__ */ new Set([\"ui\"]);\nfunction registerValidationChecks(services) {\n const validator = services.validation.EventModelingValidator;\n const registry = services.validation.ValidationRegistry;\n if (registry) {\n const checks = {\n EmTimeFrame: validator.checkSourceFrameTypes.bind(validator),\n EmResetFrame: validator.checkSourceFrameTypes.bind(validator)\n };\n registry.register(checks, validator);\n }\n}\n__name(registerValidationChecks, \"registerValidationChecks\");\nvar EventModelingValidator = class {\n static {\n __name(this, \"EventModelingValidator\");\n }\n checkSourceFrameTypes(frame, accept) {\n if (frame.sourceFrames.length === 0) {\n return;\n }\n if (COMMAND_TYPES.has(frame.modelEntityType)) {\n this.validateSources(\n frame,\n /* @__PURE__ */ 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 validateSources(frame, allowedSourceTypes, targetLabel, expectedSourceLabel, accept) {\n for (const sourceRef of frame.sourceFrames) {\n const source = sourceRef.ref;\n if (source !== void 0 && !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\n// src/language/eventmodeling/module.ts\nvar EventModelingModule = {\n parser: {\n TokenBuilder: /* @__PURE__ */ __name(() => new EventModelingTokenBuilder(), \"TokenBuilder\"),\n ValueConverter: /* @__PURE__ */ __name(() => new CommonValueConverter(), \"ValueConverter\")\n },\n validation: {\n EventModelingValidator: /* @__PURE__ */ __name(() => new EventModelingValidator(), \"EventModelingValidator\")\n }\n};\nfunction createEventModelingServices(context = EmptyFileSystem) {\n const shared = inject(\n createDefaultSharedCoreModule(context),\n MermaidGeneratedSharedModule\n );\n const EventModel = inject(\n createDefaultCoreModule({ shared }),\n EventModelingGeneratedModule,\n EventModelingModule\n );\n shared.ServiceRegistry.register(EventModel);\n registerValidationChecks(EventModel);\n return { shared, EventModel };\n}\n__name(createEventModelingServices, \"createEventModelingServices\");\n\nexport {\n EventModelingModule,\n createEventModelingServices\n};\n"], "mappings": "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", "names": ["__name"] }