UNPKG

@notjustcoders/ioc-arise

Version:

Arise type-safe IoC containers from your code. Zero overhead, zero coupling.

25 lines 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ModuleFunctionBodyGenerator = void 0; const shared_1 = require("../shared"); /** * Responsible for generating the body content of module container functions. * Handles factories, singletons, getters, and exports generation. */ class ModuleFunctionBodyGenerator { constructor(dependencyResolver) { this.dependencyResolver = dependencyResolver; } /** * Generates the function body for a module container. */ generateModuleFunctionBody(moduleClasses, moduleDeps, importGenerator) { const constructorArgsResolver = (classInfo) => { const constructorArgs = this.dependencyResolver.buildConstructorArguments(classInfo, moduleClasses, moduleDeps, importGenerator); return constructorArgs.length > 0 ? constructorArgs.join(', ') : ''; }; return shared_1.InstantiationUtils.generateModuleFunctionBody(moduleClasses, constructorArgsResolver, importGenerator); } } exports.ModuleFunctionBodyGenerator = ModuleFunctionBodyGenerator; //# sourceMappingURL=module-function-body-generator.js.map