UNPKG

@notjustcoders/ioc-arise

Version:

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

37 lines 2.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PathInjectionUtils = exports.ModularContainerGenerator = exports.BaseContainerGenerator = exports.ContainerGeneratorFactory = void 0; exports.generateContainerFile = generateContainerFile; exports.detectCircularDependencies = detectCircularDependencies; const dependency_resolver_1 = require("../analyser/dependency-resolver"); const container_generator_factory_1 = require("./container-generator-factory"); /** * Generates a container file from either flat classes or module-grouped classes. * * @param classesOrModules - Either a flat array of classes or a Map of module-grouped classes * @param outputPath - The output path for the generated container file */ function generateContainerFile(classesOrModules, outputPath) { const generator = container_generator_factory_1.ContainerGeneratorFactory.create(classesOrModules, outputPath); generator.generate(); } /** * Detects circular dependencies in a flat array of classes. * * @param classes - The classes to check for circular dependencies * @returns An array of circular dependency chains */ function detectCircularDependencies(classes) { const resolver = new dependency_resolver_1.DependencyResolver(classes); return resolver.detectCircularDependencies(); } // Re-export the factory for advanced usage var container_generator_factory_2 = require("./container-generator-factory"); Object.defineProperty(exports, "ContainerGeneratorFactory", { enumerable: true, get: function () { return container_generator_factory_2.ContainerGeneratorFactory; } }); var base_container_generator_1 = require("./base-container-generator"); Object.defineProperty(exports, "BaseContainerGenerator", { enumerable: true, get: function () { return base_container_generator_1.BaseContainerGenerator; } }); var modular_container_generator_1 = require("./modular/modular-container-generator"); Object.defineProperty(exports, "ModularContainerGenerator", { enumerable: true, get: function () { return modular_container_generator_1.ModularContainerGenerator; } }); var path_injection_utils_1 = require("./shared/path-injection-utils"); Object.defineProperty(exports, "PathInjectionUtils", { enumerable: true, get: function () { return path_injection_utils_1.PathInjectionUtils; } }); //# sourceMappingURL=index.js.map