UNPKG

@ticatec/common-express-server

Version:

A comprehensive TypeScript library providing common classes, controllers, and middleware for building scalable Express.js applications with multi-tenant support.

57 lines 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * Application configuration singleton class */ class AppConf { /** * Private constructor for singleton pattern * @param conf Configuration object */ constructor(conf) { this.conf = conf; } /** * Gets the singleton instance * @returns AppConf instance or null if not initialized */ static getInstance() { return AppConf.instance; } /** * Initializes the configuration singleton * @param config Configuration object * @returns AppConf instance */ static init(config) { console.debug('Initializing configuration center', config); if (AppConf.instance == null) { AppConf.instance = new AppConf(config); } return AppConf.instance; } /** * Gets configuration value by key (supports dot notation) * @param key Configuration key (can use dot notation like 'server.port') * @returns Configuration value or undefined if not found */ get(key) { if (!key) return undefined; const keys = key.split('.'); let result = this.conf; for (const k of keys) { if (result && typeof result === 'object' && k in result) { result = result[k]; } else { return undefined; } } return result; } } /** Singleton instance */ AppConf.instance = null; exports.default = AppConf; //# sourceMappingURL=AppConf.js.map