import type { DynamicModule } from '@nestjs/common'; import type { Constructor } from '@rsdk/common'; import type { PlatformExtendedOptions } from '../types'; export class PlatformPluginModule { static forOptions(options: PlatformExtendedOptions): DynamicModule { const modules: (DynamicModule | Constructor | Promise)[] = []; // Adding additional modules (from plugins) if (options.plugins) { for (const plugin of options.plugins) { if (plugin.modules) { modules.push(...plugin.modules()); } } } return { module: PlatformPluginModule, imports: modules, }; } }