module.jsā¢2.02 kB
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TreemapModule = void 0;
exports.createTreemapServices = createTreemapServices;
const langium_1 = require("langium");
const module_js_1 = require("../generated/module.js");
const tokenBuilder_js_1 = require("./tokenBuilder.js");
const valueConverter_js_1 = require("./valueConverter.js");
const treemap_validator_js_1 = require("./treemap-validator.js");
/**
* Dependency injection module that overrides Langium default services and
* contributes the declared `Treemap` services.
*/
exports.TreemapModule = {
parser: {
TokenBuilder: () => new tokenBuilder_js_1.TreemapTokenBuilder(),
ValueConverter: () => new valueConverter_js_1.TreemapValueConverter(),
},
validation: {
TreemapValidator: () => new treemap_validator_js_1.TreemapValidator(),
},
};
/**
* 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 createTreemapServices(context = langium_1.EmptyFileSystem) {
const shared = (0, langium_1.inject)((0, langium_1.createDefaultSharedCoreModule)(context), module_js_1.MermaidGeneratedSharedModule);
const Treemap = (0, langium_1.inject)((0, langium_1.createDefaultCoreModule)({ shared }), module_js_1.TreemapGeneratedModule, exports.TreemapModule);
shared.ServiceRegistry.register(Treemap);
// Register validation checks
(0, treemap_validator_js_1.registerValidationChecks)(Treemap);
return { shared, Treemap };
}
//# sourceMappingURL=module.js.map