UNPKG

@robotlegsjs/core

Version:

An architecture-based IoC framework for JavaScript/TypeScript

62 lines 2.29 kB
"use strict"; // ------------------------------------------------------------------------------ // Copyright (c) 2017-present, RobotlegsJS. All Rights Reserved. // // NOTICE: You are permitted to use, modify, and distribute this file // in accordance with the terms of the license agreement accompanying it. // ------------------------------------------------------------------------------ Object.defineProperty(exports, "__esModule", { value: true }); exports.InjectableLoggerExtension = void 0; var ILogger_1 = require("../../framework/api/ILogger"); /** * Allows you to @inject unique loggers into your objects. * * There are two ways to inject the logger on the constructor of your class: * * * Using the literal string "ILogger": * * <code> * constructor( @inject("ILogger") logger: ILogger ) { ... } * </code> * * * Using the ILogger Symbol: * * <code> * constructor( @inject(ILogger) logger: ILogger ) { ... } * </code> */ var InjectableLoggerExtension = /** @class */ (function () { function InjectableLoggerExtension() { } /*============================================================================*/ /* Public Functions */ /*============================================================================*/ /** * @inheritDoc */ InjectableLoggerExtension.prototype.extend = function (context) { // Map the literal string "ILogger" context.injector .bind("ILogger") .toDynamicValue(function () { return context.getLogger(null); }) .onActivation(function (ctx, logger) { logger.source = ctx.plan.rootRequest.serviceIdentifier; return logger; }); // Map the Symbol ILogger context.injector .bind(ILogger_1.ILogger) .toDynamicValue(function () { return context.getLogger(null); }) .onActivation(function (ctx, logger) { logger.source = ctx.plan.rootRequest.serviceIdentifier; return logger; }); }; return InjectableLoggerExtension; }()); exports.InjectableLoggerExtension = InjectableLoggerExtension; //# sourceMappingURL=InjectableLoggerExtension.js.map