module.jsā¢1.74 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.PacketModule = void 0;
exports.createPacketServices = createPacketServices;
const langium_1 = require("langium");
const valueConverter_js_1 = require("../common/valueConverter.js");
const module_js_1 = require("../generated/module.js");
const tokenBuilder_js_1 = require("./tokenBuilder.js");
/**
* Dependency injection module that overrides Langium default services and
* contributes the declared `Packet` services.
*/
exports.PacketModule = {
parser: {
TokenBuilder: () => new tokenBuilder_js_1.PacketTokenBuilder(),
ValueConverter: () => new valueConverter_js_1.CommonValueConverter(),
},
};
/**
* Create the full set of services required by Langium.
*
* First inject the shared services by merging two modules:
* - Langium default shared services
* - Services generated by langium-cli
*
* Then inject the language-specific services by merging three modules:
* - Langium default language-specific services
* - Services generated by langium-cli
* - Services specified in this file
* @param context - Optional module context with the LSP connection
* @returns An object wrapping the shared services and the language-specific services
*/
function createPacketServices(context = langium_1.EmptyFileSystem) {
const shared = (0, langium_1.inject)((0, langium_1.createDefaultSharedCoreModule)(context), module_js_1.MermaidGeneratedSharedModule);
const Packet = (0, langium_1.inject)((0, langium_1.createDefaultCoreModule)({ shared }), module_js_1.PacketGeneratedModule, exports.PacketModule);
shared.ServiceRegistry.register(Packet);
return { shared, Packet };
}
//# sourceMappingURL=module.js.map