ngx-matomo
Version:
Matomo (aka. Piwik) web analytics for Angular applications.
34 lines • 6.17 kB
JavaScript
import { InjectionToken } from '@angular/core';
export function sanitizeConfiguration(configuration) {
const sanitizedConfiguration = {
...defaultConfiguration,
...configuration,
};
if (configuration.trackAppStart !== undefined && configuration.trackAppStart !== null) {
sanitizedConfiguration.skipTrackingInitialPageView = !configuration.trackAppStart;
}
if (configuration.routeTracking !== undefined && configuration.routeTracking !== null) {
sanitizedConfiguration.routeTracking = configuration.routeTracking;
}
return sanitizedConfiguration;
}
/**
* Injection token for Matomo configuration.
*/
export const MATOMO_CONFIGURATION = new InjectionToken('MATOMO_CONFIGURATION');
/**
* Default configuration for the Matomo module.
*/
const defaultConfiguration = {
scriptVersion: 4,
trackers: [],
requireConsent: false,
requireCookieConsent: false,
skipTrackingInitialPageView: false,
trackLinks: true,
trackLinkValue: false,
routeTracking: {
enable: false,
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0b21vL3NyYy9saWIvbWF0b21vLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQThEL0MsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxhQUEyQztJQUUzQyxNQUFNLHNCQUFzQixHQUEwQztRQUNwRSxHQUFHLG9CQUFvQjtRQUN2QixHQUFHLGFBQWE7S0FDakIsQ0FBQztJQUVGLElBQUksYUFBYSxDQUFDLGFBQWEsS0FBSyxTQUFTLElBQUksYUFBYSxDQUFDLGFBQWEsS0FBSyxJQUFJLEVBQUU7UUFDckYsc0JBQXNCLENBQUMsMkJBQTJCLEdBQUcsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO0tBQ25GO0lBRUQsSUFBSSxhQUFhLENBQUMsYUFBYSxLQUFLLFNBQVMsSUFBSSxhQUFhLENBQUMsYUFBYSxLQUFLLElBQUksRUFBRTtRQUNyRixzQkFBc0IsQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQztLQUNwRTtJQUVELE9BQU8sc0JBQXNCLENBQUM7QUFDaEMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQXNCLHNCQUFzQixDQUFDLENBQUM7QUFFcEc7O0dBRUc7QUFDSCxNQUFNLG9CQUFvQixHQUEwQztJQUNsRSxhQUFhLEVBQUUsQ0FBQztJQUNoQixRQUFRLEVBQUUsRUFBRTtJQUNaLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLG9CQUFvQixFQUFFLEtBQUs7SUFDM0IsMkJBQTJCLEVBQUUsS0FBSztJQUNsQyxVQUFVLEVBQUUsSUFBSTtJQUNoQixjQUFjLEVBQUUsS0FBSztJQUNyQixhQUFhLEVBQUU7UUFDYixNQUFNLEVBQUUsS0FBSztLQUNkO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FuaXRpemVkTWF0b21vQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBVUkwgb2YgdGhlIE1hdG9tbyBKUyBzY3JpcHQgdG8gZXhlY3V0ZS5cbiAgICovXG4gIHNjcmlwdFVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhlIE1hdG9tbyBKUyBzY3JpcHQgdG8gZG93bmxvYWQuXG4gICAqICh0aGVyZSBpcyBubyBlYXN5IHdheSB0byBrbm93IGZvciBzdXJlIHdoaWNoIGZlYXR1cmVzIHdpbGwgYmUgc3VwcG9ydGVkIGluIHRoZSBzY3JpcHQpXG4gICAqL1xuICBzY3JpcHRWZXJzaW9uOiBudW1iZXI7XG4gIC8qKlxuICAgKiBBcnJheSBvZiB0cmFja2VycywgZWFjaCBvbmUgb2YgdGhlbSBiZWluZyBkZXNjcmliZWQgYnkgaXRzIFVSTCBhbmQgc2l0ZSBpZC5cbiAgICovXG4gIHRyYWNrZXJzOiBBcnJheTx7IHRyYWNrZXJVcmw6IHN0cmluZzsgc2l0ZUlkOiBudW1iZXIgfT47XG4gIC8qKlxuICAgKiBJZiB0cnVlLCB1c2VyIGNvbnNlbnQgd2lsbCBiZSByZXF1aXJlZC5cbiAgICovXG4gIHJlcXVpcmVDb25zZW50PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIHRydWUsIHVzZXIgY29uc2VudCB3aWxsIGJlIHJlcXVpcmVkIGZvciBjb29raWVzIHRvIGJlIHN0b3JlZCBhbmQgdXNlZC5cbiAgICovXG4gIHJlcXVpcmVDb29raWVDb25zZW50PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIHRydWUsIGluaXRpYWwgcGFnZSB2aWV3IHdpbGwgbm90IGJlIHRyYWNrZWQuXG4gICAqL1xuICBza2lwVHJhY2tpbmdJbml0aWFsUGFnZVZpZXc/OiBib29sZWFuO1xuICAvKipcbiAgICogSWYgdHJ1ZSwgbGluayB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgdHJhY2tlZCBvbiB0aGUgZmlyc3QgcGFnZSAoaWYgZW5hYmxlZCkuXG4gICAqL1xuICB0cmFja0xpbmtzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZW4gbGluayB0cmFja2luZyBoYXMgYmVlbiBlbmFibGVkLCB0aGlzIHNldHMgdGhlIHZhbHVlIHRvIHRoZSBjYWxsIHRvIGBlbmFibGVMaW5rVHJhY2tpbmdgXG4gICAqL1xuICB0cmFja0xpbmtWYWx1ZT86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBQYXJhbWV0ZXJzIHJlbGF0ZWQgdG8gcm91dGUgdHJhY2tpbmcuXG4gICAqL1xuICByb3V0ZVRyYWNraW5nPzoge1xuICAgIC8qKlxuICAgICAqIElmIHRydWUsIGF1dG9tYXRpYyByb3V0ZSB0cmFja2luZyBpcyBlbmFibGVkLlxuICAgICAqL1xuICAgIGVuYWJsZTogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBMaXN0IG9mIERPTSBlbGVtZW50IGlkcyBmb3IgdHJhY2tpbmcgY29udGVudCBpbXByZXNzaW9ucy5cbiAgICAgKi9cbiAgICBjb250ZW50SWRzPzogQXJyYXk8c3RyaW5nPjtcbiAgfTtcbn1cblxuLyoqXG4gKiBNYXRvbW8gbW9kdWxlIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdG9tb0NvbmZpZ3VyYXRpb24gZXh0ZW5kcyBTYW5pdGl6ZWRNYXRvbW9Db25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIElmIHRydWUsIGF1dG9tYXRpY2FsbHkgdHJhY2sgdGhlIGFwcCBiZWluZyBzdGFydGVkLlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgdHJhY2tBcHBTdGFydD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUNvbmZpZ3VyYXRpb24oXG4gIGNvbmZpZ3VyYXRpb246IFBhcnRpYWw8TWF0b21vQ29uZmlndXJhdGlvbj5cbik6IFBhcnRpYWw8U2FuaXRpemVkTWF0b21vQ29uZmlndXJhdGlvbj4ge1xuICBjb25zdCBzYW5pdGl6ZWRDb25maWd1cmF0aW9uOiBQYXJ0aWFsPFNhbml0aXplZE1hdG9tb0NvbmZpZ3VyYXRpb24+ID0ge1xuICAgIC4uLmRlZmF1bHRDb25maWd1cmF0aW9uLFxuICAgIC4uLmNvbmZpZ3VyYXRpb24sXG4gIH07XG5cbiAgaWYgKGNvbmZpZ3VyYXRpb24udHJhY2tBcHBTdGFydCAhPT0gdW5kZWZpbmVkICYmIGNvbmZpZ3VyYXRpb24udHJhY2tBcHBTdGFydCAhPT0gbnVsbCkge1xuICAgIHNhbml0aXplZENvbmZpZ3VyYXRpb24uc2tpcFRyYWNraW5nSW5pdGlhbFBhZ2VWaWV3ID0gIWNvbmZpZ3VyYXRpb24udHJhY2tBcHBTdGFydDtcbiAgfVxuXG4gIGlmIChjb25maWd1cmF0aW9uLnJvdXRlVHJhY2tpbmcgIT09IHVuZGVmaW5lZCAmJiBjb25maWd1cmF0aW9uLnJvdXRlVHJhY2tpbmcgIT09IG51bGwpIHtcbiAgICBzYW5pdGl6ZWRDb25maWd1cmF0aW9uLnJvdXRlVHJhY2tpbmcgPSBjb25maWd1cmF0aW9uLnJvdXRlVHJhY2tpbmc7XG4gIH1cblxuICByZXR1cm4gc2FuaXRpemVkQ29uZmlndXJhdGlvbjtcbn1cblxuLyoqXG4gKiBJbmplY3Rpb24gdG9rZW4gZm9yIE1hdG9tbyBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgTUFUT01PX0NPTkZJR1VSQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48TWF0b21vQ29uZmlndXJhdGlvbj4oJ01BVE9NT19DT05GSUdVUkFUSU9OJyk7XG5cbi8qKlxuICogRGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciB0aGUgTWF0b21vIG1vZHVsZS5cbiAqL1xuY29uc3QgZGVmYXVsdENvbmZpZ3VyYXRpb246IFBhcnRpYWw8U2FuaXRpemVkTWF0b21vQ29uZmlndXJhdGlvbj4gPSB7XG4gIHNjcmlwdFZlcnNpb246IDQsXG4gIHRyYWNrZXJzOiBbXSxcbiAgcmVxdWlyZUNvbnNlbnQ6IGZhbHNlLFxuICByZXF1aXJlQ29va2llQ29uc2VudDogZmFsc2UsXG4gIHNraXBUcmFja2luZ0luaXRpYWxQYWdlVmlldzogZmFsc2UsXG4gIHRyYWNrTGlua3M6IHRydWUsXG4gIHRyYWNrTGlua1ZhbHVlOiBmYWxzZSxcbiAgcm91dGVUcmFja2luZzoge1xuICAgIGVuYWJsZTogZmFsc2UsXG4gIH0sXG59O1xuIl19