UNPKG

ngx-google-analytics

Version:

A simple ng-9 wrapper to load Google Analytics dependency by angular way

21 lines 3.05 kB
import { InjectionToken, inject } from '@angular/core'; import { NGX_WINDOW } from './ngx-window-token'; import { NGX_DATA_LAYER } from './ngx-data-layer-token'; /** * Check if there is some global function called gtag on Window object, or create an empty function to doesn't brake codes... */ export function getGtagFn(window, dataLayer) { return (window) ? window['gtag'] = window['gtag'] || function () { dataLayer.push(arguments); } : null; } /** * Provides an injection token to access Google Analytics Gtag Function */ export const NGX_GTAG_FN = new InjectionToken('ngx-gtag-fn', { providedIn: 'root', factory: () => getGtagFn(inject(NGX_WINDOW), inject(NGX_DATA_LAYER)) }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWd0YWctdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtZ29vZ2xlLWFuYWx5dGljcy9zcmMvbGliL3Rva2Vucy9uZ3gtZ3RhZy10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3hEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFNBQVMsQ0FBQyxNQUFnQixFQUFFLFNBQW9CO0lBQzlELE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDYixDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUNqQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQWdCLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNYLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBUyxhQUFhLEVBQUU7SUFDbkUsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0NBQ3JFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HWF9XSU5ET1cgfSBmcm9tICcuL25neC13aW5kb3ctdG9rZW4nO1xuaW1wb3J0IHsgR3RhZ0ZuIH0gZnJvbSAnLi4vdHlwZXMvZ3RhZy50eXBlJztcbmltcG9ydCB7IERhdGFMYXllciB9IGZyb20gJy4uL3R5cGVzL2RhdGEtbGF5ZXIudHlwZSc7XG5pbXBvcnQgeyBOR1hfREFUQV9MQVlFUiB9IGZyb20gJy4vbmd4LWRhdGEtbGF5ZXItdG9rZW4nO1xuaW1wb3J0IHsgR2FXaW5kb3cgfSBmcm9tICcuL25neC1nb29nbGUtYW5hbHl0aWNzLXdpbmRvdyc7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlcmUgaXMgc29tZSBnbG9iYWwgZnVuY3Rpb24gY2FsbGVkIGd0YWcgb24gV2luZG93IG9iamVjdCwgb3IgY3JlYXRlIGFuIGVtcHR5IGZ1bmN0aW9uIHRvIGRvZXNuJ3QgYnJha2UgY29kZXMuLi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEd0YWdGbih3aW5kb3c6IEdhV2luZG93LCBkYXRhTGF5ZXI6IERhdGFMYXllcik6IEd0YWdGbiB7XG4gIHJldHVybiAod2luZG93KVxuICAgID8gd2luZG93WydndGFnJ10gPSB3aW5kb3dbJ2d0YWcnXSB8fCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGRhdGFMYXllci5wdXNoKGFyZ3VtZW50cyBhcyBhbnkpO1xuICAgICAgfVxuICAgIDogbnVsbDtcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBhbiBpbmplY3Rpb24gdG9rZW4gdG8gYWNjZXNzIEdvb2dsZSBBbmFseXRpY3MgR3RhZyBGdW5jdGlvblxuICovXG5leHBvcnQgY29uc3QgTkdYX0dUQUdfRk4gPSBuZXcgSW5qZWN0aW9uVG9rZW48R3RhZ0ZuPignbmd4LWd0YWctZm4nLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogKCkgPT4gZ2V0R3RhZ0ZuKGluamVjdChOR1hfV0lORE9XKSwgaW5qZWN0KE5HWF9EQVRBX0xBWUVSKSlcbn0pO1xuIl19