UNPKG

posthog-js

Version:

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

2 lines • 19.1 kB
const e="0.9.11",n={DEBUG:!1,LIB_VERSION:e,LIB_NAME:"browser-common",JS_SDK_VERSION:e};function t(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch(e){return}}function i(e,n){return-1!==e.indexOf(n)}n.DEBUG=!1,n.LIB_VERSION="1.438.23",n.LIB_NAME="web";const r=Object.prototype,o=r.hasOwnProperty,l=r.toString,a=Array.isArray||function(e){return"[object Array]"===l.call(e)},d=e=>"function"==typeof e,u=e=>e===Object(e)&&!a(e),c=e=>{if(u(e)){for(const n in e)if(o.call(e,n))return!1;return!0}return!1},s=e=>void 0===e,f=e=>s(e)||(e=>null===e)(e),p=e=>"[object Number]"==l.call(e)&&e==e;function b(e,n,t,i,r){return n>t&&(i.warn("min cannot be greater than max."),n=t),p(e)?e>t?(i.warn(" cannot be greater than max: "+t+". Using max value instead."),t):n>e?(i.warn(" cannot be less than min: "+n+". Using min value instead."),n):e:(i.warn(" must be a number. using max or fallback. max: "+t+", fallback: "+r),b(null!=r?r:t,n,t,i))}var v=class{constructor(e){this.C={},this.I=e.I,this.R=b(e.bucketSize,0,100,e.$),this.A=b(e.refillRate,0,this.R,e.$),this.O=b(e.refillInterval,0,864e5,e.$)}F(e,n){const t=Math.floor((n-e.lastAccess)/this.O);t>0&&(e.tokens=Math.min(e.tokens+t*this.A,this.R),e.lastAccess=e.lastAccess+t*this.O)}consumeRateLimit(e){var n;const t=Date.now(),i=String(e);let r=this.C[i];return r?this.F(r,t):(r={tokens:this.R,lastAccess:t},this.C[i]=r),0===r.tokens||(r.tokens--,0===r.tokens&&(null===(n=this.I)||void 0===n||n.call(this,e)),0===r.tokens)}stop(){this.C={}}};const g="Mobile",w="Android",h="Tablet",m="Android Tablet",x="iPad",_="Apple Watch",E="Safari",S="BlackBerry",R="Samsung Internet",y="Chrome",O="Chrome iOS",B="Internet Explorer",A="Internet Explorer Mobile",k="Opera",M="Microsoft Edge",P="Firefox",T="Firefox iOS",C="Nintendo",I="PlayStation",W="Xbox",j="Android Mobile",F="Mobile Safari",D="Windows",N="Windows Phone",G="Nokia",L="Ouya",U="Generic "+g.toLowerCase(),K="Generic "+h.toLowerCase(),V="Konqueror",z="Oculus Browser",X="Vivaldi",H="Yandex",q="Whale",Y="DuckDuckGo",Q="Pale Moon",Z="Waterfox",J="Brave",ee="Claude",ne="Codex",te="ChatGPT",ie="Google Search App",re=new RegExp("Version/(\\d+(\\.\\d+)?)"),oe=new RegExp("(Claude|Codex|ChatGPT)\\/(\\d+(\\.\\d+)?)"),le=new RegExp(W,"i"),ae=new RegExp("PlayStation \\w+","i"),de=new RegExp("Nintendo \\w+","i"),ue=new RegExp("BlackBerry|PlayBook|BB10","i"),ce={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},se=function(e,n,t,r){n=n||"";const o=function(e){return(null==e?void 0:e.brave)?J:null}(t);return o||((null==r?void 0:r.detectGoogleSearchApp)&&i(e,"GSA/")?ie:i(e," OPR/")&&i(e,"Mini")?"Opera Mini":i(e," OPR/")?k:ue.test(e)?S:i(e,"IEMobile")||i(e,"WPDesktop")?A:i(e,"OculusBrowser")?z:i(e,"SamsungBrowser")?R:i(e,"Edge")||i(e,"Edg/")?M:i(e,"Vivaldi/")?X:i(e,"YaBrowser/")?H:i(e,"Whale/")?q:i(e,"DuckDuckGo/")||i(e,"Ddg/")?Y:i(e,"Claude/")?ee:i(e,"Codex/")?ne:i(e,"ChatGPT/")?te:i(e,"FBIOS")?"Facebook Mobile":i(e,"UCWEB")||i(e,"UCBrowser")?"UC Browser":i(e,"CriOS")?O:i(e,"CrMo")||i(e,y)?y:i(e,w)&&i(e,E)?j:i(e,"FxiOS")?T:i(e.toLowerCase(),V.toLowerCase())?V:i(e,"Brave/")?J:((e,n)=>n&&i(n,"Apple")||function(e){return i(e,E)&&!i(e,y)&&!i(e,w)}(e))(e,n)?i(e,g)?F:E:i(e,"PaleMoon/")?Q:i(e,"Waterfox/")?Z:i(e,P)?P:i(e,"MSIE")||i(e,"Trident/")?B:i(e,"Gecko")?P:"")},fe={[A]:[new RegExp("rv:(\\d+(\\.\\d+)?)")],[M]:[new RegExp("Edge?\\/(\\d+(\\.\\d+)?)")],[y]:[new RegExp("(Chrome|CrMo)\\/(\\d+(\\.\\d+)?)")],[O]:[new RegExp("CriOS\\/(\\d+(\\.\\d+)?)")],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/(\\d+(\\.\\d+)?)")],[E]:[re],[F]:[re],[k]:[new RegExp("(Opera|OPR)\\/(\\d+(\\.\\d+)?)")],[P]:[new RegExp("Firefox\\/(\\d+(\\.\\d+)?)")],[T]:[new RegExp("FxiOS\\/(\\d+(\\.\\d+)?)")],[V]:[new RegExp("Konqueror[:/]?(\\d+(\\.\\d+)?)","i")],[S]:[new RegExp("BlackBerry (\\d+(\\.\\d+)?)"),re],[j]:[new RegExp("android\\s(\\d+(\\.\\d+)?)","i")],[R]:[new RegExp("SamsungBrowser\\/(\\d+(\\.\\d+)?)")],[z]:[new RegExp("OculusBrowser\\/(\\d+(\\.\\d+)?)")],[X]:[new RegExp("Vivaldi\\/(\\d+(\\.\\d+)?)")],[H]:[new RegExp("YaBrowser\\/(\\d+(\\.\\d+)?)")],[q]:[new RegExp("Whale\\/(\\d+(\\.\\d+)?)")],[J]:[new RegExp("Brave\\/(\\d+(\\.\\d+)?)")],[ee]:[oe],[ne]:[oe],[te]:[oe],[Y]:[new RegExp("(DuckDuckGo|Ddg)\\/(\\d+(\\.\\d+)?)")],[Q]:[new RegExp("PaleMoon\\/(\\d+(\\.\\d+)?)")],[Z]:[new RegExp("Waterfox\\/(\\d+(\\.\\d+)?)")],[ie]:[new RegExp("GSA\\/(\\d+(\\.\\d+)?)")],[B]:[new RegExp("(rv:|MSIE )(\\d+(\\.\\d+)?)")],Mozilla:[new RegExp("rv:(\\d+(\\.\\d+)?)")]},pe=function(e,n,t,i){const r=se(e,n,t,i),o=fe[r];if(s(o))return null;for(let n=0;o.length>n;n++){const t=e.match(o[n]);if(t)return parseFloat(t[t.length-2])}return null},be=[[new RegExp("Xbox; Xbox (.*?)[);]","i"),e=>[W,e&&e[1]||""]],[new RegExp(C,"i"),[C,""]],[new RegExp(I,"i"),[I,""]],[ue,[S,""]],[new RegExp(D,"i"),(e,n)=>{if(/Phone/.test(n)||/WPDesktop/.test(n))return[N,""];if(new RegExp(g).test(n)&&!/IEMobile\b/.test(n))return["Windows Mobile",""];const t=/Windows NT ([0-9.]+)/i.exec(n);if(t&&t[1]){let e=ce[t[1]]||"";return/arm/i.test(n)&&(e="RT"),[D,e]}return[D,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,e=>e&&e[3]?["iOS",[e[3],e[4],e[5]||"0"].join(".")]:["iOS",""]],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,e=>{let n="";return e&&e.length>=3&&(n=s(e[2])?e[3]:e[2]),["watchOS",n]}],[new RegExp("(Android (\\d+)\\.(\\d+)\\.?(\\d+)?|Android)","i"),e=>e&&e[2]?[w,[e[2],e[3],e[4]||"0"].join(".")]:[w,""]],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,e=>{const n=["Mac OS X",""];return e&&e[1]&&(n[1]=[e[1],e[2],e[3]||"0"].join(".")),n}],[/Mac/i,["Mac OS X",""]],[/CrOS/,["Chrome OS",""]],[/Linux|debian/i,["Linux",""]]],ve=function(e){return de.test(e)?C:ae.test(e)?I:le.test(e)?W:new RegExp(L,"i").test(e)?L:new RegExp("(Windows Phone|WPDesktop)","i").test(e)?N:/iPad/.test(e)?x:/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(e)?_:ue.test(e)?S:/(kobo)\s(ereader|touch)/i.test(e)?"Kobo":new RegExp(G,"i").test(e)?G:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(e)||/(kf[a-z]+)( bui|\)).+silk\//i.test(e)?"Kindle Fire":/(Android|ZTE)/i.test(e)?new RegExp(g).test(e)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(e)||/pixel[\daxl ]{1,6}/i.test(e)&&!/pixel c/i.test(e)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(e)||/lmy47v/i.test(e)&&!/QTAQZ3/i.test(e)?w:m:new RegExp("(pda|Mobile)","i").test(e)?U:new RegExp(h,"i").test(e)&&!new RegExp("Tablet pc","i").test(e)?K:""},ge=function(e,n){var t;const i=ve(e);return i===x||i===m||"Kobo"===i||"Kindle Fire"===i||i===K?h:i===C||i===W||i===I||i===L?"Console":i===_?"Wearable":i?g:"Android"===(null==n?void 0:n.userAgentDataPlatform)&&(null!==(t=null==n?void 0:n.maxTouchPoints)&&void 0!==t?t:0)>0?600>Math.min(null!==(r=null==n?void 0:n.screenWidth)&&void 0!==r?r:0,null!==(o=null==n?void 0:n.screenHeight)&&void 0!==o?o:0)/(null!==(l=null==n?void 0:n.devicePixelRatio)&&void 0!==l?l:1)?g:h:"Desktop";var r,o,l},we=/\bFBAV\/(\d+(?:\.\d+)*)/i,he=[[/\bInstagram(?:[ /](\d+(?:\.\d+)*))?\b/i,"Instagram"],[/\bBarcelona[ /](\d+(?:\.\d+)*)?/i,"Threads"],[/\b(?:MessengerForiOS|(?:FBAN|FB_IAB)\/Orca-Android)\b/i,"Messenger",we],[/\bFBAN\/EMA\b/i,"Facebook Lite",we],[/\b(?:FBIOS|(?:FBAN|FB_IAB)\/(?:FB4A|FBIOS))\b/i,"Facebook",we],[/\bLinkedInApp(?:\]?\/(\d+(?:\.\d+)*))?\b/i,"LinkedIn"],[/\bTwitter(?:Android| for (?:iPhone|iPad|Android))(?:\/(\d+(?:\.\d+)*))?\b/i,"Twitter"],[/\b(?:musical_ly|trill)(?:[_/](\d+\.\d+(?:\.\d+)*))?(?=\b|_)/i,"TikTok",/\bapp_version\/(\d+(?:\.\d+)*)/i],[/\b(?:MicroMessenger|WeChat)\/(\d+(?:\.\d+)*)?/i,"WeChat"],[/\bLine\/(\d+(?:\.\d+)*)?/i,"Line"],[/\bGSA\/(\d+(?:\.\d+)*)?/i,"Google"],[/\[Pinterest\/(?:iOS|Android)\b|\bPinterest(?: for (?:Android(?: Tablet)?|iOS))?\/(\d+(?:\.\d+)*)/i,"Pinterest"],[/\b(?:WA4A|WAiOS)\/(\d+(?:\.\d+)*)?/i,"WhatsApp"],[/\bSnapchat[ /](\d+(?:\.\d+)*)?/i,"Snapchat"],[/\bBing(?:Web|Sapphire)\/(\d+(?:\.\d+)*)?/i,"Bing"],[/\bNAVER\(inapp; search;/i,"Naver",/\bNAVER\(inapp; search;[^;)]*; (\d+(?:\.\d+)*)/i],[/\bKAKAOTALK[ /](\d+\.\d+(?:\.\d+)*)?/i,"KakaoTalk"]];function me(e){return me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},me(e)}function xe(e,n,t){return(n=function(e){var n=function(e){if("object"!=me(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var t=n.call(e,"string");if("object"!=me(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==me(n)?n:n+""}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _e(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,i)}return t}function Ee(e){for(var n=1;arguments.length>n;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?_e(Object(t),!0).forEach(function(n){xe(e,n,t[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):_e(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))})}return e}function Se(e,n){if(null==e)return{};var t,i,r=function(e,n){if(null==e)return{};var t={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(n.includes(i))continue;t[i]=e[i]}return t}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;o.length>i;i++)n.includes(t=o[i])||{}.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}const $e=(e,{debugEnabled:t}={})=>{const i={N(i,...r){let o;try{o=typeof window>"u"?void 0:window}catch(e){return}o&&(n.DEBUG||o.POSTHOG_DEBUG||t)&&!s(o.console)&&o.console&&("__rrweb_original__"in o.console[i]?o.console[i].__rrweb_original__:o.console[i])(e,...r)},debug(...e){i.N("debug",...e)},info(...e){i.N("log",...e)},warn(...e){i.N("warn",...e)},error(...e){i.N("error",...e)},critical(...n){console.error(e,...n)},uninitializedWarning(e){i.error(`You must initialize PostHog before calling ${e}`)},createLogger:(n,t)=>$e(`${e} ${n}`,t)};return i},Re=$e("[PostHog.js]"),ye=Re.createLogger;function Oe(e,n){if(!f(e))if(a(e))e.forEach(n);else if(e instanceof FormData)e.forEach((e,t)=>n(e,t));else for(const t in e)o.call(e,t)&&n(e[t],t)}const Be=function(e,...n){for(const t of n)for(const n in t)void 0!==t[n]&&(e[n]=t[n]);return e},Ae="u">typeof window?window:void 0,ke="u">typeof globalThis?globalThis:Ae,Me=null==ke?void 0:ke.navigator,Pe=null==ke?void 0:ke.document,Te=null==ke?void 0:ke.location;null!=ke&&ke.XMLHttpRequest&&new ke.XMLHttpRequest;const Ce=null==Me?void 0:Me.userAgent,Ie=function(e,n,t){if(!e||!n||!n.length)return e;const i=e.split("#"),r=i[1],o=(i[0]||"").split("?"),l=o[1],d=o[0],u=(l||"").split("&"),c=[];for(let e=0;u.length>e;e++){const i=u[e].split("=");a(i)&&(n.includes(i[0])?c.push(i[0]+"="+t):c.push(u[e]))}let s=d;return null!=l&&(s+="?"+c.join("&")),null!=r&&(s+="#"+r),s},We=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","oppref","bfcid","irclid","_kx"],je=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid",...We],Fe=["$app_build","$app_name","$app_namespace","$app_version","$browser","$browser_version","$device_type","$current_url","$pathname","$os","$os_name","$os_version","$referring_domain","$referrer","$screen_height","$screen_width","$viewport_height","$viewport_width","$raw_user_agent"],De="<masked>",Ne=["li_fat_id"];function Ge(){return navigator.language||navigator.userLanguage}function Le(){const e=Ge();return"string"==typeof e?e.split("-")[0]:void 0}const Ue="$direct";function Ke(){try{return(new Date).getTimezoneOffset()}catch(e){return}}function Ve(e,i,r,o=!1){var a,u,c,f;if(!Ce)return{};const b=e?[...We,...i||[]]:[],[v,g]=function(e){for(let n=0;be.length>n;n++){const[t,i]=be[n],r=t.exec(e),o=r&&(d(i)?i(r,e):i);if(o)return o}return["",""]}(Ce),[w,h]=function(e){for(let n=0;he.length>n;n++){const[t,i,r]=he[n],o=e.match(t);if(o){const n=r&&e.match(r)||o;return[i,(null==n?void 0:n[1])||""]}}return["",""]}(Ce),m=function(){const e="u">typeof navigator?navigator:void 0;return(null==e?void 0:e.brave)?{brave:!0}:{}}(),x={};s(r)||(x.detectGoogleSearchApp=r);const _={},E=null===(a=navigator)||void 0===a||null===(a=a.userAgentData)||void 0===a?void 0:a.platform,S=null===(u=navigator)||void 0===u?void 0:u.maxTouchPoints,R=null==Ae||null===(c=Ae.screen)||void 0===c?void 0:c.width,y=null==Ae||null===(f=Ae.screen)||void 0===f?void 0:f.height,O=null==Ae?void 0:Ae.devicePixelRatio;s(E)||(_.userAgentDataPlatform=E),s(S)||(_.maxTouchPoints=S),s(R)||(_.screenWidth=R),s(y)||(_.screenHeight=y),s(O)||(_.devicePixelRatio=O);const B=Be(function(e){const n={};return Oe(e,function(e,t){("[object String]"==l.call(e)&&e.length>0||p(e))&&(n[t]=e)}),n}({$os:v,$os_version:g,$browser:se(Ce,navigator.vendor,m,x),$webview_app:w,$webview_app_version:h,$device:ve(Ce),$device_type:ge(Ce,_),$timezone:t(),$timezone_offset:Ke()}),{$current_url:Ie(o?(A=null==Te?void 0:Te.href,A?A.split("#")[0]:A):null==Te?void 0:Te.href,b,De),$host:null==Te?void 0:Te.host,$pathname:null==Te?void 0:Te.pathname,$raw_user_agent:Ce.length>1e3?Ce.substring(0,997)+"...":Ce,$browser_version:pe(Ce,navigator.vendor,m,x),$browser_language:Ge(),$browser_language_prefix:Le(),$screen_height:null==Ae?void 0:Ae.screen.height,$screen_width:null==Ae?void 0:Ae.screen.width,$viewport_height:null==Ae?void 0:Ae.innerHeight,$viewport_width:null==Ae?void 0:Ae.innerWidth,$lib:n.LIB_NAME,$lib_version:n.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3});var A;return n.SDK_DIST_CHANNEL&&(B.$sdk_dist_channel=n.SDK_DIST_CHANNEL),B}const ze=e=>{const n=Be({},Ve(e.config.mask_personal_data_properties,e.config.custom_personal_data_properties,e.config.detect_google_search_app,e.config.disable_capture_url_hashes),function(e,n,t){if(!Pe)return{};const i=n?[...We,...t||[]]:[],r=function(e,n){const t=je.concat(n||[]),i={};return Oe(t,function(n){const t=function(e,n){const t=((e.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&");let i;for(let e=0;t.length>e;e++){const r=t[e].split(/=(.*)/);if(r[0]===n){i=r;break}}if(!a(i)||2>i.length)return"";{let e=i[1].replace(/\+/g," ");try{e=decodeURIComponent(e)}catch(n){Re.error("Skipping decoding for malformed query param: "+e)}return e}}(e,n);i[n]=t||null}),i}(Ie(Pe.URL,i,De),e),o=function(){const e={};return Oe(Ne,function(n){const t=(e=>{if(Pe){try{const n=e+"=",t=Pe.cookie.split(";").filter(e=>e.length);for(let e=0;t.length>e;e++){let i=t[e];for(;" "==i.charAt(0);)i=i.substring(1,i.length);if(0===i.indexOf(n))return decodeURIComponent(i.substring(n.length,i.length))}}catch(e){}return null}})(n);e[n]=t||null}),e}();return Be(o,r)}(e.config.custom_campaign_params,e.config.mask_personal_data_properties,e.config.custom_personal_data_properties),{$referrer:(null==Pe?void 0:Pe.referrer)||Ue,$referring_domain:(null==Pe?void 0:Pe.referrer)&&(null===(r=(e=>{const n=typeof document>"u"?void 0:document,t=null==n?void 0:n.createElement("a");return s(t)?null:(t.href=e,t)})(Pe.referrer))||void 0===r?void 0:r.host)||Ue}),t={};var r;Oe(n,function(e,n){(i(je,n)||i(Fe,n))&&(t[n]=e)}),e.setPersonPropertiesForFlags(t)};function Xe(e,n){return[...e||[],...a(n)?n:[n]]}function He(e,n){return(s(e)?1:e)*n}function qe(e,n){return function(e){let n=0;for(let t=0;e.length>t;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return Math.abs(n)}(e)%100<b(100*n,0,100,Re)}function Ye(e){return n=>qe(n.properties.distinct_id,e)?Ee(Ee({},n),{},{properties:Ee(Ee({},n.properties),{},{$sample_type:["sampleByDistinctId"],$sample_threshold:e})}):null}function Qe(e){return n=>qe(n.properties.$session_id,e)?Ee(Ee({},n),{},{properties:Ee(Ee({},n.properties),{},{$sample_type:Xe(n.properties.$sample_type,"sampleBySessionId"),$sample_threshold:He(n.properties.$sample_threshold,e)})}):null}function Ze(e,n){return t=>{var r,o,l;return i(e,t.event)?100*Math.random()<b(100*n,0,100,Re)?Ee(Ee({},t),{},{properties:Ee(Ee({},t.properties),{},{$sample_type:Xe(null===(r=t.properties)||void 0===r?void 0:r.$sample_type,"sampleByEvent"),$sample_threshold:He(null===(o=t.properties)||void 0===o?void 0:o.$sample_threshold,n),$sampled_events:Xe(null===(l=t.properties)||void 0===l?void 0:l.$sampled_events,e)})}):null:t}}const Je=e=>(console.log("Would have sent event:",e),null);function en(e){if(!e)return!1;const n=e.toLowerCase(),t=-1!==n.indexOf("chrome/"),i=-1!==n.indexOf("applewebkit/"),r=-1!==n.indexOf("safari/");return t&&(!i||!r)}const nn=["type"];function tn(e){const{type:n,executionTimeMs:t}=e;return`${n}${f(t)?"":` (${t.toFixed(2)}ms)`}`}const rn=ye("[PostHog Action RateLimiting]");function on(e,n){console.log(e,n)}const ln=e=>(n,t)=>{var i;null==e||null===(i=e.sessionRecording)||void 0===i||i.tryAddCustomEvent("app-state",{title:n,stateEvent:t})};function an(e,n,t=5){if("object"!=typeof e||"object"!=typeof n)return{};if(e===n)return{};if(!e&&n)return n;if(!n||!e)return{};const i={},r=new Set([...Object.keys(e),...Object.keys(n)]);for(const o of r){const r=e[o],l=n[o];if(s(r))i[o]=l;else if(s(l))i[o]=r;else if(!(r===l||f(r)&&f(l)))if(u(r)&&u(l))if(t>1){const e=an(r,l,t-1);c(e)||(i[o]=e)}else i[o]="max depth reached, checking for changed value";else i[o]=l}return i}const dn=(()=>{let e=null,n=0,t=null;return{info(i){t!==i&&(n=0,t=i),n++,e&&clearTimeout(e),e=setTimeout(()=>{rn.info(1===n?`action "${i}" has been rate limited`:`action "${i}" has been rate limited (${n} times)`),n=0,e=null},1e3)}}})();function un(e={}){const n=cn(e);return{name:"posthog-kea-logger",events:{beforeReduxStore(e){e.middleware.push(n)}}}}function cn(e={}){const{maskAction:n,maskState:t,titleFunction:i=tn,logger:r=on,include:o={prevState:!0,nextState:!1,changedState:!0},rateLimiterRefillRate:l=1,rateLimiterBucketSize:a=10,__stateComparisonDepth:d}=e,u=new v({refillRate:l,bucketSize:a,refillInterval:1e3,$:rn});return e=>l=>a=>{const c=a,s=e.getState(),f=performance.now(),p=l(c),b=performance.now()-f,v=e.getState(),g=n?n(c):c;if(!g)return p;if(u.consumeRateLimit(c.type))dn.info(c.type);else try{const e=t?t(s,g):s,n=t?t(v,g):v,l=o.changedState?an(e,n,null!=d?d:5):void 0,{type:a}=g,u={type:a,payload:Se(g,nn),timestamp:Date.now(),executionTimeMs:b,prevState:o.prevState?e:void 0,nextState:o.nextState?n:void 0,changedState:o.changedState?l:void 0},c=i(u);r(c,u)}catch(e){rn.error("Error logging state:",e)}return p}}export{on as browserConsoleLogger,en as isLikelyWebViewBot,un as posthogKeaLogger,cn as posthogReduxLogger,Je as printAndDropEverything,Ye as sampleByDistinctId,Ze as sampleByEvent,Qe as sampleBySessionId,ln as sessionRecordingLoggerForPostHogInstance,ze as setAllPersonProfilePropertiesAsPersonPropertiesForFlags}; //# sourceMappingURL=customizations.js.map