import type { DynamicModule, Provider } from '@nestjs/common'; import { Module } from '@nestjs/common'; import type { PlatformExtendedOptions } from '../types'; import { APP_DESCRIPTION, APP_NAME, APP_SCOPE, APP_VERSION, } from './app-metadata.const'; @Module({}) export class AppMetadataModule { static forRoot(options: PlatformExtendedOptions): DynamicModule { const providers: Provider[] = [ { provide: APP_NAME, useValue: options.name, }, { provide: APP_SCOPE, useValue: options.appScope, }, { provide: APP_DESCRIPTION, useValue: options.description, }, { provide: APP_VERSION, useValue: options.version, }, ]; return { global: true, module: AppMetadataModule, providers, exports: providers, }; } }