ngx-matomo-client
Version:
Matomo (fka. Piwik) client for Angular applications
27 lines (26 loc) • 1.44 kB
TypeScript
import { LocationStrategy } from '@angular/common';
import { InjectionToken, Injector, Provider, Type } from '@angular/core';
import { NavigationEnd } from '@angular/router';
import { Observable } from 'rxjs';
import { InternalRouterConfiguration } from './configuration';
export declare const MATOMO_PAGE_URL_PROVIDER: InjectionToken<PageUrlProvider>;
export declare function createDefaultPageUrlProvider(): DefaultPageUrlProvider;
export interface PageUrlProvider {
getCurrentPageUrl(event: NavigationEnd): Observable<string> | Promise<string>;
}
export type PageUrlProviderFn = (event: NavigationEnd) => Observable<string> | Promise<string>;
export declare class PageUrlProviderFnAdapter implements PageUrlProvider {
private readonly fn;
private readonly injector;
constructor(fn: PageUrlProviderFn, injector: Injector);
getCurrentPageUrl(event: NavigationEnd): Observable<string> | Promise<string>;
}
export declare function providePageUrlProvider(typeOrFn: Type<PageUrlProvider> | PageUrlProviderFn): Provider;
export declare class DefaultPageUrlProvider implements PageUrlProvider {
private readonly config;
private readonly baseHref;
private readonly locationStrategy;
constructor(config: InternalRouterConfiguration, baseHref: string | null, locationStrategy: LocationStrategy);
getCurrentPageUrl(event: NavigationEnd): Observable<string>;
private getBaseHrefWithoutTrailingSlash;
}