ngx-hotjar
Version:
A simple ng-6 wrapper to load hotjar dependency by angular way
43 lines (42 loc) • 4.93 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { APP_INITIALIZER, isDevMode } from '@angular/core';
import { NGX_HOTJAR_SETTINGS_TOKEN } from '../tokens/ngx-hotjar-settings.token';
/** @type {?} */
export const NGX_HOTJAR_INITIALIZER_PROVIDER = {
provide: APP_INITIALIZER,
multi: true,
useFactory: HotjarInitializer,
deps: [
NGX_HOTJAR_SETTINGS_TOKEN
]
};
/**
* @param {?} $settings
* @return {?}
*/
export function HotjarInitializer($settings) {
return () => tslib_1.__awaiter(this, void 0, void 0, function* () {
if (!$settings.trackingCode) {
if (!isDevMode()) {
console.error('Empty tracking code for Hotjar. Make sure to provide one when initializing NgxHotjarModule.');
}
return;
}
(function (h, o, t, j, a, r) {
h.hj = h.hj || function () {
(h.hj.q = h.hj.q || []).push(arguments);
};
h._hjSettings = { hjid: $settings.trackingCode, hjsv: $settings.version || 6 };
a = o.getElementsByTagName('head')[0];
r = o.createElement('script');
r.async = 1;
r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv;
a.appendChild(r);
})(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv=');
});
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90amFyLmluaXRpYWxpemVyLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWhvdGphci8iLCJzb3VyY2VzIjpbImxpYi9pbml0aWFsaXplcnMvaG90amFyLmluaXRpYWxpemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBWSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBRWhGLGFBQWEsK0JBQStCLEdBQWE7SUFDdkQsT0FBTyxFQUFFLGVBQWU7SUFDeEIsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsaUJBQWlCO0lBQzdCLElBQUksRUFBRTtRQUNKLHlCQUF5QjtLQUMxQjtDQUNGLENBQUM7Ozs7O0FBRUYsTUFBTSw0QkFDSixTQUEwQjtJQUUxQixPQUFPLEdBQVMsRUFBRTtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtZQUMzQixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkZBQTZGLENBQUMsQ0FBQzthQUM5RztZQUVELE9BQU87U0FDUjtRQUVELENBQUMsVUFBUyxDQUFNLEVBQUUsQ0FBTSxFQUFFLENBQU0sRUFBRSxDQUFNLEVBQUUsQ0FBTyxFQUFFLENBQU87WUFDeEQsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJO2dCQUNiLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3pDLENBQUM7WUFFRixDQUFDLENBQUMsV0FBVyxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0UsQ0FBQyxHQUFHLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV0QyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNaLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUV4RCxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBRWxCLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLHFDQUFxQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO01BQ3hFLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiwgUHJvdmlkZXIsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUhvdGphclNldHRpbmdzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pLWhvdGphci1zZXR0aW5ncyc7XG5pbXBvcnQgeyBOR1hfSE9USkFSX1NFVFRJTkdTX1RPS0VOIH0gZnJvbSAnLi4vdG9rZW5zL25neC1ob3RqYXItc2V0dGluZ3MudG9rZW4nO1xuXG5leHBvcnQgY29uc3QgTkdYX0hPVEpBUl9JTklUSUFMSVpFUl9QUk9WSURFUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgbXVsdGk6IHRydWUsXG4gIHVzZUZhY3Rvcnk6IEhvdGphckluaXRpYWxpemVyLFxuICBkZXBzOiBbXG4gICAgTkdYX0hPVEpBUl9TRVRUSU5HU19UT0tFTlxuICBdXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gSG90amFySW5pdGlhbGl6ZXIoXG4gICRzZXR0aW5nczogSUhvdGphclNldHRpbmdzXG4pIHtcbiAgcmV0dXJuIGFzeW5jICgpID0+IHtcbiAgICBpZiAoISRzZXR0aW5ncy50cmFja2luZ0NvZGUpIHtcbiAgICAgIGlmICghaXNEZXZNb2RlKCkpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignRW1wdHkgdHJhY2tpbmcgY29kZSBmb3IgSG90amFyLiBNYWtlIHN1cmUgdG8gcHJvdmlkZSBvbmUgd2hlbiBpbml0aWFsaXppbmcgTmd4SG90amFyTW9kdWxlLicpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgKGZ1bmN0aW9uKGg6IGFueSwgbzogYW55LCB0OiBhbnksIGo6IGFueSwgYT86IGFueSwgcj86IGFueSkge1xuICAgICAgaC5oaiA9IGguaGogfHwgZnVuY3Rpb24oKSB7XG4gICAgICAgIChoLmhqLnEgPSBoLmhqLnEgfHwgW10pLnB1c2goYXJndW1lbnRzKTtcbiAgICAgIH07XG5cbiAgICAgIGguX2hqU2V0dGluZ3MgPSB7IGhqaWQ6ICRzZXR0aW5ncy50cmFja2luZ0NvZGUsIGhqc3Y6ICRzZXR0aW5ncy52ZXJzaW9uIHx8IDYgfTtcbiAgICAgIGEgPSBvLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF07XG5cbiAgICAgIHIgPSBvLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgci5hc3luYyA9IDE7XG4gICAgICByLnNyYyA9IHQgKyBoLl9oalNldHRpbmdzLmhqaWQgKyBqICsgaC5faGpTZXR0aW5ncy5oanN2O1xuXG4gICAgICBhLmFwcGVuZENoaWxkKHIpO1xuXG4gICAgfSkod2luZG93LCBkb2N1bWVudCwgJ2h0dHBzOi8vc3RhdGljLmhvdGphci5jb20vYy9ob3RqYXItJywgJy5qcz9zdj0nKTtcbiAgfTtcbn1cbiJdfQ==