@heycatch/sdk 0.8.3-dev.2162 → 0.8.3-dev.2180
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/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/react-native.cjs +1 -1
- package/dist/server.cjs +1 -1
- package/dist/server.js +1 -1
- package/package.json +1 -1
package/dist/react-native.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var se=Object.defineProperty;var Dt=Object.getOwnPropertyDescriptor;var Ft=Object.getOwnPropertyNames;var Ht=Object.prototype.hasOwnProperty;var Ut=(e,t)=>{for(var r in t)se(e,r,{get:t[r],enumerable:!0})},Vt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ft(t))!Ht.call(e,o)&&o!==r&&se(e,o,{get:()=>t[o],enumerable:!(n=Dt(t,o))||n.enumerable});return e};var Bt=e=>Vt(se({},"__esModule",{value:!0}),e);var Br={};Ut(Br,{HeyCatchProvider:()=>Lt,SDK_VERSION:()=>T,STAGE:()=>C,analytics:()=>Vr});module.exports=Bt(Br);var Pe="project",Kt="[a-z0-9]",Gr=new RegExp(`^${Kt}$`);var Gt=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function ce(e){let t=Gt.exec(e);if(t===null)return!1;let[,r="",n=""]=t,o=Number(r),i=Number(n);return o>255||i>255?!1:o===0||o===10||o===127||o===100&&i>=64&&i<=127||o===169&&i===254||o===172&&i>=16&&i<=31||o===192&&i===168}var Wt=/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/;function Jt(e){if(e==="::1"||e==="::")return!0;if(e.startsWith("::ffff:")){let t=Wt.exec(e);if(t===null)return ce(e.slice(7));let[,r="",n=""]=t,o=Number.parseInt(r,16),i=Number.parseInt(n,16);return ce(`${Math.floor(o/256)}.${o%256}.${Math.floor(i/256)}.${i%256}`)}return/^f[cd][0-9a-f]{2}:/.test(e)||/^fe[89ab][0-9a-f]:/.test(e)}function Yt(e){return e.toLowerCase().replace(/^\[/,"").replace(/\]$/,"").replace(/\.+$/,"")}function Ee(e){let t=Yt(e);return t==="localhost"||t.endsWith(".localhost")||ce(t)||Jt(t)}var Pt=require("posthog-react-native");var Se;function p(e,t,r){function n(c,u){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:u,constr:s,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,u);let a=s.prototype,l=Object.keys(a);for(let h=0;h<l.length;h++){let d=l[h];d in c||(c[d]=a[d].bind(c))}}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(c){var u;let a=r?.Parent?new i:this;n(a,c),(u=a._zod).deferred??(u.deferred=[]);for(let l of a._zod.deferred)l();return a}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:c=>r?.Parent&&c instanceof r.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var k=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};(Se=globalThis).__zod_globalConfig??(Se.__zod_globalConfig={});var ue=globalThis.__zod_globalConfig;function R(e){return e&&Object.assign(ue,e),ue}function Ce(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Te(e,t){return typeof t=="bigint"?t.toString():t}function Ie(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Re(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}var Ae=Symbol("evaluating");function P(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==Ae)return n===void 0&&(n=Ae,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}var pe="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Me(e){if(q(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(q(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function le(e){return Me(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Ne=new Set(["string","number","symbol"]);function Oe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fe(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function b(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function je(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Jr={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function F(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Le(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function de(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Y(e){return typeof e=="string"?e:e?.message}function M(e,t,r){let n=e.message?e.message:Y(e.inst?._zod.def?.error?.(e))??Y(t?.error?.(e))??Y(r.customError?.(e))??Y(r.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:s,...c}=e;return c.path??(c.path=[]),c.message=n,t?.reportInput&&(c.input=s),c}function me(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}var De=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Te,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Fe=p("$ZodError",De),U=p("$ZodError",De,{Parent:Error});var Xt=e=>(t,r,n,o)=>{let i=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new k;if(s.issues.length){let c=new(o?.Err??e)(s.issues.map(u=>M(u,i,R())));throw pe(c,o?.callee),c}return s.value},X=Xt(U),Qt=e=>async(t,r,n,o)=>{let i=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let c=new(o?.Err??e)(s.issues.map(u=>M(u,i,R())));throw pe(c,o?.callee),c}return s.value},Q=Qt(U),er=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new k;return i.issues.length?{success:!1,error:new(e??Fe)(i.issues.map(s=>M(s,o,R())))}:{success:!0,data:i.value}},V=er(U),tr=e=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>M(s,o,R())))}:{success:!0,data:i.value}},B=tr(U);var rr="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",nr=new RegExp(`^${rr}$`);var He=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Ue=/^-?\d+(?:\.\d+)?$/,Ve=/^(?:true|false)$/i;var K=p("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var Ke=p("$ZodCheckStringFormat",(e,t)=>{var r,n;K.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Ge=p("$ZodCheckRegex",(e,t)=>{Ke.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}});var Je={major:4,minor:4,patch:3};var $=p("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Je;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,c,u)=>{let a=F(s),l;for(let h of c){if(h._zod.def.when){if(Le(s)||!h._zod.def.when(s))continue}else if(a)continue;let d=s.issues.length,g=h._zod.check(s);if(g instanceof Promise&&u?.async===!1)throw new k;if(l||g instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await g,s.issues.length!==d&&(a||(a=F(s,d)))});else{if(s.issues.length===d)continue;a||(a=F(s,d))}}return l?l.then(()=>s):s},i=(s,c,u)=>{if(F(s))return s.aborted=!0,s;let a=o(c,n,u);if(a instanceof Promise){if(u.async===!1)throw new k;return a.then(l=>e._zod.parse(l,u))}return e._zod.parse(a,u)};e._zod.run=(s,c)=>{if(c.skipChecks)return e._zod.parse(s,c);if(c.direction==="backward"){let a=e._zod.parse({value:s.value,issues:[]},{...c,skipChecks:!0});return a instanceof Promise?a.then(l=>i(l,s,c)):i(a,s,c)}let u=e._zod.parse(s,c);if(u instanceof Promise){if(c.async===!1)throw new k;return u.then(a=>o(a,n,c))}return o(u,n,c)}}P(e,"~standard",()=>({validate:o=>{try{let i=V(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return B(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),et=p("$ZodString",(e,t)=>{$.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??He(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}});var tt=p("$ZodNumber",(e,t)=>{$.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ue,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}});var rt=p("$ZodBoolean",(e,t)=>{$.init(e,t),e._zod.pattern=Ve,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});function Ye(e,t,r){e.issues.length&&t.issues.push(...de(r,e.issues)),t.value[r]=e.value}var nt=p("$ZodArray",(e,t)=>{$.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let c=o[s],u=t.element._zod.run({value:c,issues:[]},n);u instanceof Promise?i.push(u.then(a=>Ye(a,r,s))):Ye(u,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function ee(e,t,r,n,o,i){let s=r in n;if(e.issues.length){if(o&&i&&!s)return;t.issues.push(...de(r,e.issues))}if(!s&&!o){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?s&&(t.value[r]=void 0):t.value[r]=e.value}function or(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=je(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function ir(e,t,r,n,o,i){let s=[],c=o.keySet,u=o.catchall._zod,a=u.def.type,l=u.optin==="optional",h=u.optout==="optional";for(let d in t){if(d==="__proto__"||c.has(d))continue;if(a==="never"){s.push(d);continue}let g=u.run({value:t[d],issues:[]},n);g instanceof Promise?e.push(g.then(y=>ee(y,r,d,t,l,h))):ee(g,r,d,t,l,h)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}var ot=p("$ZodObject",(e,t)=>{if($.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let c=t.shape;Object.defineProperty(t,"shape",{get:()=>{let u={...c};return Object.defineProperty(t,"shape",{value:u}),u}})}let n=Ie(()=>or(t));P(e._zod,"propValues",()=>{let c=t.shape,u={};for(let a in c){let l=c[a]._zod;if(l.values){u[a]??(u[a]=new Set);for(let h of l.values)u[a].add(h)}}return u});let o=q,i=t.catchall,s;e._zod.parse=(c,u)=>{s??(s=n.value);let a=c.value;if(!o(a))return c.issues.push({expected:"object",code:"invalid_type",input:a,inst:e}),c;c.value={};let l=[],h=s.shape;for(let d of s.keys){let g=h[d],y=g._zod.optin==="optional",W=g._zod.optout==="optional",j=g._zod.run({value:a[d],issues:[]},u);j instanceof Promise?l.push(j.then(m=>ee(m,c,d,a,y,W))):ee(j,c,d,a,y,W)}return i?ir(l,a,c,u,n.value,e):l.length?Promise.all(l).then(()=>c):c}});var it=p("$ZodEnum",(e,t)=>{$.init(e,t);let r=Ce(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(o=>Ne.has(typeof o)).map(o=>typeof o=="string"?Oe(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;return n.has(s)||o.issues.push({code:"invalid_value",values:r,input:s,inst:e}),o}});function qe(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var st=p("$ZodOptional",(e,t)=>{$.init(e,t),e._zod.optin="optional",e._zod.optout="optional",P(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),P(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Re(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){let o=r.value,i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(s=>qe(s,o)):qe(i,o)}return r.value===void 0?r:t.innerType._zod.run(r,n)}});var ct=p("$ZodDefault",(e,t)=>{$.init(e,t),e._zod.optin="optional",P(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Xe(i,t)):Xe(o,t)}});function Xe(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var ut=p("$ZodCustom",(e,t)=>{K.init(e,t),$.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>Qe(i,r,n,e));Qe(o,r,n,e)}});function Qe(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(me(o))}}function at(e,t){return new e({type:"string",...b(t)})}function pt(e,t){return new e({type:"number",checks:[],...b(t)})}function lt(e,t){return new e({type:"boolean",...b(t)})}function he(e,t){return new Ge({check:"string_format",format:"regex",...b(t),pattern:e})}function ft(e,t,r){let n=b(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}var Z=p("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");$.init(e,t),e.def=t,e.type=t.type,e.parse=(r,n)=>X(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>V(e,r,n),e.parseAsync=async(r,n)=>Q(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>B(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]},{parent:!0}),e.with=e.check,e.clone=(r,n)=>fe(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.apply=r=>r(e)}),cr=p("ZodMiniString",(e,t)=>{et.init(e,t),Z.init(e,t)});function A(e){return at(cr,e)}var ur=p("ZodMiniNumber",(e,t)=>{tt.init(e,t),Z.init(e,t)});function _e(e){return pt(ur,e)}var ar=p("ZodMiniBoolean",(e,t)=>{rt.init(e,t),Z.init(e,t)});function E(e){return lt(ar,e)}var pr=p("ZodMiniArray",(e,t)=>{nt.init(e,t),Z.init(e,t)});function ge(e,t){return new pr({type:"array",element:e,...b(t)})}var lr=p("ZodMiniObject",(e,t)=>{ot.init(e,t),Z.init(e,t),P(e,"shape",()=>t.shape)});function xe(e,t){let r={type:"object",shape:e??{},...b(t)};return new lr(r)}var fr=p("ZodMiniEnum",(e,t)=>{it.init(e,t),Z.init(e,t),e.options=Object.values(t.entries)});function dt(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new fr({type:"enum",entries:r,...b(t)})}var dr=p("ZodMiniOptional",(e,t)=>{st.init(e,t),Z.init(e,t)});function x(e){return new dr({type:"optional",innerType:e})}var mr=p("ZodMiniDefault",(e,t)=>{ct.init(e,t),Z.init(e,t)});function N(e,t){return new mr({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():le(t)}})}var hr=p("ZodMiniCustom",(e,t)=>{ut.init(e,t),Z.init(e,t)});function ye(e,t){return ft(hr,e??(()=>!0),t)}var te="https://in.dev.heycatch.ai",C="dev",T="0.8.3-dev.2162",mt="phc_CqKdgm7xbFBs3mSdtqzrHNTfzTRKrwRmCrEB9aftENY9";function ht(e=C){return e!=="dev"?null:`[HeyCatch] WARNING: this is an internal development build (v${T}). Events are being sent to the HeyCatch development environment and will NEVER appear in your dashboard. Reinstall the latest stable version - resolve it with \`npm view @heycatch/sdk version\` - or re-run the install guide: https://heycatch.ai/agents.md`}var O="unknown",yr=["localStorage","cookie","memory","localStorage+cookie","sessionStorage"];var _t=xe({projectKey:A({error:'config.projectKey is missing or malformed \u2014 expected a string starting with "hck_pk_". Copy it from your project page in the HeyCatch dashboard.'}).check(he(/^hck_pk_/,{error:'config.projectKey is missing or malformed \u2014 expected a string starting with "hck_pk_". Copy it from your project page in the HeyCatch dashboard.'})),tracingHosts:N(ge(A()),[]),install:N(xe({framework:N(A(),O),frameworkVersion:N(A(),O),agent:N(A(),O)}),{framework:O,frameworkVersion:O,agent:O}),autocapture:x(E()),maskAllText:x(E()),maskAllElementAttributes:x(E()),propertyDenylist:x(ge(A())),sanitizeProperties:x(ye(e=>typeof e=="function")),beforeSend:x(ye(e=>typeof e=="function"||Array.isArray(e)&&e.every(t=>typeof t=="function"))),persistence:x(dt(yr)),disablePersistence:x(E()),cookieExpirationDays:x(_e()),optOutCapturingByDefault:x(E()),respectDnt:x(E()),requestBatching:x(E()),flushIntervalMs:x(_e())});var gt="[redacted]",vr=/(^|[#&?])(access_token|refresh_token|token_hash|token)=[^\s#&"'<>]+/gi,zr=/(^|[^\w-])eyJ[\w-]+\.[\w-]+\.[\w-]+/g;function xt(e){return e.replaceAll(vr,`$1$2=${gt}`).replaceAll(zr,`$1${gt}`)}var $r=new Set(["$anon_distinct_id","distinct_id"]),br=["$set","$set_once"];function ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ze(e){return typeof e=="string"?xt(e):Array.isArray(e)?wr(e):ve(e)?yt(e,()=>!0):e}function wr(e){let t=e.map(r=>ze(r));return t.some((r,n)=>r!==e[n])?t:e}function yt(e,t){let r=!1,n=[];for(let[o,i]of Object.entries(e)){let s=t(o)?ze(i):i;s!==i&&(r=!0),n.push([o,s])}return r?Object.fromEntries(n):e}function vt(e){if(!ve(e))return e;try{let t=!1,r={...e},{properties:n}=e;if(ve(n)){let o=yt(n,i=>!$r.has(i));o!==n&&(t=!0,r.properties=o)}for(let o of br){let i=e[o],s=ze(i);s!==i&&(t=!0,r[o]=s)}return t?r:e}catch{return e}}var kr=5e3,Zr=60,Pr=1e3,Er=60,Sr=new Set(["$set"]),$e="heycatch_volume_cap_reached",zt=3,Ar=6e4;function re({bucket:e,perMinute:t,now:r}){if(e===void 0)return t;let n=Math.max(0,r-e.at);return Math.min(t,e.tokens+n*t/Ar)}function Cr(e){return e===void 0||e.length===0?!1:Ee(Tr(e))}function Tr(e){if(e.startsWith("[")){let r=e.indexOf("]");return r===-1?e:e.slice(0,r+1)}let t=e.indexOf(":");return t!==-1&&t===e.lastIndexOf(":")?e.slice(0,t):e}function $t(e){let{$session_id:t,$host:r}=e.properties;return{sessionId:typeof t=="string"?t:"",host:typeof r=="string"?r:void 0}}var wt=4;function bt(e){if(e!==void 0)return typeof e=="object"&&e!==null&&"tokens"in e&&typeof e.tokens=="number"&&Number.isFinite(e.tokens)&&e.tokens>=0&&"at"in e&&typeof e.at=="number"&&Number.isFinite(e.at)?{tokens:e.tokens,at:e.at}:!1}function Ir(e){if(typeof e=="object"&&e!==null&&"sessionId"in e&&typeof e.sessionId=="string"&&"count"in e&&typeof e.count=="number"&&Number.isInteger(e.count)&&e.count>=0&&"markerAttempts"in e&&typeof e.markerAttempts=="number"&&Number.isInteger(e.markerAttempts)&&e.markerAttempts>=0){let t=bt("person"in e?e.person:void 0),r=bt("localhost"in e?e.localhost:void 0);if(t!==!1&&r!==!1)return{sessionId:e.sessionId,count:e.count,markerAttempts:e.markerAttempts,person:t,localhost:r}}return null}function Rr(e){if(e===null)return[];try{let t=JSON.parse(e);if(Array.isArray(t))return t.flatMap(r=>{let n=Ir(r);return n===null?[]:[n]}).slice(0,wt)}catch{}return[]}function kt({store:e,warn:t,emitMarker:r,cap:n=kr,personUpdateBudget:o=Zr,localhostFreeEvents:i=Pr,localhostRatePerMinute:s=Er,now:c=Date.now}){let u=[],a=!1,l=!1,h=!1,d=!1;function g(){if(e===void 0||a)return u;try{return Rr(e.read())}catch{return u}}function y(m){let w=g().filter(f=>f.sessionId!==m.sessionId);u=[m,...w].slice(0,wt);try{e?.write(JSON.stringify(u))}catch{a=!0}}function W(m){let w=g().find(_=>_.sessionId===m),f=u.find(_=>_.sessionId===m),z=[w,f].filter(_=>_!==void 0),J=c();function L(_,D){let S;for(let{[_]:I}of z)I!==void 0&&re({bucket:I,perMinute:D,now:J})<re({bucket:S,perMinute:D,now:J})&&(S=I);return S}return{sessionId:m,count:Math.max(0,...z.map(_=>_.count)),markerAttempts:Math.max(0,...z.map(_=>_.markerAttempts)),person:L("person",o),localhost:L("localhost",s)}}function j(m,w){let f=w,z=c(),{sessionId:J,host:L}=$t(m);f.person!==void 0&&f.person.at>z&&(f={...f,person:{...f.person,at:z}},y(f)),f.localhost!==void 0&&f.localhost.at>z&&(f={...f,localhost:{...f.localhost,at:z}},y(f));let _=Sr.has(m.event),D=_?re({bucket:f.person,perMinute:o,now:z}):0;if(_&&D<1)return h||(h=!0,t(`[HeyCatch] setPersonProperties is being called more than ${o} times a minute - call it when a property changes, not on every render. Dropping the extra updates for now; other events are unaffected.`)),null;let S=f.count>=i&&Cr(L),I=S?re({bucket:f.localhost,perMinute:s,now:z}):0;return S&&I<1?(d||(d=!0,t(`[HeyCatch] this local dev session (${L??"unknown host"}, session ${J||"unknown"}) sent ${i} events - throttling it to ${s} a minute so a dev loop cannot flood your analytics. Production traffic is unaffected.`)),null):(y({...f,count:f.count+1,..._?{person:{tokens:D-1,at:z}}:{},...S?{localhost:{tokens:I-1,at:z}}:{}}),m)}return m=>{if(m===null||m.event===$e)return m;let{sessionId:w}=$t(m),f=W(w);return f.count<n?j(m,f):(l||(l=!0,t(`[HeyCatch] this session sent ${n} events, the per-session cap - dropping the rest until a new session starts (session ${w||"unknown"}). A tracking call inside a render loop or an effect is the usual cause.`)),f.markerAttempts<zt&&(y({...f,markerAttempts:zt}),r({cap:n,sessionId:w})||y({...f,markerAttempts:f.markerAttempts+1})),null)}}function Zt(e){let t=kt({warn:r=>{console.warn(r)},emitMarker:({cap:r})=>{let n=e();return n?.capture($e,{heycatch_session_event_cap:r}),n!==null}});return r=>r===null||t({event:r.event,properties:r.properties??{}})===null?null:r}var ne=null;function v(){return ne}var be=null;function Et(){be?.()}function St(e){if(ne!==null)return;let t=_t.safeParse(e);if(!t.success){let s=t.error.issues[0]?.message??"init() requires a config object with { projectKey }.";console.error(`[HeyCatch] ${s}`);return}let r=new Pt.PostHog(mt,{host:te,preloadFeatureFlags:!1,disableRemoteFeatureFlags:!0,sendFeatureFlagEvent:!1,disableSurveys:!0,...t.data.optOutCapturingByDefault===void 0?{}:{defaultOptIn:!t.data.optOutCapturingByDefault},before_send:[Zt(()=>ne),vt]}),{install:n}=t.data,o={heycatch_framework:n.framework,heycatch_framework_version:n.frameworkVersion,heycatch_agent:n.agent};be=()=>{r.register({heycatch_sdk_version:T,heycatch_sdk_stage:C,heycatch_project_key:t.data.projectKey,...o}),r.group(Pe,t.data.projectKey,{key:t.data.projectKey,sdk_version:T,sdk_stage:C,framework:n.framework,framework_version:n.frameworkVersion,agent:n.agent,api_host:te})},be(),ne=r,console.info(`[HeyCatch] SDK v${T} (${C}) initialized \u2192 ${te}`);let i=ht();i!==null&&console.warn(i)}function At(e){return t=>{console.error(`[HeyCatch] consent ${e} could not be saved - capture state may reset on the next app launch:`,t)}}function Ct(){v()?.optIn().catch(At("opt-in"))}function Tt(){v()?.optOut().catch(At("opt-out"))}var It=require("posthog-react-native");function Rt(e,t,r){let n=v();if(n!==null){if(typeof e!="string"||e.length===0){console.error("[HeyCatch] setIdentity() requires a non-empty string user id. Pass a stable internal user id from your auth provider \u2014 not an email or session token.");return}n.getPersistedProperty(It.PostHogPersistedProperty.PersonMode)==="identified"&&n.getDistinctId()!==e&&we(),n.identify(e,{...t?{$set:t}:{},...r?{$set_once:r}:{}})}}function we(){let e=v();e!==null&&(e.reset(),Et())}function oe(e,t){let r=v();if(r!==null){if(typeof e!="string"||e.length===0){console.error("[HeyCatch] trackScreen() requires a non-empty screen name.");return}r.screen(e,t?t:void 0)}}function Mt(e,t,r){let n=v();if(n!==null){if(typeof e!="string"||e.length===0){console.error("[HeyCatch] trackEvent() requires a non-empty event name.");return}if(e.startsWith("$")){console.error(`[HeyCatch] trackEvent() event names cannot start with "$" (got "${e}") - that prefix is reserved for built-in events.`);return}n.capture(e,{...t,...r?.set?{$set:r.set}:{},...r?.setOnce?{$set_once:r.setOnce}:{},heycatch_custom_user_event:!0})}}function Nt(e,t){let r=v();r!==null&&(!e&&!t||r.capture("$set",{...e?{$set:e}:{},...t?{$set_once:t}:{}}))}var jt=require("posthog-react-native"),ie=require("react");function Mr(e){return typeof e=="object"&&e!==null&&"usePathname"in e&&typeof e.usePathname=="function"&&"useGlobalSearchParams"in e&&typeof e.useGlobalSearchParams=="function"}function Nr(){try{if(typeof require!="function")return null;let e=require("expo-router");return Mr(e)?e:null}catch{return null}}var ke=Nr();var Or=new Set(["code","jwt","otp","pin","pwd","sid","sig"]),jr=["credential","email","passcode","passwd","password","secret","session","signature","token"],Lr="#",Dr=/[^\s@,]+@[^\s@,]+\.[^\s@,]+/;function Fr(e){return e.replaceAll(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[\s_-]+/).filter(t=>t.length>0)}function Hr(e,t){if(e===Lr)return!0;let r=e.toLowerCase().replaceAll(/[_-]/g,"");return r.startsWith("auth")||r.includes("key")||jr.some(n=>r.includes(n))||Fr(e).some(n=>Or.has(n))?!0:typeof t=="string"&&Dr.test(t)}function Ot(e){let t=JSON.parse(e);if(typeof t!="object"||t===null)return{};let r={};for(let[n,o]of Object.entries(t)){let i;if(typeof o=="string"||typeof o=="number"||typeof o=="boolean")i=o;else if(Array.isArray(o))i=o.filter(s=>typeof s=="string").join(",");else continue;Hr(n,i)||(r[n]=i)}return r}var G=require("react/jsx-runtime");function Ur({router:e}){let{useGlobalSearchParams:t,usePathname:r}=e,n=r(),o=JSON.stringify(t());return(0,ie.useEffect)(()=>{oe(n,Ot(o))},[n,o]),null}var Ze=class extends ie.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("[HeyCatch] Automatic screen views are off: an Expo Router hook threw. Call analytics.trackScreen(name) from your navigation instead.",t)}render(){return this.state.failed?null:this.props.children}};function Lt({children:e,trackScreens:t=!0}){let r=v();return r===null?(console.error("[HeyCatch] HeyCatchProvider mounted before init() - call analytics.init({ projectKey }) at module scope of the root layout."),e):(0,G.jsxs)(jt.PostHogProvider,{autocapture:{captureScreens:!1,captureTouches:!0},client:r,children:[!t||ke===null?null:(0,G.jsx)(Ze,{children:(0,G.jsx)(Ur,{router:ke})}),e]})}var Vr={init:St,optInCapturing:Ct,optOutCapturing:Tt,resetIdentity:we,setIdentity:Rt,setPersonProperties:Nt,trackEvent:Mt,trackScreen:oe};0&&(module.exports={HeyCatchProvider,SDK_VERSION,STAGE,analytics});
|
|
1
|
+
"use strict";var se=Object.defineProperty;var Dt=Object.getOwnPropertyDescriptor;var Ft=Object.getOwnPropertyNames;var Ht=Object.prototype.hasOwnProperty;var Ut=(e,t)=>{for(var r in t)se(e,r,{get:t[r],enumerable:!0})},Vt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ft(t))!Ht.call(e,o)&&o!==r&&se(e,o,{get:()=>t[o],enumerable:!(n=Dt(t,o))||n.enumerable});return e};var Bt=e=>Vt(se({},"__esModule",{value:!0}),e);var Br={};Ut(Br,{HeyCatchProvider:()=>Lt,SDK_VERSION:()=>T,STAGE:()=>C,analytics:()=>Vr});module.exports=Bt(Br);var Pe="project",Kt="[a-z0-9]",Gr=new RegExp(`^${Kt}$`);var Gt=/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/;function ce(e){let t=Gt.exec(e);if(t===null)return!1;let[,r="",n=""]=t,o=Number(r),i=Number(n);return o>255||i>255?!1:o===0||o===10||o===127||o===100&&i>=64&&i<=127||o===169&&i===254||o===172&&i>=16&&i<=31||o===192&&i===168}var Wt=/^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/;function Jt(e){if(e==="::1"||e==="::")return!0;if(e.startsWith("::ffff:")){let t=Wt.exec(e);if(t===null)return ce(e.slice(7));let[,r="",n=""]=t,o=Number.parseInt(r,16),i=Number.parseInt(n,16);return ce(`${Math.floor(o/256)}.${o%256}.${Math.floor(i/256)}.${i%256}`)}return/^f[cd][0-9a-f]{2}:/.test(e)||/^fe[89ab][0-9a-f]:/.test(e)}function Yt(e){return e.toLowerCase().replace(/^\[/,"").replace(/\]$/,"").replace(/\.+$/,"")}function Ee(e){let t=Yt(e);return t==="localhost"||t.endsWith(".localhost")||ce(t)||Jt(t)}var Pt=require("posthog-react-native");var Se;function p(e,t,r){function n(c,u){if(c._zod||Object.defineProperty(c,"_zod",{value:{def:u,constr:s,traits:new Set},enumerable:!1}),c._zod.traits.has(e))return;c._zod.traits.add(e),t(c,u);let a=s.prototype,l=Object.keys(a);for(let h=0;h<l.length;h++){let d=l[h];d in c||(c[d]=a[d].bind(c))}}let o=r?.Parent??Object;class i extends o{}Object.defineProperty(i,"name",{value:e});function s(c){var u;let a=r?.Parent?new i:this;n(a,c),(u=a._zod).deferred??(u.deferred=[]);for(let l of a._zod.deferred)l();return a}return Object.defineProperty(s,"init",{value:n}),Object.defineProperty(s,Symbol.hasInstance,{value:c=>r?.Parent&&c instanceof r.Parent?!0:c?._zod?.traits?.has(e)}),Object.defineProperty(s,"name",{value:e}),s}var k=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}};(Se=globalThis).__zod_globalConfig??(Se.__zod_globalConfig={});var ue=globalThis.__zod_globalConfig;function R(e){return e&&Object.assign(ue,e),ue}function Ce(e){let t=Object.values(e).filter(n=>typeof n=="number");return Object.entries(e).filter(([n,o])=>t.indexOf(+n)===-1).map(([n,o])=>o)}function Te(e,t){return typeof t=="bigint"?t.toString():t}function Ie(e){return{get value(){{let r=e();return Object.defineProperty(this,"value",{value:r}),r}throw new Error("cached value already set")}}}function Re(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}var Ae=Symbol("evaluating");function P(e,t,r){let n;Object.defineProperty(e,t,{get(){if(n!==Ae)return n===void 0&&(n=Ae,n=r()),n},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}var pe="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function q(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Me(e){if(q(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(q(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function le(e){return Me(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Ne=new Set(["string","number","symbol"]);function Oe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function fe(e,t,r){let n=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(n._zod.parent=e),n}function b(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function je(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}var Jr={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function F(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function Le(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function de(e,t){return t.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(e),r})}function Y(e){return typeof e=="string"?e:e?.message}function M(e,t,r){let n=e.message?e.message:Y(e.inst?._zod.def?.error?.(e))??Y(t?.error?.(e))??Y(r.customError?.(e))??Y(r.localeError?.(e))??"Invalid input",{inst:o,continue:i,input:s,...c}=e;return c.path??(c.path=[]),c.message=n,t?.reportInput&&(c.input=s),c}function me(...e){let[t,r,n]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:n}:{...t}}var De=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,Te,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Fe=p("$ZodError",De),U=p("$ZodError",De,{Parent:Error});var Xt=e=>(t,r,n,o)=>{let i=n?{...n,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise)throw new k;if(s.issues.length){let c=new(o?.Err??e)(s.issues.map(u=>M(u,i,R())));throw pe(c,o?.callee),c}return s.value},X=Xt(U),Qt=e=>async(t,r,n,o)=>{let i=n?{...n,async:!0}:{async:!0},s=t._zod.run({value:r,issues:[]},i);if(s instanceof Promise&&(s=await s),s.issues.length){let c=new(o?.Err??e)(s.issues.map(u=>M(u,i,R())));throw pe(c,o?.callee),c}return s.value},Q=Qt(U),er=e=>(t,r,n)=>{let o=n?{...n,async:!1}:{async:!1},i=t._zod.run({value:r,issues:[]},o);if(i instanceof Promise)throw new k;return i.issues.length?{success:!1,error:new(e??Fe)(i.issues.map(s=>M(s,o,R())))}:{success:!0,data:i.value}},V=er(U),tr=e=>async(t,r,n)=>{let o=n?{...n,async:!0}:{async:!0},i=t._zod.run({value:r,issues:[]},o);return i instanceof Promise&&(i=await i),i.issues.length?{success:!1,error:new e(i.issues.map(s=>M(s,o,R())))}:{success:!0,data:i.value}},B=tr(U);var rr="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))",nr=new RegExp(`^${rr}$`);var He=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)};var Ue=/^-?\d+(?:\.\d+)?$/,Ve=/^(?:true|false)$/i;var K=p("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])});var Ke=p("$ZodCheckStringFormat",(e,t)=>{var r,n;K.init(e,t),e._zod.onattach.push(o=>{let i=o._zod.bag;i.format=t.format,t.pattern&&(i.patterns??(i.patterns=new Set),i.patterns.add(t.pattern))}),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(n=e._zod).check??(n.check=()=>{})}),Ge=p("$ZodCheckRegex",(e,t)=>{Ke.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}});var Je={major:4,minor:4,patch:3};var $=p("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Je;let n=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&n.unshift(e);for(let o of n)for(let i of o._zod.onattach)i(e);if(n.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let o=(s,c,u)=>{let a=F(s),l;for(let h of c){if(h._zod.def.when){if(Le(s)||!h._zod.def.when(s))continue}else if(a)continue;let d=s.issues.length,g=h._zod.check(s);if(g instanceof Promise&&u?.async===!1)throw new k;if(l||g instanceof Promise)l=(l??Promise.resolve()).then(async()=>{await g,s.issues.length!==d&&(a||(a=F(s,d)))});else{if(s.issues.length===d)continue;a||(a=F(s,d))}}return l?l.then(()=>s):s},i=(s,c,u)=>{if(F(s))return s.aborted=!0,s;let a=o(c,n,u);if(a instanceof Promise){if(u.async===!1)throw new k;return a.then(l=>e._zod.parse(l,u))}return e._zod.parse(a,u)};e._zod.run=(s,c)=>{if(c.skipChecks)return e._zod.parse(s,c);if(c.direction==="backward"){let a=e._zod.parse({value:s.value,issues:[]},{...c,skipChecks:!0});return a instanceof Promise?a.then(l=>i(l,s,c)):i(a,s,c)}let u=e._zod.parse(s,c);if(u instanceof Promise){if(c.async===!1)throw new k;return u.then(a=>o(a,n,c))}return o(u,n,c)}}P(e,"~standard",()=>({validate:o=>{try{let i=V(e,o);return i.success?{value:i.data}:{issues:i.error?.issues}}catch{return B(e,o).then(s=>s.success?{value:s.data}:{issues:s.error?.issues})}},vendor:"zod",version:1}))}),et=p("$ZodString",(e,t)=>{$.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??He(e._zod.bag),e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}});var tt=p("$ZodNumber",(e,t)=>{$.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ue,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}let o=r.value;if(typeof o=="number"&&!Number.isNaN(o)&&Number.isFinite(o))return r;let i=typeof o=="number"?Number.isNaN(o)?"NaN":Number.isFinite(o)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:o,inst:e,...i?{received:i}:{}}),r}});var rt=p("$ZodBoolean",(e,t)=>{$.init(e,t),e._zod.pattern=Ve,e._zod.parse=(r,n)=>{if(t.coerce)try{r.value=!!r.value}catch{}let o=r.value;return typeof o=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:o,inst:e}),r}});function Ye(e,t,r){e.issues.length&&t.issues.push(...de(r,e.issues)),t.value[r]=e.value}var nt=p("$ZodArray",(e,t)=>{$.init(e,t),e._zod.parse=(r,n)=>{let o=r.value;if(!Array.isArray(o))return r.issues.push({expected:"array",code:"invalid_type",input:o,inst:e}),r;r.value=Array(o.length);let i=[];for(let s=0;s<o.length;s++){let c=o[s],u=t.element._zod.run({value:c,issues:[]},n);u instanceof Promise?i.push(u.then(a=>Ye(a,r,s))):Ye(u,r,s)}return i.length?Promise.all(i).then(()=>r):r}});function ee(e,t,r,n,o,i){let s=r in n;if(e.issues.length){if(o&&i&&!s)return;t.issues.push(...de(r,e.issues))}if(!s&&!o){e.issues.length||t.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}e.value===void 0?s&&(t.value[r]=void 0):t.value[r]=e.value}function or(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${n}": expected a Zod schema`);let r=je(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function ir(e,t,r,n,o,i){let s=[],c=o.keySet,u=o.catchall._zod,a=u.def.type,l=u.optin==="optional",h=u.optout==="optional";for(let d in t){if(d==="__proto__"||c.has(d))continue;if(a==="never"){s.push(d);continue}let g=u.run({value:t[d],issues:[]},n);g instanceof Promise?e.push(g.then(y=>ee(y,r,d,t,l,h))):ee(g,r,d,t,l,h)}return s.length&&r.issues.push({code:"unrecognized_keys",keys:s,input:t,inst:i}),e.length?Promise.all(e).then(()=>r):r}var ot=p("$ZodObject",(e,t)=>{if($.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){let c=t.shape;Object.defineProperty(t,"shape",{get:()=>{let u={...c};return Object.defineProperty(t,"shape",{value:u}),u}})}let n=Ie(()=>or(t));P(e._zod,"propValues",()=>{let c=t.shape,u={};for(let a in c){let l=c[a]._zod;if(l.values){u[a]??(u[a]=new Set);for(let h of l.values)u[a].add(h)}}return u});let o=q,i=t.catchall,s;e._zod.parse=(c,u)=>{s??(s=n.value);let a=c.value;if(!o(a))return c.issues.push({expected:"object",code:"invalid_type",input:a,inst:e}),c;c.value={};let l=[],h=s.shape;for(let d of s.keys){let g=h[d],y=g._zod.optin==="optional",W=g._zod.optout==="optional",j=g._zod.run({value:a[d],issues:[]},u);j instanceof Promise?l.push(j.then(m=>ee(m,c,d,a,y,W))):ee(j,c,d,a,y,W)}return i?ir(l,a,c,u,n.value,e):l.length?Promise.all(l).then(()=>c):c}});var it=p("$ZodEnum",(e,t)=>{$.init(e,t);let r=Ce(t.entries),n=new Set(r);e._zod.values=n,e._zod.pattern=new RegExp(`^(${r.filter(o=>Ne.has(typeof o)).map(o=>typeof o=="string"?Oe(o):o.toString()).join("|")})$`),e._zod.parse=(o,i)=>{let s=o.value;return n.has(s)||o.issues.push({code:"invalid_value",values:r,input:s,inst:e}),o}});function qe(e,t){return t===void 0&&(e.issues.length||e.fallback)?{issues:[],value:void 0}:e}var st=p("$ZodOptional",(e,t)=>{$.init(e,t),e._zod.optin="optional",e._zod.optout="optional",P(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),P(e._zod,"pattern",()=>{let r=t.innerType._zod.pattern;return r?new RegExp(`^(${Re(r.source)})?$`):void 0}),e._zod.parse=(r,n)=>{if(t.innerType._zod.optin==="optional"){let o=r.value,i=t.innerType._zod.run(r,n);return i instanceof Promise?i.then(s=>qe(s,o)):qe(i,o)}return r.value===void 0?r:t.innerType._zod.run(r,n)}});var ct=p("$ZodDefault",(e,t)=>{$.init(e,t),e._zod.optin="optional",P(e._zod,"values",()=>t.innerType._zod.values),e._zod.parse=(r,n)=>{if(n.direction==="backward")return t.innerType._zod.run(r,n);if(r.value===void 0)return r.value=t.defaultValue,r;let o=t.innerType._zod.run(r,n);return o instanceof Promise?o.then(i=>Xe(i,t)):Xe(o,t)}});function Xe(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var ut=p("$ZodCustom",(e,t)=>{K.init(e,t),$.init(e,t),e._zod.parse=(r,n)=>r,e._zod.check=r=>{let n=r.value,o=t.fn(n);if(o instanceof Promise)return o.then(i=>Qe(i,r,n,e));Qe(o,r,n,e)}});function Qe(e,t,r,n){if(!e){let o={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(o.params=n._zod.def.params),t.issues.push(me(o))}}function at(e,t){return new e({type:"string",...b(t)})}function pt(e,t){return new e({type:"number",checks:[],...b(t)})}function lt(e,t){return new e({type:"boolean",...b(t)})}function he(e,t){return new Ge({check:"string_format",format:"regex",...b(t),pattern:e})}function ft(e,t,r){let n=b(r);return n.abort??(n.abort=!0),new e({type:"custom",check:"custom",fn:t,...n})}var Z=p("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");$.init(e,t),e.def=t,e.type=t.type,e.parse=(r,n)=>X(e,r,n,{callee:e.parse}),e.safeParse=(r,n)=>V(e,r,n),e.parseAsync=async(r,n)=>Q(e,r,n,{callee:e.parseAsync}),e.safeParseAsync=async(r,n)=>B(e,r,n),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(n=>typeof n=="function"?{_zod:{check:n,def:{check:"custom"},onattach:[]}}:n)]},{parent:!0}),e.with=e.check,e.clone=(r,n)=>fe(e,r,n),e.brand=()=>e,e.register=((r,n)=>(r.add(e,n),e)),e.apply=r=>r(e)}),cr=p("ZodMiniString",(e,t)=>{et.init(e,t),Z.init(e,t)});function A(e){return at(cr,e)}var ur=p("ZodMiniNumber",(e,t)=>{tt.init(e,t),Z.init(e,t)});function _e(e){return pt(ur,e)}var ar=p("ZodMiniBoolean",(e,t)=>{rt.init(e,t),Z.init(e,t)});function E(e){return lt(ar,e)}var pr=p("ZodMiniArray",(e,t)=>{nt.init(e,t),Z.init(e,t)});function ge(e,t){return new pr({type:"array",element:e,...b(t)})}var lr=p("ZodMiniObject",(e,t)=>{ot.init(e,t),Z.init(e,t),P(e,"shape",()=>t.shape)});function xe(e,t){let r={type:"object",shape:e??{},...b(t)};return new lr(r)}var fr=p("ZodMiniEnum",(e,t)=>{it.init(e,t),Z.init(e,t),e.options=Object.values(t.entries)});function dt(e,t){let r=Array.isArray(e)?Object.fromEntries(e.map(n=>[n,n])):e;return new fr({type:"enum",entries:r,...b(t)})}var dr=p("ZodMiniOptional",(e,t)=>{st.init(e,t),Z.init(e,t)});function x(e){return new dr({type:"optional",innerType:e})}var mr=p("ZodMiniDefault",(e,t)=>{ct.init(e,t),Z.init(e,t)});function N(e,t){return new mr({type:"default",innerType:e,get defaultValue(){return typeof t=="function"?t():le(t)}})}var hr=p("ZodMiniCustom",(e,t)=>{ut.init(e,t),Z.init(e,t)});function ye(e,t){return ft(hr,e??(()=>!0),t)}var te="https://in.dev.heycatch.ai",C="dev",T="0.8.3-dev.2180",mt="phc_CqKdgm7xbFBs3mSdtqzrHNTfzTRKrwRmCrEB9aftENY9";function ht(e=C){return e!=="dev"?null:`[HeyCatch] WARNING: this is an internal development build (v${T}). Events are being sent to the HeyCatch development environment and will NEVER appear in your dashboard. Reinstall the latest stable version - resolve it with \`npm view @heycatch/sdk version\` - or re-run the install guide: https://heycatch.ai/agents.md`}var O="unknown",yr=["localStorage","cookie","memory","localStorage+cookie","sessionStorage"];var _t=xe({projectKey:A({error:'config.projectKey is missing or malformed \u2014 expected a string starting with "hck_pk_". Copy it from your project page in the HeyCatch dashboard.'}).check(he(/^hck_pk_/,{error:'config.projectKey is missing or malformed \u2014 expected a string starting with "hck_pk_". Copy it from your project page in the HeyCatch dashboard.'})),tracingHosts:N(ge(A()),[]),install:N(xe({framework:N(A(),O),frameworkVersion:N(A(),O),agent:N(A(),O)}),{framework:O,frameworkVersion:O,agent:O}),autocapture:x(E()),maskAllText:x(E()),maskAllElementAttributes:x(E()),propertyDenylist:x(ge(A())),sanitizeProperties:x(ye(e=>typeof e=="function")),beforeSend:x(ye(e=>typeof e=="function"||Array.isArray(e)&&e.every(t=>typeof t=="function"))),persistence:x(dt(yr)),disablePersistence:x(E()),cookieExpirationDays:x(_e()),optOutCapturingByDefault:x(E()),respectDnt:x(E()),requestBatching:x(E()),flushIntervalMs:x(_e())});var gt="[redacted]",vr=/(^|[#&?])(access_token|refresh_token|token_hash|token)=[^\s#&"'<>]+/gi,zr=/(^|[^\w-])eyJ[\w-]+\.[\w-]+\.[\w-]+/g;function xt(e){return e.replaceAll(vr,`$1$2=${gt}`).replaceAll(zr,`$1${gt}`)}var $r=new Set(["$anon_distinct_id","distinct_id"]),br=["$set","$set_once"];function ve(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function ze(e){return typeof e=="string"?xt(e):Array.isArray(e)?wr(e):ve(e)?yt(e,()=>!0):e}function wr(e){let t=e.map(r=>ze(r));return t.some((r,n)=>r!==e[n])?t:e}function yt(e,t){let r=!1,n=[];for(let[o,i]of Object.entries(e)){let s=t(o)?ze(i):i;s!==i&&(r=!0),n.push([o,s])}return r?Object.fromEntries(n):e}function vt(e){if(!ve(e))return e;try{let t=!1,r={...e},{properties:n}=e;if(ve(n)){let o=yt(n,i=>!$r.has(i));o!==n&&(t=!0,r.properties=o)}for(let o of br){let i=e[o],s=ze(i);s!==i&&(t=!0,r[o]=s)}return t?r:e}catch{return e}}var kr=5e3,Zr=60,Pr=1e3,Er=60,Sr=new Set(["$set"]),$e="heycatch_volume_cap_reached",zt=3,Ar=6e4;function re({bucket:e,perMinute:t,now:r}){if(e===void 0)return t;let n=Math.max(0,r-e.at);return Math.min(t,e.tokens+n*t/Ar)}function Cr(e){return e===void 0||e.length===0?!1:Ee(Tr(e))}function Tr(e){if(e.startsWith("[")){let r=e.indexOf("]");return r===-1?e:e.slice(0,r+1)}let t=e.indexOf(":");return t!==-1&&t===e.lastIndexOf(":")?e.slice(0,t):e}function $t(e){let{$session_id:t,$host:r}=e.properties;return{sessionId:typeof t=="string"?t:"",host:typeof r=="string"?r:void 0}}var wt=4;function bt(e){if(e!==void 0)return typeof e=="object"&&e!==null&&"tokens"in e&&typeof e.tokens=="number"&&Number.isFinite(e.tokens)&&e.tokens>=0&&"at"in e&&typeof e.at=="number"&&Number.isFinite(e.at)?{tokens:e.tokens,at:e.at}:!1}function Ir(e){if(typeof e=="object"&&e!==null&&"sessionId"in e&&typeof e.sessionId=="string"&&"count"in e&&typeof e.count=="number"&&Number.isInteger(e.count)&&e.count>=0&&"markerAttempts"in e&&typeof e.markerAttempts=="number"&&Number.isInteger(e.markerAttempts)&&e.markerAttempts>=0){let t=bt("person"in e?e.person:void 0),r=bt("localhost"in e?e.localhost:void 0);if(t!==!1&&r!==!1)return{sessionId:e.sessionId,count:e.count,markerAttempts:e.markerAttempts,person:t,localhost:r}}return null}function Rr(e){if(e===null)return[];try{let t=JSON.parse(e);if(Array.isArray(t))return t.flatMap(r=>{let n=Ir(r);return n===null?[]:[n]}).slice(0,wt)}catch{}return[]}function kt({store:e,warn:t,emitMarker:r,cap:n=kr,personUpdateBudget:o=Zr,localhostFreeEvents:i=Pr,localhostRatePerMinute:s=Er,now:c=Date.now}){let u=[],a=!1,l=!1,h=!1,d=!1;function g(){if(e===void 0||a)return u;try{return Rr(e.read())}catch{return u}}function y(m){let w=g().filter(f=>f.sessionId!==m.sessionId);u=[m,...w].slice(0,wt);try{e?.write(JSON.stringify(u))}catch{a=!0}}function W(m){let w=g().find(_=>_.sessionId===m),f=u.find(_=>_.sessionId===m),z=[w,f].filter(_=>_!==void 0),J=c();function L(_,D){let S;for(let{[_]:I}of z)I!==void 0&&re({bucket:I,perMinute:D,now:J})<re({bucket:S,perMinute:D,now:J})&&(S=I);return S}return{sessionId:m,count:Math.max(0,...z.map(_=>_.count)),markerAttempts:Math.max(0,...z.map(_=>_.markerAttempts)),person:L("person",o),localhost:L("localhost",s)}}function j(m,w){let f=w,z=c(),{sessionId:J,host:L}=$t(m);f.person!==void 0&&f.person.at>z&&(f={...f,person:{...f.person,at:z}},y(f)),f.localhost!==void 0&&f.localhost.at>z&&(f={...f,localhost:{...f.localhost,at:z}},y(f));let _=Sr.has(m.event),D=_?re({bucket:f.person,perMinute:o,now:z}):0;if(_&&D<1)return h||(h=!0,t(`[HeyCatch] setPersonProperties is being called more than ${o} times a minute - call it when a property changes, not on every render. Dropping the extra updates for now; other events are unaffected.`)),null;let S=f.count>=i&&Cr(L),I=S?re({bucket:f.localhost,perMinute:s,now:z}):0;return S&&I<1?(d||(d=!0,t(`[HeyCatch] this local dev session (${L??"unknown host"}, session ${J||"unknown"}) sent ${i} events - throttling it to ${s} a minute so a dev loop cannot flood your analytics. Production traffic is unaffected.`)),null):(y({...f,count:f.count+1,..._?{person:{tokens:D-1,at:z}}:{},...S?{localhost:{tokens:I-1,at:z}}:{}}),m)}return m=>{if(m===null||m.event===$e)return m;let{sessionId:w}=$t(m),f=W(w);return f.count<n?j(m,f):(l||(l=!0,t(`[HeyCatch] this session sent ${n} events, the per-session cap - dropping the rest until a new session starts (session ${w||"unknown"}). A tracking call inside a render loop or an effect is the usual cause.`)),f.markerAttempts<zt&&(y({...f,markerAttempts:zt}),r({cap:n,sessionId:w})||y({...f,markerAttempts:f.markerAttempts+1})),null)}}function Zt(e){let t=kt({warn:r=>{console.warn(r)},emitMarker:({cap:r})=>{let n=e();return n?.capture($e,{heycatch_session_event_cap:r}),n!==null}});return r=>r===null||t({event:r.event,properties:r.properties??{}})===null?null:r}var ne=null;function v(){return ne}var be=null;function Et(){be?.()}function St(e){if(ne!==null)return;let t=_t.safeParse(e);if(!t.success){let s=t.error.issues[0]?.message??"init() requires a config object with { projectKey }.";console.error(`[HeyCatch] ${s}`);return}let r=new Pt.PostHog(mt,{host:te,preloadFeatureFlags:!1,disableRemoteFeatureFlags:!0,sendFeatureFlagEvent:!1,disableSurveys:!0,...t.data.optOutCapturingByDefault===void 0?{}:{defaultOptIn:!t.data.optOutCapturingByDefault},before_send:[Zt(()=>ne),vt]}),{install:n}=t.data,o={heycatch_framework:n.framework,heycatch_framework_version:n.frameworkVersion,heycatch_agent:n.agent};be=()=>{r.register({heycatch_sdk_version:T,heycatch_sdk_stage:C,heycatch_project_key:t.data.projectKey,...o}),r.group(Pe,t.data.projectKey,{key:t.data.projectKey,sdk_version:T,sdk_stage:C,framework:n.framework,framework_version:n.frameworkVersion,agent:n.agent,api_host:te})},be(),ne=r,console.info(`[HeyCatch] SDK v${T} (${C}) initialized \u2192 ${te}`);let i=ht();i!==null&&console.warn(i)}function At(e){return t=>{console.error(`[HeyCatch] consent ${e} could not be saved - capture state may reset on the next app launch:`,t)}}function Ct(){v()?.optIn().catch(At("opt-in"))}function Tt(){v()?.optOut().catch(At("opt-out"))}var It=require("posthog-react-native");function Rt(e,t,r){let n=v();if(n!==null){if(typeof e!="string"||e.length===0){console.error("[HeyCatch] setIdentity() requires a non-empty string user id. Pass a stable internal user id from your auth provider \u2014 not an email or session token.");return}n.getPersistedProperty(It.PostHogPersistedProperty.PersonMode)==="identified"&&n.getDistinctId()!==e&&we(),n.identify(e,{...t?{$set:t}:{},...r?{$set_once:r}:{}})}}function we(){let e=v();e!==null&&(e.reset(),Et())}function oe(e,t){let r=v();if(r!==null){if(typeof e!="string"||e.length===0){console.error("[HeyCatch] trackScreen() requires a non-empty screen name.");return}r.screen(e,t?t:void 0)}}function Mt(e,t,r){let n=v();if(n!==null){if(typeof e!="string"||e.length===0){console.error("[HeyCatch] trackEvent() requires a non-empty event name.");return}if(e.startsWith("$")){console.error(`[HeyCatch] trackEvent() event names cannot start with "$" (got "${e}") - that prefix is reserved for built-in events.`);return}n.capture(e,{...t,...r?.set?{$set:r.set}:{},...r?.setOnce?{$set_once:r.setOnce}:{},heycatch_custom_user_event:!0})}}function Nt(e,t){let r=v();r!==null&&(!e&&!t||r.capture("$set",{...e?{$set:e}:{},...t?{$set_once:t}:{}}))}var jt=require("posthog-react-native"),ie=require("react");function Mr(e){return typeof e=="object"&&e!==null&&"usePathname"in e&&typeof e.usePathname=="function"&&"useGlobalSearchParams"in e&&typeof e.useGlobalSearchParams=="function"}function Nr(){try{if(typeof require!="function")return null;let e=require("expo-router");return Mr(e)?e:null}catch{return null}}var ke=Nr();var Or=new Set(["code","jwt","otp","pin","pwd","sid","sig"]),jr=["credential","email","passcode","passwd","password","secret","session","signature","token"],Lr="#",Dr=/[^\s@,]+@[^\s@,]+\.[^\s@,]+/;function Fr(e){return e.replaceAll(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[\s_-]+/).filter(t=>t.length>0)}function Hr(e,t){if(e===Lr)return!0;let r=e.toLowerCase().replaceAll(/[_-]/g,"");return r.startsWith("auth")||r.includes("key")||jr.some(n=>r.includes(n))||Fr(e).some(n=>Or.has(n))?!0:typeof t=="string"&&Dr.test(t)}function Ot(e){let t=JSON.parse(e);if(typeof t!="object"||t===null)return{};let r={};for(let[n,o]of Object.entries(t)){let i;if(typeof o=="string"||typeof o=="number"||typeof o=="boolean")i=o;else if(Array.isArray(o))i=o.filter(s=>typeof s=="string").join(",");else continue;Hr(n,i)||(r[n]=i)}return r}var G=require("react/jsx-runtime");function Ur({router:e}){let{useGlobalSearchParams:t,usePathname:r}=e,n=r(),o=JSON.stringify(t());return(0,ie.useEffect)(()=>{oe(n,Ot(o))},[n,o]),null}var Ze=class extends ie.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){console.error("[HeyCatch] Automatic screen views are off: an Expo Router hook threw. Call analytics.trackScreen(name) from your navigation instead.",t)}render(){return this.state.failed?null:this.props.children}};function Lt({children:e,trackScreens:t=!0}){let r=v();return r===null?(console.error("[HeyCatch] HeyCatchProvider mounted before init() - call analytics.init({ projectKey }) at module scope of the root layout."),e):(0,G.jsxs)(jt.PostHogProvider,{autocapture:{captureScreens:!1,captureTouches:!0},client:r,children:[!t||ke===null?null:(0,G.jsx)(Ze,{children:(0,G.jsx)(Ur,{router:ke})}),e]})}var Vr={init:St,optInCapturing:Ct,optOutCapturing:Tt,resetIdentity:we,setIdentity:Rt,setPersonProperties:Nt,trackEvent:Mt,trackScreen:oe};0&&(module.exports={HeyCatchProvider,SDK_VERSION,STAGE,analytics});
|
|
2
2
|
//# sourceMappingURL=react-native.cjs.map
|