UNPKG

posthog-js

Version:

Posthog-js allows you to automatically capture usage and send events to PostHog.

2 lines • 3.28 kB
!function(){const e="u">typeof window?window:void 0,n="u">typeof globalThis?globalThis:e,t=null==n?void 0:n.document;null!=n&&n.XMLHttpRequest&&new n.XMLHttpRequest;const o="undefined"!=typeof globalThis?globalThis:e;o&&"undefined"==typeof self&&(o.self=o),o&&"undefined"==typeof File&&(o.File=function(){});const i=null!=e?e:{},r=(e,{debugEnabled:n}={})=>{const t={N(t,...o){let i;try{i=typeof window>"u"?void 0:window}catch(e){return}i&&(i.POSTHOG_DEBUG||n)&&void 0!==i.console&&i.console&&("__rrweb_original__"in i.console[t]?i.console[t].__rrweb_original__:i.console[t])(e,...o)},debug(...e){t.N("debug",...e)},info(...e){t.N("log",...e)},warn(...e){t.N("warn",...e)},error(...e){t.N("error",...e)},critical(...n){console.error(e,...n)},uninitializedWarning(e){t.error(`You must initialize PostHog before calling ${e}`)},createLogger:(n,t)=>r(`${e} ${n}`,t)};return t},s=(0,r("[PostHog.js]").createLogger)("[ExternalScriptsLoader]"),l=e=>{const n=null==t?void 0:t.querySelectorAll("script");if(n)for(let t=0;n.length>t;t++)if(n[t].src===e||n[t].getAttribute("src")===e)return n[t]},a=(e,n,o)=>{if(e.config.disable_external_dependency_loading)return s.warn(`${n} was requested but loading of external scripts is disabled.`),o("Loading of external scripts is disabled");const i=l(n);if(i){if(i.__posthog_loading_callback_fired)return o();const e=i.__posthog_loading_error;return e?o(e):(i.addEventListener("load",e=>{i.__posthog_loading_callback_fired=!0,o(void 0,e)}),void i.addEventListener("error",e=>{i.__posthog_loading_error=e,o(e)}))}const r=()=>{if(!t)return o("document not found");if(l(n))return a(e,n,o);let i=t.createElement("script");if(i.type="text/javascript",i.crossOrigin="anonymous",i.src=n,i.onload=e=>{i.__posthog_loading_callback_fired=!0,o(void 0,e)},i.onerror=e=>{i.__posthog_loading_error=e,o(e)},e.config.prepare_external_dependency_script&&(i=e.config.prepare_external_dependency_script(i)),!i)return o("prepare_external_dependency_script returned null");if("head"===e.config.external_scripts_inject_target)t.head.appendChild(i);else{const e=t.querySelectorAll("body > script");var r;e.length>0?null===(r=e[0].parentNode)||void 0===r||r.insertBefore(i,e[0]):t.body.appendChild(i)}};(null==t?void 0:t.body)?r():null==t||t.addEventListener("DOMContentLoaded",r)},d={},u=(e,n)=>{let t=`/static/${n}.js?v=${e.version}`;if("toolbar"===n){const e=3e5;t=`${t}&t=${Math.floor(Date.now()/e)*e}`}return e.requestRouter.endpointFor("assets",t)};i.__PosthogExtensions__=i.__PosthogExtensions__||{},i.__PosthogExtensions__.loadExternalDependency=(e,n,t)=>{if("remote-config"===n){const n=e.requestRouter.endpointFor("assets",`/array/${e.config.token}/config.js`);return void a(e,n,t)}const o=e.config.strict_script_versioning;if(o){const i=e.requestRouter.endpointFor("assets",`/static/${e.version}/${n}.js`),r=d[i];if("fallback"===o&&r){if(l(r))return void a(e,r,t);delete d[i]}return void a(e,i,"fallback"===o?(o,r)=>{if(o)if("string"==typeof o)t(o);else{var s;const o=u(e,n);d[i]=o;const r=l(i);null==r||null===(s=r.parentNode)||void 0===s||s.removeChild(r),a(e,o,t)}else t(void 0,r)}:t)}a(e,u(e,n),t)},i.__PosthogExtensions__.loadSiteApp=(e,n,t)=>{const o=e.requestRouter.endpointFor("api",n);a(e,o,t)}}(); //# sourceMappingURL=external-scripts-loader.js.map