posthog-js 1.184.2 → 1.185.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/array.js CHANGED
@@ -1,4 +1,4 @@
1
- !function(){"use strict";const e="undefined"!=typeof window?window:void 0,t="undefined"!=typeof globalThis?globalThis:e,i=Array.prototype,s=i.forEach,n=i.indexOf,r=null==t?void 0:t.navigator,o=null==t?void 0:t.document,a=null==t?void 0:t.location,l=null==t?void 0:t.fetch,c=null!=t&&t.XMLHttpRequest&&"withCredentials"in new t.XMLHttpRequest?t.XMLHttpRequest:void 0,u=null==t?void 0:t.AbortController,d=null==r?void 0:r.userAgent,h=null!=e?e:{};const _={DEBUG:!1,LIB_VERSION:"1.184.2"},p=Array.isArray,g=Object.prototype,f=g.hasOwnProperty,v=g.toString,m=p||function(e){return"[object Array]"===v.call(e)},y=function(e){return"function"==typeof e},b=function(e){return e===Object(e)&&!m(e)},w=function(e){if(b(e)){for(const t in e)if(f.call(e,t))return!1;return!0}return!1},S=function(e){return void 0===e},E=function(e){return"[object String]"==v.call(e)},k=function(e){return E(e)&&0===e.trim().length},x=function(e){return null===e},I=function(e){return S(e)||x(e)},P=function(e){return"[object Number]"==v.call(e)},R=function(e){return"[object Boolean]"===v.call(e)},F=e=>e instanceof FormData,C="[PostHog.js]",T={_log:function(t){if(e&&(_.DEBUG||h.POSTHOG_DEBUG)&&!S(e.console)&&e.console){const r="__rrweb_original__"in e.console[t]?e.console[t].__rrweb_original__:e.console[t];for(var i=arguments.length,s=new Array(i>1?i-1:0),n=1;n<i;n++)s[n-1]=arguments[n];r(C,...s)}},info:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];T._log("log",...t)},warn:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];T._log("warn",...t)},error:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];T._log("error",...t)},critical:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];console.error(C,...t)},uninitializedWarning:e=>{T.error(`You must initialize PostHog before calling ${e}`)}},$=(e,t,i)=>{if(e.config.disable_external_dependency_loading)return T.warn(`${t} was requested but loading of external scripts is disabled.`),i("Loading of external scripts is disabled");const s=()=>{if(!o)return i("document not found");const e=o.createElement("script");e.type="text/javascript",e.crossOrigin="anonymous",e.src=t,e.onload=e=>i(void 0,e),e.onerror=e=>i(e);const s=o.querySelectorAll("body > script");var n;s.length>0?null===(n=s[0].parentNode)||void 0===n||n.insertBefore(e,s[0]):o.body.appendChild(e)};null!=o&&o.body?s():null==o||o.addEventListener("DOMContentLoaded",s)};h.__PosthogExtensions__=h.__PosthogExtensions__||{},h.__PosthogExtensions__.loadExternalDependency=(e,t,i)=>{let s=`/static/${t}.js?v=${e.version}`;if("toolbar"===t){const e=3e5;s=`${s}&t=${Math.floor(Date.now()/e)*e}`}const n=e.requestRouter.endpointFor("assets",s);$(e,n,i)},h.__PosthogExtensions__.loadSiteApp=(e,t,i)=>{const s=e.requestRouter.endpointFor("api",t);$(e,s,i)};const A={},M=function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};function L(e,t,i){if(m(e))if(s&&e.forEach===s)e.forEach(t,i);else if("length"in e&&e.length===+e.length)for(let s=0,n=e.length;s<n;s++)if(s in e&&t.call(i,e[s],s)===A)return}function D(e,t,i){if(!I(e)){if(m(e))return L(e,t,i);if(F(e)){for(const s of e.entries())if(t.call(i,s[1],s[0])===A)return}else for(const s in e)if(f.call(e,s)&&t.call(i,e[s],s)===A)return}}const O=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return L(i,(function(t){for(const i in t)void 0!==t[i]&&(e[i]=t[i])})),e};function N(e,t){return-1!==e.indexOf(t)}function q(e){const t=Object.keys(e);let i=t.length;const s=new Array(i);for(;i--;)s[i]=[t[i],e[t[i]]];return s}const B=function(e){try{return e()}catch{return}},H=function(e){return function(){try{for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return e.apply(this,i)}catch(e){T.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),T.critical(e)}}},U=function(e){const t={};return D(e,(function(e,i){E(e)&&e.length>0&&(t[i]=e)})),t},W=function(e){return e.replace(/^\$/,"")};function z(e,t){return function(e,t){const i=new Set;return function e(s,n){if(s!==Object(s))return t?t(s,n):s;if(i.has(s))return;let r;return i.add(s),m(s)?(r=[],L(s,(t=>{r.push(e(t))}))):(r={},D(s,((t,s)=>{i.has(t)||(r[s]=e(t,s))}))),r}(e)}(e,(e=>E(e)&&!x(t)?e.slice(0,t):e))}const V=function(e){let t,i,s,n="",r=0;for(t=i=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,s=0;s<r;s++){const r=e.charCodeAt(s);let o=null;r<128?i++:o=r>127&&r<2048?String.fromCharCode(r>>6|192,63&r|128):String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128),x(o)||(i>t&&(n+=e.substring(t,i)),n+=o,t=i=s+1)}return i>t&&(n+=e.substring(t,e.length)),n},G=function(){function t(e){return e&&(e.preventDefault=t.preventDefault,e.stopPropagation=t.stopPropagation),e}return t.preventDefault=function(){this.returnValue=!1},t.stopPropagation=function(){this.cancelBubble=!0},function(i,s,n,r,o){if(i)if(i.addEventListener&&!r)i.addEventListener(s,n,!!o);else{const r="on"+s,o=i[r];i[r]=function(i,s,n){return function(r){if(!(r=r||t(null==e?void 0:e.event)))return;let o,a=!0;y(n)&&(o=n(r));const l=s.call(i,r);return!1!==o&&!1!==l||(a=!1),a}}(i,n,o)}else T.error("No valid element provided to register_event")}}();function j(e){const t=null==e?void 0:e.hostname;return!!E(t)&&"herokuapp.com"!==t.split(".").slice(-2).join(".")}function Q(e,t){for(let i=0;i<e.length;i++)if(t(e[i]))return e[i]}let J;!function(e){e.GZipJS="gzip-js",e.Base64="base64"}(J||(J={}));const Y="$people_distinct_id",X="__alias",K="__timers",Z="$autocapture_disabled_server_side",ee="$heatmaps_enabled_server_side",te="$exception_capture_enabled_server_side",ie="$exception_capture_endpoint_suffix",se="$web_vitals_enabled_server_side",ne="$dead_clicks_enabled_server_side",re="$web_vitals_allowed_metrics",oe="$session_recording_enabled_server_side",ae="$console_log_recording_enabled_server_side",le="$session_recording_network_payload_capture",ce="$session_recording_canvas_recording",ue="$replay_sample_rate",de="$replay_minimum_duration",he="$sesid",_e="$session_is_sampled",pe="$session_recording_url_trigger_activated_session",ge="$session_recording_url_trigger_status",fe="$enabled_feature_flags",ve="$early_access_features",me="$stored_person_properties",ye="$stored_group_properties",be="$surveys",we="$surveys_activated",Se="$flag_call_reported",Ee="$user_state",ke="$client_session_props",xe="$capture_rate_limit",Ie="$initial_campaign_params",Pe="$initial_referrer_info",Re="$initial_person_info",Fe="$epp",Ce="__POSTHOG_TOOLBAR__",Te=[Y,X,"__cmpns",K,oe,ee,he,fe,Ee,ve,ye,me,be,Se,ke,xe,Ie,Pe,Fe],$e="$active_feature_flags",Ae="$override_feature_flags",Me="$feature_flag_payloads",Le=e=>{const t={};for(const[i,s]of q(e||{}))s&&(t[i]=s);return t};class De{constructor(e){this.instance=e,this._override_warning=!1,this.featureFlagEventHandlers=[],this.reloadFeatureFlagsQueued=!1,this.reloadFeatureFlagsInAction=!1}getFlags(){return Object.keys(this.getFlagVariants())}getFlagVariants(){const e=this.instance.get_property(fe),t=this.instance.get_property(Ae);if(!t)return e||{};const i=O({},e),s=Object.keys(t);for(let e=0;e<s.length;e++)i[s[e]]=t[s[e]];return this._override_warning||(T.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:i}),this._override_warning=!0),i}getFlagPayloads(){return this.instance.get_property(Me)||{}}reloadFeatureFlags(){this.reloadFeatureFlagsQueued||(this.reloadFeatureFlagsQueued=!0,this._startReloadTimer())}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.reloadFeatureFlagsInAction=e}resetRequestQueue(){this.reloadFeatureFlagsQueued=!1}_startReloadTimer(){this.reloadFeatureFlagsQueued&&!this.reloadFeatureFlagsInAction&&setTimeout((()=>{!this.reloadFeatureFlagsInAction&&this.reloadFeatureFlagsQueued&&(this.reloadFeatureFlagsQueued=!1,this._reloadFeatureFlagsRequest())}),5)}_reloadFeatureFlagsRequest(){if(this.instance.config.advanced_disable_feature_flags)return;this.setReloadingPaused(!0);const e=this.instance.config.token,t=this.instance.get_property(me),i=this.instance.get_property(ye),s={token:e,distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:t,group_properties:i,disable_flags:this.instance.config.advanced_disable_feature_flags||void 0};this.instance._send_request({method:"POST",url:this.instance.requestRouter.endpointFor("api","/decide/?v=3"),data:s,compression:this.instance.config.disable_compression?void 0:J.Base64,timeout:this.instance.config.feature_flag_request_timeout_ms,callback:e=>{var t;this.setReloadingPaused(!1);let i=!0;200===e.statusCode&&(this.$anon_distinct_id=void 0,i=!1),this.receivedFeatureFlags(null!==(t=e.json)&&void 0!==t?t:{},i),this._startReloadTimer()}})}getFeatureFlag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(this.instance.decideEndpointWasHit||this.getFlags()&&this.getFlags().length>0))return void T.warn('getFeatureFlag for key "'+e+"\" failed. Feature flags didn't load in time.");const i=this.getFlagVariants()[e],s=`${i}`,n=this.instance.get_property(Se)||{};var r;!t.send_event&&"send_event"in t||(e in n&&n[e].includes(s)||(m(n[e])?n[e].push(s):n[e]=[s],null===(r=this.instance.persistence)||void 0===r||r.register({[Se]:n}),this.instance.capture("$feature_flag_called",{$feature_flag:e,$feature_flag_response:i})));return i}getFeatureFlagPayload(e){return this.getFlagPayloads()[e]}isFeatureEnabled(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.instance.decideEndpointWasHit||this.getFlags()&&this.getFlags().length>0)return!!this.getFeatureFlag(e,t);T.warn('isFeatureEnabled for key "'+e+"\" failed. Feature flags didn't load in time.")}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(!this.instance.persistence)return;this.instance.decideEndpointWasHit=!0;const i=this.getFlagVariants(),s=this.getFlagPayloads();!function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=e.featureFlags,r=e.featureFlagPayloads;if(!n)return;if(m(n)){const e={};if(n)for(let t=0;t<n.length;t++)e[n[t]]=!0;return void(t&&t.register({[$e]:n,[fe]:e}))}let o=n,a=r;e.errorsWhileComputingFlags&&(o={...i,...o},a={...s,...a}),t&&t.register({[$e]:Object.keys(Le(o)),[fe]:o||{},[Me]:a||{}})}(e,this.instance.persistence,i,s),this._fireFeatureFlagsCallbacks(t)}override(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.instance.__loaded||!this.instance.persistence)return T.uninitializedWarning("posthog.feature_flags.override");if(this._override_warning=t,!1===e)this.instance.persistence.unregister(Ae);else if(m(e)){const t={};for(let i=0;i<e.length;i++)t[e[i]]=!0;this.instance.persistence.register({[Ae]:t})}else this.instance.persistence.register({[Ae]:e})}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.instance.decideEndpointWasHit){const{flags:t,flagVariants:i}=this._prepareFeatureFlagsForCallbacks();e(t,i)}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t){var i;const s={[`$feature_enrollment/${e}`]:t};this.instance.capture("$feature_enrollment_update",{$feature_flag:e,$feature_enrollment:t,$set:s}),this.setPersonPropertiesForFlags(s,!1);const n={...this.getFlagVariants(),[e]:t};null===(i=this.instance.persistence)||void 0===i||i.register({[$e]:Object.keys(Le(n)),[fe]:n}),this._fireFeatureFlagsCallbacks()}getEarlyAccessFeatures(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=this.instance.get_property(ve);if(i&&!t)return e(i);this.instance._send_request({transport:"XHR",url:this.instance.requestRouter.endpointFor("api",`/api/early_access_features/?token=${this.instance.config.token}`),method:"GET",callback:t=>{var i;if(!t.json)return;const s=t.json.earlyAccessFeatures;return null===(i=this.instance.persistence)||void 0===i||i.register({[ve]:s}),e(s)}})}_prepareFeatureFlagsForCallbacks(){const e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((e=>t[e])),flagVariants:Object.keys(t).filter((e=>t[e])).reduce(((e,i)=>(e[i]=t[i],e)),{})}}_fireFeatureFlagsCallbacks(e){const{flags:t,flagVariants:i}=this._prepareFeatureFlagsForCallbacks();this.featureFlagEventHandlers.forEach((s=>s(t,i,{errorsLoading:e})))}setPersonPropertiesForFlags(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.instance.get_property(me)||{};this.instance.register({[me]:{...i,...e}}),t&&this.instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this.instance.unregister(me)}setGroupPropertiesForFlags(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.instance.get_property(ye)||{};0!==Object.keys(i).length&&Object.keys(i).forEach((t=>{i[t]={...i[t],...e[t]},delete e[t]})),this.instance.register({[ye]:{...i,...e}}),t&&this.instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){const t=this.instance.get_property(ye)||{};this.instance.register({[ye]:{...t,[e]:{}}})}else this.instance.unregister(ye)}}
1
+ !function(){"use strict";const e="undefined"!=typeof window?window:void 0,t="undefined"!=typeof globalThis?globalThis:e,i=Array.prototype,s=i.forEach,n=i.indexOf,r=null==t?void 0:t.navigator,o=null==t?void 0:t.document,a=null==t?void 0:t.location,l=null==t?void 0:t.fetch,c=null!=t&&t.XMLHttpRequest&&"withCredentials"in new t.XMLHttpRequest?t.XMLHttpRequest:void 0,u=null==t?void 0:t.AbortController,d=null==r?void 0:r.userAgent,h=null!=e?e:{};const _={DEBUG:!1,LIB_VERSION:"1.185.0"},p=Array.isArray,g=Object.prototype,f=g.hasOwnProperty,v=g.toString,m=p||function(e){return"[object Array]"===v.call(e)},y=function(e){return"function"==typeof e},b=function(e){return e===Object(e)&&!m(e)},w=function(e){if(b(e)){for(const t in e)if(f.call(e,t))return!1;return!0}return!1},S=function(e){return void 0===e},E=function(e){return"[object String]"==v.call(e)},k=function(e){return E(e)&&0===e.trim().length},x=function(e){return null===e},I=function(e){return S(e)||x(e)},P=function(e){return"[object Number]"==v.call(e)},R=function(e){return"[object Boolean]"===v.call(e)},F=e=>e instanceof FormData,C="[PostHog.js]",T={_log:function(t){if(e&&(_.DEBUG||h.POSTHOG_DEBUG)&&!S(e.console)&&e.console){const r="__rrweb_original__"in e.console[t]?e.console[t].__rrweb_original__:e.console[t];for(var i=arguments.length,s=new Array(i>1?i-1:0),n=1;n<i;n++)s[n-1]=arguments[n];r(C,...s)}},info:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];T._log("log",...t)},warn:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];T._log("warn",...t)},error:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];T._log("error",...t)},critical:function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];console.error(C,...t)},uninitializedWarning:e=>{T.error(`You must initialize PostHog before calling ${e}`)}},$=(e,t,i)=>{if(e.config.disable_external_dependency_loading)return T.warn(`${t} was requested but loading of external scripts is disabled.`),i("Loading of external scripts is disabled");const s=()=>{if(!o)return i("document not found");const e=o.createElement("script");e.type="text/javascript",e.crossOrigin="anonymous",e.src=t,e.onload=e=>i(void 0,e),e.onerror=e=>i(e);const s=o.querySelectorAll("body > script");var n;s.length>0?null===(n=s[0].parentNode)||void 0===n||n.insertBefore(e,s[0]):o.body.appendChild(e)};null!=o&&o.body?s():null==o||o.addEventListener("DOMContentLoaded",s)};h.__PosthogExtensions__=h.__PosthogExtensions__||{},h.__PosthogExtensions__.loadExternalDependency=(e,t,i)=>{let s=`/static/${t}.js?v=${e.version}`;if("toolbar"===t){const e=3e5;s=`${s}&t=${Math.floor(Date.now()/e)*e}`}const n=e.requestRouter.endpointFor("assets",s);$(e,n,i)},h.__PosthogExtensions__.loadSiteApp=(e,t,i)=>{const s=e.requestRouter.endpointFor("api",t);$(e,s,i)};const A={},M=function(e){return e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")};function L(e,t,i){if(m(e))if(s&&e.forEach===s)e.forEach(t,i);else if("length"in e&&e.length===+e.length)for(let s=0,n=e.length;s<n;s++)if(s in e&&t.call(i,e[s],s)===A)return}function D(e,t,i){if(!I(e)){if(m(e))return L(e,t,i);if(F(e)){for(const s of e.entries())if(t.call(i,s[1],s[0])===A)return}else for(const s in e)if(f.call(e,s)&&t.call(i,e[s],s)===A)return}}const O=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),s=1;s<t;s++)i[s-1]=arguments[s];return L(i,(function(t){for(const i in t)void 0!==t[i]&&(e[i]=t[i])})),e};function N(e,t){return-1!==e.indexOf(t)}function q(e){const t=Object.keys(e);let i=t.length;const s=new Array(i);for(;i--;)s[i]=[t[i],e[t[i]]];return s}const B=function(e){try{return e()}catch{return}},H=function(e){return function(){try{for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return e.apply(this,i)}catch(e){T.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),T.critical(e)}}},U=function(e){const t={};return D(e,(function(e,i){E(e)&&e.length>0&&(t[i]=e)})),t},W=function(e){return e.replace(/^\$/,"")};function z(e,t){return function(e,t){const i=new Set;return function e(s,n){if(s!==Object(s))return t?t(s,n):s;if(i.has(s))return;let r;return i.add(s),m(s)?(r=[],L(s,(t=>{r.push(e(t))}))):(r={},D(s,((t,s)=>{i.has(t)||(r[s]=e(t,s))}))),r}(e)}(e,(e=>E(e)&&!x(t)?e.slice(0,t):e))}const V=function(e){let t,i,s,n="",r=0;for(t=i=0,r=(e=(e+"").replace(/\r\n/g,"\n").replace(/\r/g,"\n")).length,s=0;s<r;s++){const r=e.charCodeAt(s);let o=null;r<128?i++:o=r>127&&r<2048?String.fromCharCode(r>>6|192,63&r|128):String.fromCharCode(r>>12|224,r>>6&63|128,63&r|128),x(o)||(i>t&&(n+=e.substring(t,i)),n+=o,t=i=s+1)}return i>t&&(n+=e.substring(t,e.length)),n},G=function(){function t(e){return e&&(e.preventDefault=t.preventDefault,e.stopPropagation=t.stopPropagation),e}return t.preventDefault=function(){this.returnValue=!1},t.stopPropagation=function(){this.cancelBubble=!0},function(i,s,n,r,o){if(i)if(i.addEventListener&&!r)i.addEventListener(s,n,!!o);else{const r="on"+s,o=i[r];i[r]=function(i,s,n){return function(r){if(!(r=r||t(null==e?void 0:e.event)))return;let o,a=!0;y(n)&&(o=n(r));const l=s.call(i,r);return!1!==o&&!1!==l||(a=!1),a}}(i,n,o)}else T.error("No valid element provided to register_event")}}();function j(e){const t=null==e?void 0:e.hostname;return!!E(t)&&"herokuapp.com"!==t.split(".").slice(-2).join(".")}function Q(e,t){for(let i=0;i<e.length;i++)if(t(e[i]))return e[i]}let J;!function(e){e.GZipJS="gzip-js",e.Base64="base64"}(J||(J={}));const Y="$people_distinct_id",X="__alias",K="__timers",Z="$autocapture_disabled_server_side",ee="$heatmaps_enabled_server_side",te="$exception_capture_enabled_server_side",ie="$exception_capture_endpoint_suffix",se="$web_vitals_enabled_server_side",ne="$dead_clicks_enabled_server_side",re="$web_vitals_allowed_metrics",oe="$session_recording_enabled_server_side",ae="$console_log_recording_enabled_server_side",le="$session_recording_network_payload_capture",ce="$session_recording_canvas_recording",ue="$replay_sample_rate",de="$replay_minimum_duration",he="$sesid",_e="$session_is_sampled",pe="$session_recording_url_trigger_activated_session",ge="$session_recording_url_trigger_status",fe="$enabled_feature_flags",ve="$early_access_features",me="$stored_person_properties",ye="$stored_group_properties",be="$surveys",we="$surveys_activated",Se="$flag_call_reported",Ee="$user_state",ke="$client_session_props",xe="$capture_rate_limit",Ie="$initial_campaign_params",Pe="$initial_referrer_info",Re="$initial_person_info",Fe="$epp",Ce="__POSTHOG_TOOLBAR__",Te=[Y,X,"__cmpns",K,oe,ee,he,fe,Ee,ve,ye,me,be,Se,ke,xe,Ie,Pe,Fe],$e="$active_feature_flags",Ae="$override_feature_flags",Me="$feature_flag_payloads",Le=e=>{const t={};for(const[i,s]of q(e||{}))s&&(t[i]=s);return t};class De{constructor(e){this.instance=e,this._override_warning=!1,this.featureFlagEventHandlers=[],this.reloadFeatureFlagsQueued=!1,this.reloadFeatureFlagsInAction=!1}getFlags(){return Object.keys(this.getFlagVariants())}getFlagVariants(){const e=this.instance.get_property(fe),t=this.instance.get_property(Ae);if(!t)return e||{};const i=O({},e),s=Object.keys(t);for(let e=0;e<s.length;e++)i[s[e]]=t[s[e]];return this._override_warning||(T.warn(" Overriding feature flags!",{enabledFlags:e,overriddenFlags:t,finalFlags:i}),this._override_warning=!0),i}getFlagPayloads(){return this.instance.get_property(Me)||{}}reloadFeatureFlags(){this.reloadFeatureFlagsQueued||(this.reloadFeatureFlagsQueued=!0,this._startReloadTimer())}setAnonymousDistinctId(e){this.$anon_distinct_id=e}setReloadingPaused(e){this.reloadFeatureFlagsInAction=e}resetRequestQueue(){this.reloadFeatureFlagsQueued=!1}_startReloadTimer(){this.reloadFeatureFlagsQueued&&!this.reloadFeatureFlagsInAction&&setTimeout((()=>{!this.reloadFeatureFlagsInAction&&this.reloadFeatureFlagsQueued&&(this.reloadFeatureFlagsQueued=!1,this._reloadFeatureFlagsRequest())}),5)}_reloadFeatureFlagsRequest(){if(this.instance.config.advanced_disable_feature_flags)return;this.setReloadingPaused(!0);const e=this.instance.config.token,t=this.instance.get_property(me),i=this.instance.get_property(ye),s={token:e,distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:t,group_properties:i,disable_flags:this.instance.config.advanced_disable_feature_flags||void 0};this.instance._send_request({method:"POST",url:this.instance.requestRouter.endpointFor("api","/decide/?v=3"),data:s,compression:this.instance.config.disable_compression?void 0:J.Base64,timeout:this.instance.config.feature_flag_request_timeout_ms,callback:e=>{var t;this.setReloadingPaused(!1);let i=!0;200===e.statusCode&&(this.$anon_distinct_id=void 0,i=!1),this.receivedFeatureFlags(null!==(t=e.json)&&void 0!==t?t:{},i),this._startReloadTimer()}})}getFeatureFlag(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(this.instance.decideEndpointWasHit||this.getFlags()&&this.getFlags().length>0))return void T.warn('getFeatureFlag for key "'+e+"\" failed. Feature flags didn't load in time.");const i=this.getFlagVariants()[e],s=`${i}`,n=this.instance.get_property(Se)||{};var r;!t.send_event&&"send_event"in t||(e in n&&n[e].includes(s)||(m(n[e])?n[e].push(s):n[e]=[s],null===(r=this.instance.persistence)||void 0===r||r.register({[Se]:n}),this.instance.capture("$feature_flag_called",{$feature_flag:e,$feature_flag_response:i})));return i}getFeatureFlagPayload(e){return this.getFlagPayloads()[e]}isFeatureEnabled(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.instance.decideEndpointWasHit||this.getFlags()&&this.getFlags().length>0)return!!this.getFeatureFlag(e,t);T.warn('isFeatureEnabled for key "'+e+"\" failed. Feature flags didn't load in time.")}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(!this.instance.persistence)return;this.instance.decideEndpointWasHit=!0;const i=this.getFlagVariants(),s=this.getFlagPayloads();!function(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},s=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=e.featureFlags,r=e.featureFlagPayloads;if(!n)return;if(m(n)){const e={};if(n)for(let t=0;t<n.length;t++)e[n[t]]=!0;return void(t&&t.register({[$e]:n,[fe]:e}))}let o=n,a=r;e.errorsWhileComputingFlags&&(o={...i,...o},a={...s,...a}),t&&t.register({[$e]:Object.keys(Le(o)),[fe]:o||{},[Me]:a||{}})}(e,this.instance.persistence,i,s),this._fireFeatureFlagsCallbacks(t)}override(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!this.instance.__loaded||!this.instance.persistence)return T.uninitializedWarning("posthog.feature_flags.override");if(this._override_warning=t,!1===e)this.instance.persistence.unregister(Ae);else if(m(e)){const t={};for(let i=0;i<e.length;i++)t[e[i]]=!0;this.instance.persistence.register({[Ae]:t})}else this.instance.persistence.register({[Ae]:e})}onFeatureFlags(e){if(this.addFeatureFlagsHandler(e),this.instance.decideEndpointWasHit){const{flags:t,flagVariants:i}=this._prepareFeatureFlagsForCallbacks();e(t,i)}return()=>this.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t){var i;const s={[`$feature_enrollment/${e}`]:t};this.instance.capture("$feature_enrollment_update",{$feature_flag:e,$feature_enrollment:t,$set:s}),this.setPersonPropertiesForFlags(s,!1);const n={...this.getFlagVariants(),[e]:t};null===(i=this.instance.persistence)||void 0===i||i.register({[$e]:Object.keys(Le(n)),[fe]:n}),this._fireFeatureFlagsCallbacks()}getEarlyAccessFeatures(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=this.instance.get_property(ve);if(i&&!t)return e(i);this.instance._send_request({transport:"XHR",url:this.instance.requestRouter.endpointFor("api",`/api/early_access_features/?token=${this.instance.config.token}`),method:"GET",callback:t=>{var i;if(!t.json)return;const s=t.json.earlyAccessFeatures;return null===(i=this.instance.persistence)||void 0===i||i.register({[ve]:s}),e(s)}})}_prepareFeatureFlagsForCallbacks(){const e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((e=>t[e])),flagVariants:Object.keys(t).filter((e=>t[e])).reduce(((e,i)=>(e[i]=t[i],e)),{})}}_fireFeatureFlagsCallbacks(e){const{flags:t,flagVariants:i}=this._prepareFeatureFlagsForCallbacks();this.featureFlagEventHandlers.forEach((s=>s(t,i,{errorsLoading:e})))}setPersonPropertiesForFlags(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.instance.get_property(me)||{};this.instance.register({[me]:{...i,...e}}),t&&this.instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this.instance.unregister(me)}setGroupPropertiesForFlags(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const i=this.instance.get_property(ye)||{};0!==Object.keys(i).length&&Object.keys(i).forEach((t=>{i[t]={...i[t],...e[t]},delete e[t]})),this.instance.register({[ye]:{...i,...e}}),t&&this.instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){const t=this.instance.get_property(ye)||{};this.instance.register({[ye]:{...t,[e]:{}}})}else this.instance.unregister(ye)}}
2
2
  /**
3
3
  * uuidv7: An experimental implementation of the proposed UUID Version 7
4
4
  *