import{k as e,c as n,i,m as t,p as a}from"./rsa-plugins-common.min.js";import{i as s,g as o,a as l,b as r,t as d,p as u,d as v,f as c}from"./rsa-plugins-deviceModeDestinations.min.js";const g="DeviceModeDestinationsPlugin",D=(n,i)=>`${n}${e}Failed to load script for destination ${i}.`,p=(e,n=0)=>new Promise(((i,t)=>{const a=e.instance;if(!a.isLoaded()||a.isReady&&!a.isReady())if(n>=11e3)t(new Error((s=11e3,o=e.userFriendlyId,`A timeout of ${s} ms occurred while trying to check the ready status for "${o}" destination.`)));else{const a=Date.now();(e=>new Promise((n=>{globalThis.setTimeout(n,e)})))(100).then((()=>{const s=Date.now()-a;p(e,n+s).then(i).catch((e=>t(e)))}))}else i(!0);var s,o})),f=(e,v,c,D,f,y)=>{try{const m=n(e),I=((e,i,t,s)=>{var v,c;const g=globalThis.rudderanalytics.getAnalyticsInstance(s.lifecycle.writeKey.value),D={loadIntegration:s.nativeDestinations.loadIntegration.value,logLevel:s.lifecycle.logLevel.value,loadOnlyIntegrations:null!==(v=null===(c=s.consents.postConsent.value)||void 0===c?void 0:c.integrations)&&void 0!==v?v:s.nativeDestinations.loadOnlyIntegrations.value,page:(e,n,i,t,s)=>g.page(u(a(e),a(n),a(i),a(t),a(s))),track:(e,n,i,t)=>g.track(d(a(e),a(n),a(i),a(t))),identify:(e,n,i,t)=>g.identify(r(a(e),a(n),a(i),a(t))),alias:(e,n,i,t)=>g.alias(l(a(e),a(n),a(i),a(t))),group:(e,n,i,t)=>g.group(o(a(e),a(n),a(i),a(t))),getAnonymousId:e=>g.getAnonymousId(a(e)),getUserId:()=>g.getUserId(),getUserTraits:()=>g.getUserTraits(),getGroupId:()=>g.getGroupId(),getGroupTraits:()=>g.getGroupTraits(),getSessionId:()=>g.getSessionId()};return new globalThis[e][i](n(t.config),D,{shouldApplyDeviceModeTransformation:t.shouldApplyDeviceModeTransformation,propagateEventsUntransformedOnError:t.propagateEventsUntransformedOnError,destinationId:t.id})})(c,D,e,v);m.instance=I,I.init(),p(m).then((()=>{s(m)&&(v.nativeDestinations.integrationsConfig.value=((e,n,s)=>{var o;let l=n;if(i(null===(o=e.instance)||void 0===o?void 0:o.getDataForIntegrationsObject))try{var r;l=t(n,a(null===(r=e.instance)||void 0===r?void 0:r.getDataForIntegrationsObject()))}catch(n){null==s||s.onError(n,g,`Failed to get integrations data for destination ${e.userFriendlyId}.`)}return l})(m,v.nativeDestinations.integrationsConfig.value,f)),v.nativeDestinations.initializedDestinations.value=[...v.nativeDestinations.initializedDestinations.value,m]})).catch((n=>{v.nativeDestinations.failedDestinations.value=[...v.nativeDestinations.failedDestinations.value,e],null==y||y.error(n)}))}catch(n){v.nativeDestinations.failedDestinations.value=[...v.nativeDestinations.failedDestinations.value,e],null==f||f.onError(n,g,`Failed to initialize destination ${e.userFriendlyId}.`)}},y="DeviceModeDestinations",m=()=>({name:y,initialize:e=>{e.plugins.loadedPlugins.value=[...e.plugins.loadedPlugins.value,y]},nativeDestinations:{setActiveDestinations(e,n,i,t){var a,s;e.nativeDestinations.loadIntegration.value=e.loadOptions.value.loadIntegration;const o=e.nativeDestinations.configuredDestinations.value.filter((e=>!!v[e.displayName]||(null==i||i.onError(new Error(`Destination ${e.userFriendlyId} is not supported.`),g),!1))),l=c(null!==(a=null===(s=e.consents.postConsent.value)||void 0===s?void 0:s.integrations)&&void 0!==a?a:e.nativeDestinations.loadOnlyIntegrations.value,o).filter((a=>{var s;return null===(s=n.invokeSingle("consentManager.isDestinationConsented",e,a.config,i,t))||void 0===s||s}));e.nativeDestinations.activeDestinations.value=l},load(e,n,i,t,a){const s=e.lifecycle.integrationsCDNPath.value;e.nativeDestinations.activeDestinations.value.forEach((o=>{const l=v[o.displayName],r=`${l}_RS`,d=l;if(d&&!((e,n)=>{var i;return Boolean((null===(i=globalThis[e])||void 0===i||null===(i=i[n])||void 0===i?void 0:i.prototype)&&void 0!==globalThis[e][n].prototype.constructor)})(r,d)){const u=`${s}/${l}.min.js`;n.loadJSFile({url:u,id:o.userFriendlyId,callback:null!=a?a:n=>{n?f(o,e,r,d,i,t):(null==t||t.error(D(g,o.userFriendlyId)),e.nativeDestinations.failedDestinations.value=[...e.nativeDestinations.failedDestinations.value,o])},timeout:1e4})}else d?f(o,e,r,d,i,t):null==t||t.error(D(g,o.displayName))}))}}});export{m as DeviceModeDestinations,m as default}; //# sourceMappingURL=rsa-plugins-remote-DeviceModeDestinations.min.js.map