import{R as e}from"./rsa-plugins-RetryQueue.min.js";import{k as t,m as n,c as i,M as s}from"./rsa-plugins-common.min.js";import{f as r}from"./rsa-plugins-deviceModeDestinations.min.js";const a={maxItems:100},o="NativeDestinationQueuePlugin",l=e=>e&&"string"==typeof e,u=(e,t,n,i)=>{const s=e.type.toString();try{var r,a;null===(r=t.instance)||void 0===r||null===(a=r[s])||void 0===a||a.call(r,{message:e})}catch(e){null==n||n.onError(e,o,`Failed to forward event to destination "${t.userFriendlyId}".`)}},d="NativeDestinationQueue",v=()=>({name:d,deps:[],initialize:e=>{e.plugins.loadedPlugins.value=[...e.plugins.loadedPlugins.value,d]},destinationsEventsQueue:{init(d,v,c,m,f,p){const g=(y=d.loadOptions.value.destinationsQueueOptions,n(a,y));var y;const h=d.lifecycle.writeKey.value;return new e(`rudder_destinations_events_${h}`,g,((e,n)=>{const s=r(e.integrations,d.nativeDestinations.initializedDestinations.value),a=[],c=i(e);s.forEach((e=>{try{const r=!((e,t,n)=>{if("track"!==e)return!1;const{blacklistedEvents:i,whitelistedEvents:s,eventFilteringOption:r}=n.config;switch(r){case"blacklistedEvents":{if(!l(t))return!1;const e=t.trim();return!!Array.isArray(i)&&i.some((t=>t.eventName.trim()===e))}case"whitelistedEvents":{if(!l(t))return!0;const e=t.trim();return!Array.isArray(s)||!s.some((t=>t.eventName.trim()===e))}default:return!1}})(c.type,c.event,e);if(!r)return void(null==p||p.warn((n=o,i=c.event,s=e.userFriendlyId,`${n}${t}The "${i}" track event has been filtered for the "${s}" destination.`)));e.shouldApplyDeviceModeTransformation?a.push(e):u(c,e,f)}catch(e){null==f||f.onError(e,o)}var n,i,s})),a.length>0&&v.invokeSingle("transformEvent.enqueue",d,m,c,a,f,p),n(null)}),c,s)},enqueue(e,t,n,i,s){t.addItem(n)},enqueueEventToDestination(e,t,n,i,s){u(t,n,i)}}});export{v as NativeDestinationQueue,v as default}; //# sourceMappingURL=rsa-plugins-remote-NativeDestinationQueue.min.js.map