UNPKG

neura-express-app

Version:

Basic express application starter with some common utilities.

35 lines (34 loc) 1.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NeuraContainer = void 0; class NeuraContainer { constructor() { this.services = new Map(); // } static instance() { if (NeuraContainer._instance) { return NeuraContainer._instance; } NeuraContainer._instance = new NeuraContainer(); return NeuraContainer._instance; } set(serviceName, service) { if (!this.logger) { this.logger = this.get("logger"); } if (this.services.has(serviceName)) { this.logger?.warn(`Container: Container property '${serviceName}' was already defined, it will be overwritten!`); } this.services.set(serviceName, service); this.logger?.info(`Container: New property registered: '${serviceName}' of type ${typeof service}`); return service; } get(serviceName) { if (!this.services.has(serviceName)) { return undefined; } return this.services.get(serviceName); } } exports.NeuraContainer = NeuraContainer;