UNPKG

ngx-matomo-client

Version:

Matomo (fka. Piwik) client for Angular applications

18 lines (17 loc) 1.17 kB
import { InjectionToken, Provider, Type } from '@angular/core'; import { NavigationEnd } from '@angular/router'; import { Observable } from 'rxjs'; export declare const MATOMO_ROUTER_INTERCEPTORS: InjectionToken<MatomoRouterInterceptor[]>; /** Interceptor used to hook just before every page tracking */ export type MatomoRouterInterceptorFn = (event: NavigationEnd) => Observable<void> | Promise<void> | void; /** Interceptor used to hook into the page tracking process */ export interface MatomoRouterInterceptor { /** * Called after a router event has occurred and before page view has been tracked (i.e. before `trackPageView()` has been called) * * If an Observable or a Promise is returned, the observable (first emission or completion) or promise resolution is awaited before tracking call. */ beforePageTrack(event: NavigationEnd): Observable<void> | Promise<void> | void; } export declare function provideInterceptor(typeOrFn: Type<MatomoRouterInterceptor> | MatomoRouterInterceptorFn): Provider; export declare function provideInterceptors(types: (Type<MatomoRouterInterceptor> | MatomoRouterInterceptorFn)[] | undefined): Provider[];