import { Inject, Injectable } from '@nestjs/common'; import { Configuration } from './config.interfaces'; @Injectable() export class ConfigurationService { constructor( @Inject('CONFIGURATION') public config: Configuration, ) {} public get(key: string): T { return key .replace(/\[|\]\.?/g, '.') .split('.') .filter((s) => s) .reduce((acc, val) => acc && acc[val], this.config); } }