module.jsā¢1.73 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.RadarModule = void 0;
exports.createRadarServices = createRadarServices;
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 `Radar` services.
*/
exports.RadarModule = {
parser: {
TokenBuilder: () => new tokenBuilder_js_1.RadarTokenBuilder(),
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 createRadarServices(context = langium_1.EmptyFileSystem) {
const shared = (0, langium_1.inject)((0, langium_1.createDefaultSharedCoreModule)(context), module_js_1.MermaidGeneratedSharedModule);
const Radar = (0, langium_1.inject)((0, langium_1.createDefaultCoreModule)({ shared }), module_js_1.RadarGeneratedModule, exports.RadarModule);
shared.ServiceRegistry.register(Radar);
return { shared, Radar };
}
//# sourceMappingURL=module.js.map