@deepkit/framework
Version:
50 lines • 2.46 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
/*@ts-ignore*/
import { __ΩFlag } from '@deepkit/app';
/*@ts-ignore*/
import { __ΩCommand } from '@deepkit/app';
/*
* Deepkit Framework
* Copyright (C) 2021 Deepkit UG, Marc J. Schmidt
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the MIT License.
*
* You should have received a copy of the MIT License along with this program.
*/
import { cli, ServiceContainer } from '@deepkit/app';
/**
* @description Prints debugging information about dependency injection.
*/
let DebugDIController = class DebugDIController {
constructor(serviceContainer) {
this.serviceContainer = serviceContainer;
}
async execute(scope) {
const modules = [this.serviceContainer.appModule, ...this.serviceContainer.appModule.getImports()];
let injectorContext = this.serviceContainer.getInjectorContext();
if (scope) {
console.log('For scope', scope);
injectorContext = injectorContext.createChildScope(scope);
}
for (const module of modules) {
console.log(`Module ${module.getName() || 'root'} DI retriever:`);
console.log(injectorContext.getInjector(module).resolver.toString());
}
}
};
DebugDIController.__type = [() => ServiceContainer, 'serviceContainer', 'constructor', () => __ΩFlag, 'scope', 'execute', () => __ΩCommand, 'DebugDIController', 'Prints debugging information about dependency injection.', 'PP7!2"<"0#PP&n$K2%8$`0&5n\'x"w(?)'];
DebugDIController = __decorate([
cli.controller('debug:di'),
__metadata("design:paramtypes", [ServiceContainer])
], DebugDIController);
export { DebugDIController };
//# sourceMappingURL=debug-di.js.map