Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @NgModule()
- export class AnalyticsModule {
- private static readonly EVENTS_MAP_TOKEN = new InjectionToken<EventsMap[]>(
- 'eventsMap'
- );
- static readonly EVENTS_MAP: EventsMap = {};
- constructor(
- @Inject(AnalyticsModule.EVENTS_MAP_TOKEN) eventsMaps: EventsMap[][]
- ) {
- eventsMaps.forEach(events => {
- Object.assign(AnalyticsModule.EVENTS_MAP, ...events);
- });
- }
- static forEventsMap(eventsMap: () => EventsMap): ModuleWithProviders {
- return {
- ngModule: AnalyticsModule,
- providers: [{
- provide: AnalyticsModule.EVENTS_MAP_TOKEN,
- multi: true,
- useFactory: eventsMap
- }]
- };
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement