UNPKG

analytics-plugin-hubspot

Version:

HubSpot plugin for 'analytics' module

1 lines 2.24 kB
var analyticsHubspot=function(){"use strict";function u(t,n){return function(t){if(Array.isArray(t))return t}(t)||function(t,n){var e=[],r=!0,i=!1,o=void 0;try{for(var s,a=t[Symbol.iterator]();!(r=(s=a.next()).done)&&(e.push(s.value),!n||e.length!==n);r=!0);}catch(t){i=!0,o=t}finally{try{r||null==a.return||a.return()}finally{if(i)throw o}}return e}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function p(t,n){var e=t.split(" ").join("_").split(".").join("_").split("\n").join("_").split("\v").join("_").split("\t").join("_").split("\f").join("_").split("\r").join("_"),r=e.split(/(?=[A-Z])/).join("_").toLowerCase();return"first_name"===r||"last_name"===r?[r.replace(/_/,""),n]:[r,n]}return function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=!1;return{NAMESPACE:"hubspot",config:t,initialize:function(t){var n=t.config.portalId;if(!n)throw new Error("No hubspot portalId defined");if(e=document.getElementsByTagName("script"),!Object.keys(e).filter(function(t){var n=e[t].src;return n.match(/js\.hs-scripts\.com/)}).length){var e,r=document.location.protocol,i="https:"===r||"chrome-extension:"===r,o=Math.floor((new Date).getTime()/36e5),s="".concat(i?"https:":"http:","//js.hs-scripts.com/").concat(n,".js?").concat(o),a=document.createElement("script");a.id="hs-script-loader",a.type="text/javascript",a.async=!0,a.src=s,setTimeout(function(){var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(a,t)},0)}},identify:function(t){var n=t.payload,e=(t.config,n.userId),r=n.traits;if("undefined"==typeof _hsq)return!1;if(!r.email)return!1;var s,i,a,o,c=(s=r,i=e,a=p,o=Object.keys(s).reduce(function(t,n){var e=a(n,s[n]),r=u(e,2),i=r[0],o=r[1];return t[i]=o,t},{}),i&&!o.id&&(o.id=i),o);_hsq.push(["identify",c])},page:function(t){var n=t.payload;if(t.options,t.instance,"undefined"==typeof _hsq)return!1;e?(_hsq.push(["setPath",n.properties.path]),_hsq.push(["trackPageView"])):e=!0},track:function(t){var n=t.payload;if(t.options,t.config,"undefined"==typeof _hsq)return!1;var e=Object.assign({},n.properties,{id:n.event});_hsq.push(["trackEvent",e])},loaded:function(){return!(!window._hsq||window._hsq.push===Array.prototype.push)}}}}();