import {Inject, NgModule} from '@angular/core'; import {EVENT_MANAGER_PLUGINS} from '@angular/platform-browser'; import {NG_EVENT_PLUGINS} from './constants/plugins'; import {SilentEventPlugin} from './plugins/silent.plugin'; // @dynamic @NgModule({ providers: NG_EVENT_PLUGINS, }) export class EventPluginsModule { constructor(@Inject(EVENT_MANAGER_PLUGINS) plugins: readonly unknown[]) { console.assert( !(plugins[0] instanceof SilentEventPlugin) || EventPluginsModule.initialized, 'EventPluginsModule must come after BrowserModule in imports', ); EventPluginsModule.initialized = true; } static initialized = false; }