ouisys-engine 5.0.135 → 5.0.136

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.
@@ -1,2 +1,2 @@
1
- import{__awaiter as r,__generator as e,__assign as t,__read as n}from"tslib";import{createAsyncThunk as o,createSlice as c}from"@reduxjs/toolkit";import{S as i,N as a,L as u,F as s}from"./RemoteDataState-lcf8PfJd.js";import{u as d,t as l}from"./tracker-DaaILhEr.js";import{searchToObject as v}from"./searchToObject.js";import{c as f,f as p}from"./strategySlice-BMNt18ck.js";import{b as _}from"./api-geirVksI.js";import{l as m}from"./loadScriptInnerHtml-B6v2-IGn.js";import{c as w}from"./cleanSearchParams-Dl7ZDlew.js";import"pacman-client";import"uuid";import"./getConfig.js";import"./formatNumberToE164-DaAFvpKD.js";var y=function(r){return r((function(r){return r.oneClickFlow.currentState}))};function g(r){var e=r.getRedirectUrl,t=r.subscribe;return function(r){switch(r.type){case"GET_REDIRECT_URL":default:return e(r.result);case"SUBCRIBE_AJAX":return t(r.result)}}}function h(t){var n=t.currentRedirectUrl,o=t.country;return r(this,void 0,void 0,(function(){var r;return e(this,(function(e){switch(e.label){case 0:return"pe"!==o.toLowerCase()?[3,3]:[4,new Promise((function(r){var e=setInterval((function(){window.Empello&&(clearInterval(e),r())}),100)}))];case 1:return e.sent(),"undefined"!=typeof window&&window.Empello?[4,new Promise((function(r){var e;null===(e=window.Empello)||void 0===e||e.getToken((function(e){r(e)}))}))]:[3,3];case 2:return r=e.sent(),[2,d(n,"empello_token",r)];case 3:return[2,n]}}))}))}var E=function(o){var c=o.window,i=o.extraParams,a=o.search,u=o.url;return r(void 0,void 0,void 0,(function(){var r,o,s,d,l;return e(this,(function(e){switch(e.label){case 0:a=w(a),r=(null==c?void 0:c.tid)||"",o=(null==c?void 0:c.shouldBlock)?"false":"true",s=Object.entries(i||{}).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(encodeURIComponent(o))})).join("&"),e.label=1;case 1:return e.trys.push([1,4,,5]),v=u,f=t({sam_evina_tid:r,antifraud_id:c.antifraud_id||"",antifraud_id_js_code:c.antifraud_id_js_code||"",antifraud_id_js_link:c.antifraud_id_js_link||"","is-clean-traffic":o},Object.fromEntries(new URLSearchParams(s))),p=new URLSearchParams(f).toString(),d="".concat(v,"&").concat(p),[4,fetch("".concat(d).concat(a?"&".concat(a):""))];case 2:return[4,e.sent().json()];case 3:return[2,e.sent()];case 4:throw l=e.sent(),console.error("Error fetching subscription:",l),l;case 5:return[2]}var v,f,p}))}))},R=function(t){var o=t.window,c=t.country,i=t.slug,a=t.device,u=t.offer,s=t.msisdn,d=t.operator,l=t.rockmanId,v=t.extraParams,f=t.search,p=t.evinaTid;return r(void 0,void 0,void 0,(function(){var r,t,_,m,y,g;return e(this,(function(e){return r="&".concat(Object.keys(v).map((function(r){return v[r]?"".concat(r,"=").concat(v[r]):""})).filter(Boolean).join("&")),f=w(f),t={action:"one-click-subscribe",country:c,slug:i,device:a,offerId:u,msisdn:s,operator:d,rockman_id:l,sam_evina_tid:p,page:encodeURIComponent(null===(g=null==o?void 0:o.location)||void 0===g?void 0:g.href),language_code:o.languageCode||"",partner_transaction_id:o.partner_transaction_id||"",partner_timestamp:o.partner_timestamp||"",partner_cid:o.partner_cid||"",antifraud_id:o.antifraud_id||"",antifraud_id_js_code:o.antifraud_id_js_code||"",antifraud_id_js_link:o.antifraud_id_js_link||"",zain_antifraud_id:o.zain_antifraud_id||"",korek_antifraud_id:o.korek_antifraud_id||""},_=Object.entries(t).filter((function(r){var e=n(r,2);return e[0],e[1]})).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(o)})).join("&"),m=o.DEV_BASE_URL||"",y="".concat(m,"/tallyman/v1/?").concat(_).concat(r).concat(f?"&".concat(f):""),[2,fetch(y).then((function(r){return r.json()}))]}))}))},b=function(r){var e=r,t="ouisys_callback_function".concat(Math.floor(1e4*Math.random()));return new Promise((function(n,o){window[t]=function(r){n(r)},e+=-1===e.indexOf("?")?"?":"&",e+="jsonp=".concat(t);var c=document.createElement("script");c.src=e,c.id=t,document.body.appendChild(c),c.onerror=function(){o(new Error("JSONP request to ".concat(r," failed")))}}))},k=function(o){var c=o.window,i=o.maybeConfig,a=o.extraParams;return r(void 0,void 0,void 0,(function(){var r,o,u,s,d,l,f,p,w,y,g,h,E,R,k,U,j,I,C,T,A,B;return e(this,(function(e){switch(e.label){case 0:if(void 0!==c)return[3,1];throw"javascript: console.error('SSR'); void 6";case 1:return r=i.country,o=i.slug,u=i.queryString,s=i.apiAction,d=void 0!==c&&c.tid?c.tid:"",l=c.pac_analytics.visitor.offer,f=c.location.search.substr(1),p=(f&&f.length>0?[f]:[]).concat((u||[]).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(o)}))).join("&"),Object.keys(a).forEach((function(r,e){p.length>0&&(p+="&"),p="".concat(function(r,e,t){void 0===t&&(t="");var n=new RegExp("\\b(".concat(e,"=).*?(&|#|$)"));if(r.search(n)>=0)return r.replace(n,"$1".concat(t,"$2"));var o=r.replace(/[?#]$/,"");return"".concat(o+e,"=").concat(t,"&")}(p,r,a[r])).concat(1===e?"&":"")})),w=c.pac_analytics.visitor.rockmanId,"identify-user"!==s?[3,3]:(h=c.DEV_BASE_URL||"",R="".concat(h,"/tallyman/v1/?action=identify-user&country=").concat(_(r),"&slug=").concat(o,"&device=").concat("smart","&offerId=").concat(l,"&rockman_id=").concat(w,"&sam_evina_tid=").concat(d,"&").concat(p),[4,b(R)]);case 2:if(!1===(y=e.sent()).success)throw(U=new Error("Error in getRedirectUrl() identify-user action:\n".concat(y.message))).type="NotOn3g",U;return[2,{subscription_url:y.subscription_url||y.redirect_url,action:function(){return S(y.subscription_url,i)}}];case 3:return"he"!==s?[3,5]:(h=c.DEV_BASE_URL||"",R="".concat(h,"/tallyman/v1/?action=he&country=").concat(_(r),"&slug=").concat(o,"&device=").concat("smart","&offerId=").concat(l,"&rockman_id=").concat(w,"&sam_evina_tid=").concat(d,"&").concat(p),[4,fetch(R).then((function(r){return r.json()}))]);case 4:if(!1===(k=e.sent()).success)throw(U=new Error("Error in getRedirectUrl() identify-user action:\n".concat(k.message))).type="NotOn3g",U;return m(k.source),[2,{redirect_url:k.redirectUrlWithReplacedUniqid}];case 5:if("om"===r.toLowerCase()){if("false"===(g=v(c)).success)throw(U=new Error("Error in getRedirectUrl() identify-user")).type="NotOn3g",U;return[2,{redirect_url:g.redirect_url||g.url}]}return h=c.DEV_BASE_URL||"",E=new URLSearchParams(t(t({action:"redirect",device:"smart",slug:o,offerId:l,country:_(r),rockman_id:w,sam_evina_tid:d},(null===(j=null==c?void 0:c.location)||void 0===j?void 0:j.href)&&{page:encodeURIComponent(null===(I=null==c?void 0:c.location)||void 0===I?void 0:I.href)}),(null===(T=null===(C=null==c?void 0:c.pac_analytics)||void 0===C?void 0:C.visitor)||void 0===T?void 0:T.ip)&&{ip_address:null===(B=null===(A=null==c?void 0:c.pac_analytics)||void 0===A?void 0:A.visitor)||void 0===B?void 0:B.ip})),R="".concat(h,"/tallyman/v1/?").concat(E.toString()).concat(p?"&".concat(p):""),[4,fetch(R).then((function(r){return r.json()}))];case 6:if(!1===(k=e.sent()).success)throw(U=new Error("Error in getRedirectUrl() identify-user action:\n".concat(k.message))).type="NotOn3g",U;return[2,{redirect_url:k.redirect_url}];case 7:return[2]}}))}))},S=function(o,c,i){return r(void 0,void 0,void 0,(function(){var r,a,u,s,d,l,v,f,p,_,m,w,y,g,h,b,k,S,U,j,I,C,T,A;return e(this,(function(e){switch(e.label){case 0:return r=null,o&&""!==o?(a=c.queryString,u=window.location.search.substr(1),y=(u&&u.length>0?[u]:[]).concat((a||[]).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(o)}))).join("&"),[4,E({window:window,extraParams:i,search:y,url:o})]):[3,2];case 1:return e.sent(),[3,4];case 2:return s=t({offer:window.pac_analytics.visitor.offer},c||{}),d=i||{},!1===(null===(S=null===(k=null===(b=null===window||void 0===window?void 0:window.pac_analytics)||void 0===b?void 0:b.visitor)||void 0===k?void 0:k.heMsisdnDecryptedByApiResult)||void 0===S?void 0:S.validateMsisdn)&&(d["skip-validation"]="1"),l=null===(I=null===(j=null===(U=null===window||void 0===window?void 0:window.pac_analytics)||void 0===U?void 0:U.visitor)||void 0===j?void 0:j.heMsisdnDecryptedByApiResult)||void 0===I?void 0:I.msisdn,v=null===(A=null===(T=null===(C=null===window||void 0===window?void 0:window.pac_analytics)||void 0===C?void 0:C.visitor)||void 0===T?void 0:T.heMsisdnDecryptedByApiResult)||void 0===A?void 0:A.operator,f=window.pac_analytics.visitor.rockmanId,p=s.slug,_=s.country,m=s.device,w=s.offer,y=window.location.search.substr(1)||"",g="undefined"!=typeof window&&window.tid?window.tid:"",[4,R({window:window,country:_,slug:p,device:m,offer:w,msisdn:l,operator:v,rockmanId:f,extraParams:d,search:y,evinaTid:g})];case 3:r=e.sent(),e.label=4;case 4:if(!1===r.success)throw(h=new Error("Error in subscribe() one-click-subscribe action:\n".concat(r.message))).type="ALREADY SUBSCRIBED"===r.message?"AlreadySubscribed":"SubscriptionError",h.productUrl=r.product_url?r.product_url:"",h.message=r.message,h;return[2,r.product_url||r.redirect_url]}}))}))},U=function(t,o,c){return r(void 0,void 0,void 0,(function(){var r,i,a,u,s,d,l,v,f,p,m,w,y,g,h;return e(this,(function(e){return void 0===t?[2,"javascript: console.error('SSR'); void 6"]:(r=o.country,i=o.slug,a=o.queryString,u=t.pac_analytics.visitor.offer,s=t.location.search.substr(1),d=(s&&s.length>0?[s]:[]).concat((a||[]).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(o)}))).join("&"),l=c?"&".concat(Object.keys(c).map((function(r){return"".concat(r,"=").concat(c[r])})).join("&")):"",v=t.location.href.split("/")[3].split("?")[0],f=void 0!==t&&t.tid?t.tid:"",p=(null===(y=null===(w=null==t?void 0:t.pac_analytics)||void 0===w?void 0:w.visitor)||void 0===y?void 0:y.bupperRedirectHost)?t.atob(null===(h=null===(g=null==t?void 0:t.pac_analytics)||void 0===g?void 0:g.visitor)||void 0===h?void 0:h.bupperRedirectHost):null,m=p||t.DEV_BASE_URL_BUPPER||"",[2,"".concat(m,"/").concat(_(r),"/").concat(i,"?offer=").concat(u,"&atmobirun=1&rockman_id=").concat(t.pac_analytics.visitor.rockmanId,"&redirPixels=").concat(t.location.host,"&sam_evina_tid=").concat(f,"&x-xcid=").concat(v).concat(l,"&").concat(d)])}))}))},j={currentState:{type:"GET_REDIRECT_URL",result:i({redirectUrl:"/product"})}},I={currentState:{type:"SUBCRIBE_AJAX",result:a()}},C={currentState:{type:"GET_REDIRECT_URL",result:a()}},T=function(r){var e=v(r);if(!e["mock-flow"])return C;switch(e["current-state"]){case"redirect-url-success-state":return j;case"subscribe-ajax-state":return I;default:return console.error("Mock Flow not supported"),C}}(window),A=o("oneClickFlow/getRedirectUrlAction",(function(n,o){var c=n.window,u=n.isGetRedirectBupperWay,s=n.extraParams,d=n.autoRedirect,_=o.getState,m=o.dispatch,w=o.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,n,o,y,g,E,R,b,S,j,I,C,A,B,F,D,L,x,P,O,G;return e(this,(function(e){switch(e.label){case 0:if(r=_(),v(c)["mock-flow"])return[2,T.currentState];if(!(null===(x=null===(L=null===(D=null==r?void 0:r.strategy)||void 0===D?void 0:D.currentState)||void 0===L?void 0:L.data)||void 0===x?void 0:x.config))return[2,w({errorType:"UnexpectedState"})];n=r.strategy.currentState.data,o=n.config,y=n.subscription_url,g=n.redirect_url,E=n.operator,R=n.strategy,b=n.defaultConfig,S=n.defaultFlowType,e.label=1;case 1:return e.trys.push([1,10,,11]),!0!==u?[3,4]:[4,U(c,o,t(t({},E&&{operator:E}),s))];case 2:return[4,h({currentRedirectUrl:e.sent(),country:o.country})];case 3:return j=e.sent(),l.customEvent("Flow","advance-auto","redirect-success",{redirect_url:j}),!0!==c.isAutoFraudScreener?!0===d?(l.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:j}),setTimeout((function(){c.location.href=j}),0),[2,{type:"GET_REDIRECT_URL",result:i({redirectUrl:j})}]):[2,{type:"GET_REDIRECT_URL",result:i({redirectUrl:j})}]:(I=setInterval((function(){c.isEvinaSessionChecked&&(clearInterval(I),l.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:j}),setTimeout((function(){c.location.href=j}),0))}),100),[3,9]);case 4:return y&&null!=y||(null===(G=null===(O=null===(P=null==c?void 0:c.pac_analytics)||void 0===P?void 0:P.visitor)||void 0===O?void 0:O.heMsisdnDecryptedByApiResult)||void 0===G?void 0:G.msisdn)?[2,{type:"SUBCRIBE_AJAX",result:a()}]:g?(l.customEvent("Flow","advance-auto","redirect-success",{redirect_url:g}),[2,{type:"GET_REDIRECT_URL",result:i({redirectUrl:g})}]):(l.advancedInFlow("tallyman.v1-one-click","get-redirect-url"),[4,k({window:c,maybeConfig:o,extraParams:t(t({},E&&{operator:E}),s)})]);case 5:return C=e.sent().redirect_url,l.advancedInFlow("tallyman.v1-one-click","get-redirect-url-success"),C?[4,h({currentRedirectUrl:C,country:o.country})]:[3,7];case 6:return B=e.sent(),[3,8];case 7:B=null,e.label=8;case 8:if(!(A=B))return l.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),"one-click"!==R&&m(f({type:p[S],data:{config:b.flowConfig}})),[2,w({errorType:"UnknownError",message:"Could not get rediredt url",error:"Could not get rediredt url"})];if(l.customEvent("Flow","advance-auto","redirect-success",{updated_redirect_url:A}),!(!0===d||!0===c.isAutoFraudScreener&&A))return[2,{type:"GET_REDIRECT_URL",result:i({redirectUrl:A})}];l.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{updated_redirect_url:A}),setTimeout((function(){c.location.href=A}),0),e.label=9;case 9:return[3,11];case 10:return F=e.sent(),console.warn(F),l.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),"one-click"!==R&&m(f({type:p[S],data:{config:b.flowConfig}})),[2,w({errorType:"UnknownError",message:F.message,error:F.toString()})];case 11:return[2]}}))}))})),B=o("oneClickFlow/subscribeUrlAction",(function(t,n){var o=t.window,c=t.autoRedirect,a=t.extraParams,u=n.getState,s=n.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,t,n,d,v,f,p,_,m;return e(this,(function(e){switch(e.label){case 0:if(r=u(),!(null===(m=null===(_=null===(p=null==r?void 0:r.strategy)||void 0===p?void 0:p.currentState)||void 0===_?void 0:_.data)||void 0===m?void 0:m.config))return[2,s({errorType:"UnexpectedState"})];t=r.strategy.currentState.data,n=t.subscription_url,d=t.config,e.label=1;case 1:return e.trys.push([1,3,,4]),l.advancedInFlow("tallyman.v1-one-click","click-subscribe"),[4,S(n,d,a)];case 2:return v=e.sent(),l.advancedInFlow("tallyman.v1-one-click","click-subscribe-success",{product_url:v}),!0===c&&(l.customEvent("Flow","advance-auto","click-product-url",{product_url:v}),o.location.href=v),[2,{type:"SUBCRIBE_AJAX",result:i({productUrl:v})}];case 3:return f=e.sent(),console.warn(f),l.recedeInFlow("tallyman.v1-one-click","click-subscribe-failure",{error:f.toString()}),[2,s({errorType:"UnknownError",error:f.toString(),productUrl:f.productUrl,message:f.message||""})];case 4:return[2]}}))}))})),F=c({name:"oneClickFlow",initialState:T,reducers:{},extraReducers:function(r){r.addCase(A.pending,(function(r){r.currentState={type:"GET_REDIRECT_URL",result:u()}})).addCase(A.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(A.rejected,(function(r,e){r.currentState={type:"GET_REDIRECT_URL",result:s(e.payload)}})).addCase(B.pending,(function(r){r.currentState={type:"SUBCRIBE_AJAX",result:u()}})).addCase(B.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(B.rejected,(function(r,e){r.currentState={type:"SUBCRIBE_AJAX",result:s(e.payload)}}))}}),D=F.reducer;F.actions;export{A as getRedirectUrlAction,g as oneClickFlowMatch,D as oneClickFlowReducer,B as subscribeUrlAction,y as useOneClickFlowState};
1
+ import{__awaiter as r,__generator as e,__assign as t,__read as n}from"tslib";import{createAsyncThunk as o,createSlice as i}from"@reduxjs/toolkit";import{S as c,N as a,L as u,F as l}from"./RemoteDataState-lcf8PfJd.js";import{u as s,t as d}from"./tracker-DaaILhEr.js";import{searchToObject as v}from"./searchToObject.js";import{c as f,f as p}from"./strategySlice-BMNt18ck.js";import{b as _}from"./api-geirVksI.js";import{l as m}from"./loadScriptInnerHtml-B6v2-IGn.js";import{c as w}from"./cleanSearchParams-Dl7ZDlew.js";import"pacman-client";import"uuid";import"./getConfig.js";import"./formatNumberToE164-DaAFvpKD.js";var y=function(r){return r((function(r){return r.oneClickFlow.currentState}))};function g(r){var e=r.getRedirectUrl,t=r.subscribe;return function(r){switch(r.type){case"GET_REDIRECT_URL":default:return e(r.result);case"SUBCRIBE_AJAX":return t(r.result)}}}function h(t){var n=t.currentRedirectUrl,o=t.country;return r(this,void 0,void 0,(function(){var r;return e(this,(function(e){switch(e.label){case 0:return"pe"!==o.toLowerCase()?[3,3]:[4,new Promise((function(r){var e=setInterval((function(){window.Empello&&(clearInterval(e),r())}),100)}))];case 1:return e.sent(),"undefined"!=typeof window&&window.Empello?[4,new Promise((function(r){var e;null===(e=window.Empello)||void 0===e||e.getToken((function(e){r(e)}))}))]:[3,3];case 2:return r=e.sent(),[2,s(n,"empello_token",r)];case 3:return[2,n]}}))}))}var E=function(o){var i=o.window,c=o.extraParams,a=o.search,u=o.url;return r(void 0,void 0,void 0,(function(){var r,o,l,s,d;return e(this,(function(e){switch(e.label){case 0:a=w(a),r=(null==i?void 0:i.tid)||"",o=(null==i?void 0:i.shouldBlock)?"false":"true",l=Object.entries(c||{}).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(encodeURIComponent(o))})).join("&"),e.label=1;case 1:return e.trys.push([1,4,,5]),v=u,f=t({sam_evina_tid:r,antifraud_id:i.antifraud_id||"",antifraud_id_js_code:i.antifraud_id_js_code||"",antifraud_id_js_link:i.antifraud_id_js_link||"","is-clean-traffic":o},Object.fromEntries(new URLSearchParams(l))),p=new URLSearchParams(f).toString(),s="".concat(v,"&").concat(p),[4,fetch("".concat(s).concat(a?"&".concat(a):""))];case 2:return[4,e.sent().json()];case 3:return[2,e.sent()];case 4:throw d=e.sent(),console.error("Error fetching subscription:",d),d;case 5:return[2]}var v,f,p}))}))},R=function(t){var o=t.window,i=t.country,c=t.slug,a=t.device,u=t.offer,l=t.msisdn,s=t.operator,d=t.rockmanId,v=t.extraParams,f=t.search,p=t.evinaTid;return r(void 0,void 0,void 0,(function(){var r,t,_,m,y,g;return e(this,(function(e){return r="&".concat(Object.keys(v).map((function(r){return v[r]?"".concat(r,"=").concat(v[r]):""})).filter(Boolean).join("&")),f=w(f),t={action:"one-click-subscribe",country:i,slug:c,device:a,offerId:u,msisdn:l,operator:s,rockman_id:d,sam_evina_tid:p,page:encodeURIComponent(null===(g=null==o?void 0:o.location)||void 0===g?void 0:g.href),language_code:o.languageCode||"",partner_transaction_id:o.partner_transaction_id||"",partner_timestamp:o.partner_timestamp||"",partner_cid:o.partner_cid||"",antifraud_id:o.antifraud_id||"",antifraud_id_js_code:o.antifraud_id_js_code||"",antifraud_id_js_link:o.antifraud_id_js_link||"",zain_antifraud_id:o.zain_antifraud_id||"",korek_antifraud_id:o.korek_antifraud_id||""},_=Object.entries(t).filter((function(r){var e=n(r,2);return e[0],e[1]})).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(o)})).join("&"),m=o.DEV_BASE_URL||"",y="".concat(m,"/tallyman/v1/?").concat(_).concat(r).concat(f?"&".concat(f):""),[2,fetch(y).then((function(r){return r.json()}))]}))}))},b=function(r){var e=r,t="ouisys_callback_function".concat(Math.floor(1e4*Math.random()));return new Promise((function(n,o){window[t]=function(r){n(r)},e+=-1===e.indexOf("?")?"?":"&",e+="jsonp=".concat(t);var i=document.createElement("script");i.src=e,i.id=t,document.body.appendChild(i),i.onerror=function(){o(new Error("JSONP request to ".concat(r," failed")))}}))},k=function(o){var i=o.window,c=o.maybeConfig,a=o.extraParams;return r(void 0,void 0,void 0,(function(){var r,o,u,l,s,d,f,p,w,y,g,h,E,R,k,U,j,I,C,T,A,B,F,D,L,x;return e(this,(function(e){switch(e.label){case 0:if(void 0!==i)return[3,1];throw"javascript: console.error('SSR'); void 6";case 1:return r=c.country,o=c.slug,u=c.queryString,l=c.apiAction,s=void 0!==i&&i.tid?i.tid:"",d=i.pac_analytics.visitor.offer,f=i.location.search.substr(1),p=(f&&f.length>0?[f]:[]).concat((u||[]).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(o)}))).join("&"),Object.keys(a).forEach((function(r,e){p.length>0&&(p+="&"),p="".concat(function(r,e,t){void 0===t&&(t="");var n=new RegExp("\\b(".concat(e,"=).*?(&|#|$)"));if(r.search(n)>=0)return r.replace(n,"$1".concat(t,"$2"));var o=r.replace(/[?#]$/,"");return"".concat(o+e,"=").concat(t,"&")}(p,r,a[r])).concat(1===e?"&":"")})),w=i.pac_analytics.visitor.rockmanId,"identify-user"!==l?[3,3]:(h=i.DEV_BASE_URL||"",R="".concat(h,"/tallyman/v1/?action=identify-user&country=").concat(_(r),"&slug=").concat(o,"&device=").concat("smart","&offerId=").concat(d,"&rockman_id=").concat(w,"&sam_evina_tid=").concat(s,"&").concat(p),[4,b(R)]);case 2:if(!1===(y=e.sent()).success)throw(U=new Error("Error in getRedirectUrl() identify-user action:\n".concat(y.message))).type="NotOn3g",U;return[2,{subscription_url:y.subscription_url||y.redirect_url,action:function(){return S(y.subscription_url,c)}}];case 3:return"he"!==l?[3,5]:(h=i.DEV_BASE_URL||"",R="".concat(h,"/tallyman/v1/?action=he&country=").concat(_(r),"&slug=").concat(o,"&device=").concat("smart","&offerId=").concat(d,"&rockman_id=").concat(w,"&sam_evina_tid=").concat(s,"&").concat(p),[4,fetch(R).then((function(r){return r.json()}))]);case 4:if(!1===(k=e.sent()).success)throw(U=new Error("Error in getRedirectUrl() identify-user action:\n".concat(k.message))).type="NotOn3g",U;return m(k.source),[2,{redirect_url:k.redirectUrlWithReplacedUniqid}];case 5:if("om"===r.toLowerCase()){if("false"===(g=v(i)).success)throw(U=new Error("Error in getRedirectUrl() identify-user")).type="NotOn3g",U;return[2,{redirect_url:g.redirect_url||g.url}]}return h=i.DEV_BASE_URL||"",E=new URLSearchParams(t(t(t({action:"redirect",device:"smart",slug:o,offerId:d,country:_(r),rockman_id:w,sam_evina_tid:s},(null===(j=null==i?void 0:i.location)||void 0===j?void 0:j.href)&&{page:encodeURIComponent(null===(I=null==i?void 0:i.location)||void 0===I?void 0:I.href)}),(null===(T=null===(C=null==i?void 0:i.pac_analytics)||void 0===C?void 0:C.visitor)||void 0===T?void 0:T.ip)&&{ip_address:null===(B=null===(A=null==i?void 0:i.pac_analytics)||void 0===A?void 0:A.visitor)||void 0===B?void 0:B.ip}),(null===(D=null===(F=null==i?void 0:i.pac_analytics)||void 0===F?void 0:F.visitor)||void 0===D?void 0:D.ipRangeOperator)&&{ip_range_operator:null===(x=null===(L=null==i?void 0:i.pac_analytics)||void 0===L?void 0:L.visitor)||void 0===x?void 0:x.ipRangeOperator})),R="".concat(h,"/tallyman/v1/?").concat(E.toString()).concat(p?"&".concat(p):""),[4,fetch(R).then((function(r){return r.json()}))];case 6:if(!1===(k=e.sent()).success)throw(U=new Error("Error in getRedirectUrl() identify-user action:\n".concat(k.message))).type="NotOn3g",U;return[2,{redirect_url:k.redirect_url}];case 7:return[2]}}))}))},S=function(o,i,c){return r(void 0,void 0,void 0,(function(){var r,a,u,l,s,d,v,f,p,_,m,w,y,g,h,b,k,S,U,j,I,C,T,A;return e(this,(function(e){switch(e.label){case 0:return r=null,o&&""!==o?(a=i.queryString,u=window.location.search.substr(1),y=(u&&u.length>0?[u]:[]).concat((a||[]).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(o)}))).join("&"),[4,E({window:window,extraParams:c,search:y,url:o})]):[3,2];case 1:return e.sent(),[3,4];case 2:return l=t({offer:window.pac_analytics.visitor.offer},i||{}),s=c||{},!1===(null===(S=null===(k=null===(b=null===window||void 0===window?void 0:window.pac_analytics)||void 0===b?void 0:b.visitor)||void 0===k?void 0:k.heMsisdnDecryptedByApiResult)||void 0===S?void 0:S.validateMsisdn)&&(s["skip-validation"]="1"),d=null===(I=null===(j=null===(U=null===window||void 0===window?void 0:window.pac_analytics)||void 0===U?void 0:U.visitor)||void 0===j?void 0:j.heMsisdnDecryptedByApiResult)||void 0===I?void 0:I.msisdn,v=null===(A=null===(T=null===(C=null===window||void 0===window?void 0:window.pac_analytics)||void 0===C?void 0:C.visitor)||void 0===T?void 0:T.heMsisdnDecryptedByApiResult)||void 0===A?void 0:A.operator,f=window.pac_analytics.visitor.rockmanId,p=l.slug,_=l.country,m=l.device,w=l.offer,y=window.location.search.substr(1)||"",g="undefined"!=typeof window&&window.tid?window.tid:"",[4,R({window:window,country:_,slug:p,device:m,offer:w,msisdn:d,operator:v,rockmanId:f,extraParams:s,search:y,evinaTid:g})];case 3:r=e.sent(),e.label=4;case 4:if(!1===r.success)throw(h=new Error("Error in subscribe() one-click-subscribe action:\n".concat(r.message))).type="ALREADY SUBSCRIBED"===r.message?"AlreadySubscribed":"SubscriptionError",h.productUrl=r.product_url?r.product_url:"",h.message=r.message,h;return[2,r.product_url||r.redirect_url]}}))}))},U=function(t,o,i){return r(void 0,void 0,void 0,(function(){var r,c,a,u,l,s,d,v,f,p,m,w,y,g,h;return e(this,(function(e){return void 0===t?[2,"javascript: console.error('SSR'); void 6"]:(r=o.country,c=o.slug,a=o.queryString,u=t.pac_analytics.visitor.offer,l=t.location.search.substr(1),s=(l&&l.length>0?[l]:[]).concat((a||[]).map((function(r){var e=n(r,2),t=e[0],o=e[1];return"".concat(t,"=").concat(o)}))).join("&"),d=i?"&".concat(Object.keys(i).map((function(r){return"".concat(r,"=").concat(i[r])})).join("&")):"",v=t.location.href.split("/")[3].split("?")[0],f=void 0!==t&&t.tid?t.tid:"",p=(null===(y=null===(w=null==t?void 0:t.pac_analytics)||void 0===w?void 0:w.visitor)||void 0===y?void 0:y.bupperRedirectHost)?t.atob(null===(h=null===(g=null==t?void 0:t.pac_analytics)||void 0===g?void 0:g.visitor)||void 0===h?void 0:h.bupperRedirectHost):null,m=p||t.DEV_BASE_URL_BUPPER||"",[2,"".concat(m,"/").concat(_(r),"/").concat(c,"?offer=").concat(u,"&atmobirun=1&rockman_id=").concat(t.pac_analytics.visitor.rockmanId,"&redirPixels=").concat(t.location.host,"&sam_evina_tid=").concat(f,"&x-xcid=").concat(v).concat(d,"&").concat(s)])}))}))},j={currentState:{type:"GET_REDIRECT_URL",result:c({redirectUrl:"/product"})}},I={currentState:{type:"SUBCRIBE_AJAX",result:a()}},C={currentState:{type:"GET_REDIRECT_URL",result:a()}},T=function(r){var e=v(r);if(!e["mock-flow"])return C;switch(e["current-state"]){case"redirect-url-success-state":return j;case"subscribe-ajax-state":return I;default:return console.error("Mock Flow not supported"),C}}(window),A=o("oneClickFlow/getRedirectUrlAction",(function(n,o){var i=n.window,u=n.isGetRedirectBupperWay,l=n.extraParams,s=n.autoRedirect,_=o.getState,m=o.dispatch,w=o.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,n,o,y,g,E,R,b,S,j,I,C,A,B,F,D,L,x,P,O,G;return e(this,(function(e){switch(e.label){case 0:if(r=_(),v(i)["mock-flow"])return[2,T.currentState];if(!(null===(x=null===(L=null===(D=null==r?void 0:r.strategy)||void 0===D?void 0:D.currentState)||void 0===L?void 0:L.data)||void 0===x?void 0:x.config))return[2,w({errorType:"UnexpectedState"})];n=r.strategy.currentState.data,o=n.config,y=n.subscription_url,g=n.redirect_url,E=n.operator,R=n.strategy,b=n.defaultConfig,S=n.defaultFlowType,e.label=1;case 1:return e.trys.push([1,10,,11]),!0!==u?[3,4]:[4,U(i,o,t(t({},E&&{operator:E}),l))];case 2:return[4,h({currentRedirectUrl:e.sent(),country:o.country})];case 3:return j=e.sent(),d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:j}),!0!==i.isAutoFraudScreener?!0===s?(d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:j}),setTimeout((function(){i.location.href=j}),0),[2,{type:"GET_REDIRECT_URL",result:c({redirectUrl:j})}]):[2,{type:"GET_REDIRECT_URL",result:c({redirectUrl:j})}]:(I=setInterval((function(){i.isEvinaSessionChecked&&(clearInterval(I),d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:j}),setTimeout((function(){i.location.href=j}),0))}),100),[3,9]);case 4:return y&&null!=y||(null===(G=null===(O=null===(P=null==i?void 0:i.pac_analytics)||void 0===P?void 0:P.visitor)||void 0===O?void 0:O.heMsisdnDecryptedByApiResult)||void 0===G?void 0:G.msisdn)?[2,{type:"SUBCRIBE_AJAX",result:a()}]:g?(d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:g}),[2,{type:"GET_REDIRECT_URL",result:c({redirectUrl:g})}]):(d.advancedInFlow("tallyman.v1-one-click","get-redirect-url"),[4,k({window:i,maybeConfig:o,extraParams:t(t({},E&&{operator:E}),l)})]);case 5:return C=e.sent().redirect_url,d.advancedInFlow("tallyman.v1-one-click","get-redirect-url-success"),C?[4,h({currentRedirectUrl:C,country:o.country})]:[3,7];case 6:return B=e.sent(),[3,8];case 7:B=null,e.label=8;case 8:if(!(A=B))return d.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),"one-click"!==R&&m(f({type:p[S],data:{config:b.flowConfig}})),[2,w({errorType:"UnknownError",message:"Could not get rediredt url",error:"Could not get rediredt url"})];if(d.customEvent("Flow","advance-auto","redirect-success",{updated_redirect_url:A}),!(!0===s||!0===i.isAutoFraudScreener&&A))return[2,{type:"GET_REDIRECT_URL",result:c({redirectUrl:A})}];d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{updated_redirect_url:A}),setTimeout((function(){i.location.href=A}),0),e.label=9;case 9:return[3,11];case 10:return F=e.sent(),console.warn(F),d.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),"one-click"!==R&&m(f({type:p[S],data:{config:b.flowConfig}})),[2,w({errorType:"UnknownError",message:F.message,error:F.toString()})];case 11:return[2]}}))}))})),B=o("oneClickFlow/subscribeUrlAction",(function(t,n){var o=t.window,i=t.autoRedirect,a=t.extraParams,u=n.getState,l=n.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,t,n,s,v,f,p,_,m;return e(this,(function(e){switch(e.label){case 0:if(r=u(),!(null===(m=null===(_=null===(p=null==r?void 0:r.strategy)||void 0===p?void 0:p.currentState)||void 0===_?void 0:_.data)||void 0===m?void 0:m.config))return[2,l({errorType:"UnexpectedState"})];t=r.strategy.currentState.data,n=t.subscription_url,s=t.config,e.label=1;case 1:return e.trys.push([1,3,,4]),d.advancedInFlow("tallyman.v1-one-click","click-subscribe"),[4,S(n,s,a)];case 2:return v=e.sent(),d.advancedInFlow("tallyman.v1-one-click","click-subscribe-success",{product_url:v}),!0===i&&(d.customEvent("Flow","advance-auto","click-product-url",{product_url:v}),o.location.href=v),[2,{type:"SUBCRIBE_AJAX",result:c({productUrl:v})}];case 3:return f=e.sent(),console.warn(f),d.recedeInFlow("tallyman.v1-one-click","click-subscribe-failure",{error:f.toString()}),[2,l({errorType:"UnknownError",error:f.toString(),productUrl:f.productUrl,message:f.message||""})];case 4:return[2]}}))}))})),F=i({name:"oneClickFlow",initialState:T,reducers:{},extraReducers:function(r){r.addCase(A.pending,(function(r){r.currentState={type:"GET_REDIRECT_URL",result:u()}})).addCase(A.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(A.rejected,(function(r,e){r.currentState={type:"GET_REDIRECT_URL",result:l(e.payload)}})).addCase(B.pending,(function(r){r.currentState={type:"SUBCRIBE_AJAX",result:u()}})).addCase(B.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(B.rejected,(function(r,e){r.currentState={type:"SUBCRIBE_AJAX",result:l(e.payload)}}))}}),D=F.reducer;F.actions;export{A as getRedirectUrlAction,g as oneClickFlowMatch,D as oneClickFlowReducer,B as subscribeUrlAction,y as useOneClickFlowState};
2
2
  //# sourceMappingURL=oneClickFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"oneClickFlow.js","sources":["../src/flows/oneClickFlow/hooks/useOneClickFlowState.ts","../src/flows/oneClickFlow/match.ts","../src/utilities/addEmpelloToken.ts","../src/utilities/replaceUrlParam.ts","../src/flows/oneClickFlow/api.ts","../src/flows/oneClickFlow/main.ts","../src/flows/oneClickFlow/oneClickFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useOneClickFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.oneClickFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IGETREDIRECTURLFailure,\n IGETREDIRECTURLSuccess,\n OneClickFlowCurrentState,\n SubscribeFailure,\n SubscribeSuccess\n} from '../../sharedFlowTypes/OneClickTypes';\n\nfunction oneClickFlowMatch<R>({\n getRedirectUrl,\n subscribe\n}: {\n getRedirectUrl: (rds: RDS.RemoteDataState<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>) => R;\n subscribe?: (rds: RDS.RemoteDataState<SubscribeFailure, SubscribeSuccess>) => R;\n}): (state: OneClickFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'GET_REDIRECT_URL':\n return getRedirectUrl(state.result);\n case 'SUBCRIBE_AJAX':\n return subscribe(state.result);\n default:\n // TODO - this should be an error or something\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return getRedirectUrl(state.result);\n }\n };\n}\n\nexport { oneClickFlowMatch };\n","import { updateUrlParameter } from '../pacman/queryString';\n\nexport async function addEmpelloToken({\n currentRedirectUrl,\n country\n}: {\n currentRedirectUrl: string;\n country: string;\n}) {\n if (country.toLowerCase() === 'pe') {\n // Empello script is added on server\n\n await new Promise<void>((resolve) => {\n // check if empello script is loaded and available\n const checkEmpelloAvailability = setInterval(() => {\n if (window.Empello) {\n clearInterval((checkEmpelloAvailability as unknown) as number);\n resolve();\n }\n }, 100);\n });\n if (typeof window !== 'undefined' && window.Empello) {\n // call getToken function from empello\n const token = await new Promise<string>((resolve) => {\n window.Empello?.getToken((empelloToken: string) => {\n resolve(empelloToken);\n });\n });\n\n const url = updateUrlParameter(currentRedirectUrl, 'empello_token', token);\n return url;\n }\n }\n\n return currentRedirectUrl;\n}\n","export const replaceUrlParam = (url: string, paramName: string, paramValue = '') => {\n const pattern = new RegExp(`\\\\b(${paramName}=).*?(&|#|$)`);\n if (url.search(pattern) >= 0) {\n return url.replace(pattern, `$1${paramValue}$2`);\n }\n const newUrl = url.replace(/[?#]$/, '');\n return `${newUrl + paramName}=${paramValue}&`;\n};\n","import { IHash } from '../../common-types/IHash';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const getRedirectAPI = () => {};\n\nconst getUrlWithParams = (baseURL: string, params: IHash) => {\n const queryParams = new URLSearchParams(params).toString();\n return `${baseURL}&${queryParams}`;\n};\n\nexport const oneClickSubscribeByUrlFromParams = async ({\n window,\n extraParams,\n search,\n url\n}: {\n window: Window;\n extraParams?: IHash;\n search: string;\n url: string;\n}) => {\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const evinaTid = window?.tid || '';\n const isCleanTraffic = window?.shouldBlock ? 'false' : 'true';\n\n const extraParamsQs = Object.entries(extraParams || {})\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n try {\n const resultUrl = getUrlWithParams(url, {\n sam_evina_tid: evinaTid,\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n 'is-clean-traffic': isCleanTraffic,\n ...Object.fromEntries(new URLSearchParams(extraParamsQs))\n });\n\n const response = await fetch(`${resultUrl}${search ? `&${search}` : ''}`);\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Error fetching subscription:', error);\n throw error; // Rethrow or handle error as needed\n }\n};\n\nexport const oneClickSubscribe = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams,\n search,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n operator: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n evinaTid?: string;\n}): Promise<any> => {\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'one-click-subscribe',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n operator,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n return fetch(url).then((x) => x.json());\n};\n","import { IError } from '../../common-types/IError';\nimport { IHash } from '../../common-types/IHash';\nimport { IIDentifyUserResult, ILinkExtraParams, ISubscribeResult } from '../../sharedFlowTypes/OneClickTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { replaceUrlParam } from '../../utilities/replaceUrlParam';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { oneClickSubscribe, oneClickSubscribeByUrlFromParams } from './api';\n\nexport const additionalQueryString = `msisdnSubmitted=Y&legalCheckbox=Y&incentivizedCheckbox=Y&op_confirmCheckbox=N`;\n\nconst fetchJsonp: <T>(_url: string) => Promise<T> = (_url: string) => {\n let url = _url;\n const ouisys_callback_function = `ouisys_callback_function${Math.floor(Math.random() * 10000)}`;\n return new Promise((resolve, reject) => {\n // @ts-ignore\n window[ouisys_callback_function] = (arg) => {\n resolve(arg);\n };\n\n url += url.indexOf('?') === -1 ? '?' : '&';\n url += `jsonp=${ouisys_callback_function}`;\n const script = document.createElement('script');\n script.src = url;\n script.id = ouisys_callback_function;\n document.body.appendChild(script);\n\n // Caught if got 404/500\n script.onerror = () => {\n reject(new Error(`JSONP request to ${_url} failed`));\n };\n });\n};\n\nexport const getRedirectUrl = async ({\n window,\n maybeConfig,\n extraParams\n}: {\n window: Window;\n maybeConfig: IConfig;\n extraParams?: ILinkExtraParams;\n}): Promise<{\n subscription_url?: string;\n redirect_url?: string;\n action?: () => Promise<string>;\n}> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-throw-literal, no-script-url\n throw \"javascript: console.error('SSR'); void 6\";\n } else {\n const { country, slug, queryString, apiAction } = maybeConfig;\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n let search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n Object.keys(extraParams).forEach((element, index) => {\n // Check if search already has query parameters\n if (search.length > 0) {\n // If there are existing parameters, add '&' before appending the new one\n search += '&';\n }\n search = `${replaceUrlParam(search, element, extraParams[element])}${index === 1 ? '&' : ''}`;\n });\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (apiAction === 'identify-user') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=identify-user&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetchJsonp<IIDentifyUserResult>(url);\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return {\n subscription_url: result.subscription_url || result.redirect_url,\n action: () => subscribe(result.subscription_url, maybeConfig)\n };\n }\n } else if (apiAction === 'he') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=he&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetch(url).then((x) => x.json());\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n loadScriptInnerHtml(result.source);\n return { redirect_url: result.redirectUrlWithReplacedUniqid };\n }\n } else {\n if (country.toLowerCase() === 'om') {\n const searchObj = searchToObject(window) as {\n redirect_url: string;\n url: string;\n msisdn: string;\n success: 'true' | 'false';\n };\n if (searchObj.success === 'false') {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: searchObj.redirect_url || searchObj.url };\n }\n }\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = new URLSearchParams({\n action: 'redirect',\n device: 'smart',\n slug,\n offerId: offer,\n country: bupperizeCountry(country),\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n ...(window?.location?.href && { page: encodeURIComponent(window?.location?.href) }),\n ...(window?.pac_analytics?.visitor?.ip && { ip_address: window?.pac_analytics?.visitor?.ip })\n });\n\n const url = `${host}/tallyman/v1/?${params.toString()}${search ? `&${search}` : ''}`;\n const result = await fetch(url).then((x) => x.json());\n\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: result.redirect_url };\n }\n }\n }\n};\n\nexport const subscribe: (url: string, maybeConfig: IConfig, extraParams?: IHash) => Promise<string> = async (\n url: string,\n maybeConfig: IConfig,\n extraParams?: IHash\n) => {\n let result: ISubscribeResult = null;\n\n if (url && url !== '') {\n const { queryString } = maybeConfig;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n await oneClickSubscribeByUrlFromParams({\n window,\n extraParams,\n search,\n url\n });\n } else {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n const newExtraParams = extraParams || {};\n const isSkipValidation = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.validateMsisdn === false;\n // @ts-ignore\n if (isSkipValidation) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n const msisdn = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.msisdn;\n const operator = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.operator;\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n result = await oneClickSubscribe({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams: newExtraParams,\n search,\n evinaTid\n });\n }\n\n if (result.success === false) {\n const subscribeError = new Error(`Error in subscribe() one-click-subscribe action:\\n${result.message}`) as {\n productUrl: string;\n } & IError;\n subscribeError.type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'SubscriptionError';\n subscribeError.productUrl = result.product_url ? result.product_url : '';\n subscribeError.message = result.message;\n throw subscribeError;\n } else {\n return result.product_url || result.redirect_url;\n }\n};\n\nexport const getRedirectUrlBupperWay = async (\n window: Window,\n maybeConfig: IConfig,\n extraParams?: ILinkExtraParams\n): Promise<string> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-script-url\n return \"javascript: console.error('SSR'); void 6\";\n }\n const { country, slug, queryString } = maybeConfig;\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n\n // one click flow must use http not https\n const xcid = window.location.href.split('/')[3].split('?')[0];\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const baseHostBupper = window?.pac_analytics?.visitor?.bupperRedirectHost\n ? window.atob(window?.pac_analytics?.visitor?.bupperRedirectHost)\n : null;\n const host = baseHostBupper || (window as Window).DEV_BASE_URL_BUPPER || '';\n\n return `${host}/${bupperizeCountry(country)}/${slug}?offer=${offer}&atmobirun=1&rockman_id=${\n window.pac_analytics.visitor.rockmanId\n }&redirPixels=${window.location.host}&sam_evina_tid=${evinaTid}&x-xcid=${xcid}${extraParamsQs}&${search}`;\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n AJAXSUBSCRIBEState,\n GETREDIRECTUrlState,\n IGETREDIRECTURLFailure,\n OneClickFlowState,\n SubscribeFailure\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { addEmpelloToken } from '../../utilities/addEmpelloToken';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { flowMapping } from '../strategy/main';\nimport { setStrategyExtraData } from '../strategy/strategySlice';\nimport { getRedirectUrl, getRedirectUrlBupperWay, subscribe } from './main';\n\nexport const mockedRedirectUrlSuccessState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n // @ts-ignore\n result: RDS.Success<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>({ redirectUrl: '/product' })\n }\n};\n\nexport const mockedSubscribeAjaxState: OneClickFlowState = {\n currentState: {\n type: 'SUBCRIBE_AJAX',\n // @ts-ignore\n result: RDS.NothingYet()\n }\n};\n\nconst defaultInitialState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'redirect-url-success-state':\n return mockedRedirectUrlSuccessState;\n case 'subscribe-ajax-state':\n return mockedSubscribeAjaxState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface GetRedirectUrlArgs {\n window: Window;\n extraParams?: IHash;\n autoRedirect?: boolean;\n isGetRedirectBupperWay?: boolean;\n ignoreUrlParams?: boolean;\n}\n/**\n * getRedirectUrlAction\n * @returns {type: ' 'oneClickFlow/getRedirectUrlAction', payload: {type: PossibleTypes, result: GETREDIRECTUrlState}}\n \n * Calls redirect api to get a redirect url for the user to be redirected to\n * Can also create a bupper redirect url\n */\nexport const getRedirectUrlAction = createAsyncThunk<\n GETREDIRECTUrlState,\n GetRedirectUrlArgs,\n {\n rejectValue: IGETREDIRECTURLFailure;\n }\n>(\n 'oneClickFlow/getRedirectUrlAction',\n // @ts-ignore\n async ({ window, isGetRedirectBupperWay, extraParams, autoRedirect }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n return initialState.currentState;\n }\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n\n const {\n config,\n subscription_url,\n redirect_url,\n operator,\n strategy,\n defaultConfig,\n defaultFlowType\n } = state.strategy.currentState.data;\n try {\n if (isGetRedirectBupperWay === true) {\n const redirectUrl = await getRedirectUrlBupperWay(window, config, {\n ...(operator && { operator }),\n ...extraParams\n });\n\n // add empellow token for specific country\n const updatedRedirectUrl = await addEmpelloToken({\n currentRedirectUrl: redirectUrl,\n country: config.country\n });\n\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n if (window.isAutoFraudScreener === true) {\n // Wait for Evina to Check Fraud First\n const timer = setInterval(() => {\n if (window.isEvinaSessionChecked) {\n clearInterval(timer);\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-redirect-url', {\n redirect_url: updatedRedirectUrl\n });\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n }\n }, 100);\n } else if (autoRedirect === true) {\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-redirect-url', { redirect_url: updatedRedirectUrl });\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n }\n } else {\n if (\n (subscription_url && subscription_url != null) ||\n window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.msisdn\n ) {\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.NothingYet()\n };\n }\n if (redirect_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url });\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: redirect_url\n })\n };\n }\n\n tracker.advancedInFlow('tallyman.v1-one-click', 'get-redirect-url');\n const { redirect_url: newRedirectUrl } = await getRedirectUrl({\n window,\n maybeConfig: config,\n extraParams: {\n ...(operator && { operator }),\n ...extraParams\n }\n });\n tracker.advancedInFlow('tallyman.v1-one-click', 'get-redirect-url-success');\n\n // add empellow token for specific country\n const updated_redirect_url = newRedirectUrl\n ? await addEmpelloToken({\n currentRedirectUrl: newRedirectUrl,\n country: config.country\n })\n : null;\n\n if (updated_redirect_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { updated_redirect_url });\n\n if (autoRedirect === true || (window.isAutoFraudScreener === true && updated_redirect_url)) {\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-redirect-url', { updated_redirect_url });\n\n setTimeout(() => {\n // eslint-disable-next-line camelcase\n window.location.href = updated_redirect_url;\n }, 0);\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updated_redirect_url\n })\n };\n }\n } else {\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n\n return rejectWithValue({\n errorType: 'UnknownError',\n message: 'Could not get rediredt url',\n error: 'Could not get rediredt url'\n });\n }\n }\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n return rejectWithValue({\n errorType: 'UnknownError',\n message: ex.message,\n error: ex.toString()\n });\n }\n }\n);\n\n/**\n * subscribeUrlAction\n * @returns {type: ' 'oneClickFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls oneclick subscripe api to subscribe the user\n * Returns a product url\n */\ninterface OneClickSubscribeArgs {\n window: Window;\n autoRedirect?: boolean;\n extraParams?: IHash;\n}\nexport const subscribeUrlAction = createAsyncThunk<\n AJAXSUBSCRIBEState,\n OneClickSubscribeArgs,\n {\n rejectValue: SubscribeFailure;\n }\n>('oneClickFlow/subscribeUrlAction', async ({ window, autoRedirect, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { subscription_url, config } = state.strategy.currentState.data;\n try {\n // Start Call to Subscribe ajax\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe');\n const product_url = await subscribe(subscription_url, config, extraParams);\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe-success', { product_url });\n // End Call to Subscribe ajax\n\n if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'click-product-url', { product_url });\n window.location.href = product_url;\n }\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Success({\n productUrl: product_url\n })\n };\n } catch (ex) {\n console.warn(ex);\n\n tracker.recedeInFlow('tallyman.v1-one-click', 'click-subscribe-failure', { error: ex.toString() });\n\n return rejectWithValue({\n errorType: 'UnknownError',\n error: ex.toString(),\n productUrl: ex.productUrl,\n message: ex.message || ''\n });\n }\n});\n\nconst oneClickFlowSlice = createSlice({\n name: 'oneClickFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(getRedirectUrlAction.pending, (state) => {\n state.currentState = { type: 'GET_REDIRECT_URL', result: RDS.Loading() };\n })\n .addCase(getRedirectUrlAction.fulfilled, (state, action: PayloadAction<GETREDIRECTUrlState>) => {\n state.currentState = action.payload;\n })\n .addCase(getRedirectUrlAction.rejected, (state, action: PayloadAction<IGETREDIRECTURLFailure>) => {\n state.currentState = {\n type: 'GET_REDIRECT_URL',\n result: RDS.Failure(action.payload)\n };\n })\n .addCase(subscribeUrlAction.pending, (state) => {\n state.currentState = { type: 'SUBCRIBE_AJAX', result: RDS.Loading() };\n })\n .addCase(subscribeUrlAction.fulfilled, (state, action: PayloadAction<AJAXSUBSCRIBEState>) => {\n state.currentState = action.payload;\n })\n .addCase(subscribeUrlAction.rejected, (state, action: PayloadAction<SubscribeFailure>) => {\n state.currentState = {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: oneClickFlowReducer, actions: oneClickFlowActions } = oneClickFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectOneClickFlowState = (state: any) => state.oneClickFlow;\n"],"names":["useOneClickFlowState","useSelector","state","oneClickFlow","currentState","oneClickFlowMatch","_a","getRedirectUrl","subscribe","type","result","addEmpelloToken","currentRedirectUrl","country","toLowerCase","Promise","resolve","checkEmpelloAvailability","setInterval","window","Empello","clearInterval","_b","sent","getToken","empelloToken","token","updateUrlParameter","oneClickSubscribeByUrlFromParams","extraParams","search","url","cleanSearchParams","evinaTid","tid","isCleanTraffic","shouldBlock","extraParamsQs","Object","entries","map","__read","key","value","concat","encodeURIComponent","join","baseURL","params","sam_evina_tid","antifraud_id","antifraud_id_js_code","antifraud_id_js_link","fromEntries","URLSearchParams","queryParams","toString","resultUrl","fetch","json","console","error","error_1","oneClickSubscribe","slug","device","offer","msisdn","operator","rockmanId","keys","k","filter","Boolean","action","offerId","rockman_id","page","location","href","language_code","languageCode","partner_transaction_id","partner_timestamp","partner_cid","zain_antifraud_id","korek_antifraud_id","queryString","host","DEV_BASE_URL","then","x","fetchJsonp","_url","ouisys_callback_function","Math","floor","random","reject","arg","indexOf","script","document","createElement","src","id","body","appendChild","onerror","Error","maybeConfig","apiAction","pac_analytics","visitor","s","substr","search_1","length","v","forEach","element","index","paramName","paramValue","pattern","RegExp","replace","newUrl","replaceUrlParam","bupperizeCountry","result_1","_h","success","identifyError","message","subscription_url","redirect_url","loadScriptInnerHtml","source","redirectUrlWithReplacedUniqid","searchObj","searchToObject","__assign","_c","_e","_d","ip","ip_address","_g","_f","__awaiter","_k","config","newExtraParams","heMsisdnDecryptedByApiResult","validateMsisdn","_j","subscribeError","productUrl","product_url","getRedirectUrlBupperWay","xcid","split","baseHostBupper","bupperRedirectHost","atob","DEV_BASE_URL_BUPPER","mockedRedirectUrlSuccessState","RDS.Success","redirectUrl","mockedSubscribeAjaxState","RDS.NothingYet","defaultInitialState","initialState","setInitialState","getRedirectUrlAction","createAsyncThunk","isGetRedirectBupperWay","autoRedirect","getState","dispatch","rejectWithValue","strategy","data","errorType","defaultConfig","defaultFlowType","_l","updatedRedirectUrl_1","tracker","customEvent","isAutoFraudScreener","advancedInFlow","setTimeout","timer_1","isEvinaSessionChecked","newRedirectUrl","updated_redirect_url_1","recedeInFlow","setStrategyExtraData","flowMapping","flowConfig","updated_redirect_url","warn","ex_1","subscribeUrlAction","ex_2","oneClickFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","RDS.Failure","oneClickFlowReducer","reducer","actions"],"mappings":"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"}
1
+ {"version":3,"file":"oneClickFlow.js","sources":["../src/flows/oneClickFlow/hooks/useOneClickFlowState.ts","../src/flows/oneClickFlow/match.ts","../src/utilities/addEmpelloToken.ts","../src/utilities/replaceUrlParam.ts","../src/flows/oneClickFlow/api.ts","../src/flows/oneClickFlow/main.ts","../src/flows/oneClickFlow/oneClickFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useOneClickFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.oneClickFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IGETREDIRECTURLFailure,\n IGETREDIRECTURLSuccess,\n OneClickFlowCurrentState,\n SubscribeFailure,\n SubscribeSuccess\n} from '../../sharedFlowTypes/OneClickTypes';\n\nfunction oneClickFlowMatch<R>({\n getRedirectUrl,\n subscribe\n}: {\n getRedirectUrl: (rds: RDS.RemoteDataState<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>) => R;\n subscribe?: (rds: RDS.RemoteDataState<SubscribeFailure, SubscribeSuccess>) => R;\n}): (state: OneClickFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'GET_REDIRECT_URL':\n return getRedirectUrl(state.result);\n case 'SUBCRIBE_AJAX':\n return subscribe(state.result);\n default:\n // TODO - this should be an error or something\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return getRedirectUrl(state.result);\n }\n };\n}\n\nexport { oneClickFlowMatch };\n","import { updateUrlParameter } from '../pacman/queryString';\n\nexport async function addEmpelloToken({\n currentRedirectUrl,\n country\n}: {\n currentRedirectUrl: string;\n country: string;\n}) {\n if (country.toLowerCase() === 'pe') {\n // Empello script is added on server\n\n await new Promise<void>((resolve) => {\n // check if empello script is loaded and available\n const checkEmpelloAvailability = setInterval(() => {\n if (window.Empello) {\n clearInterval((checkEmpelloAvailability as unknown) as number);\n resolve();\n }\n }, 100);\n });\n if (typeof window !== 'undefined' && window.Empello) {\n // call getToken function from empello\n const token = await new Promise<string>((resolve) => {\n window.Empello?.getToken((empelloToken: string) => {\n resolve(empelloToken);\n });\n });\n\n const url = updateUrlParameter(currentRedirectUrl, 'empello_token', token);\n return url;\n }\n }\n\n return currentRedirectUrl;\n}\n","export const replaceUrlParam = (url: string, paramName: string, paramValue = '') => {\n const pattern = new RegExp(`\\\\b(${paramName}=).*?(&|#|$)`);\n if (url.search(pattern) >= 0) {\n return url.replace(pattern, `$1${paramValue}$2`);\n }\n const newUrl = url.replace(/[?#]$/, '');\n return `${newUrl + paramName}=${paramValue}&`;\n};\n","import { IHash } from '../../common-types/IHash';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const getRedirectAPI = () => {};\n\nconst getUrlWithParams = (baseURL: string, params: IHash) => {\n const queryParams = new URLSearchParams(params).toString();\n return `${baseURL}&${queryParams}`;\n};\n\nexport const oneClickSubscribeByUrlFromParams = async ({\n window,\n extraParams,\n search,\n url\n}: {\n window: Window;\n extraParams?: IHash;\n search: string;\n url: string;\n}) => {\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const evinaTid = window?.tid || '';\n const isCleanTraffic = window?.shouldBlock ? 'false' : 'true';\n\n const extraParamsQs = Object.entries(extraParams || {})\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n try {\n const resultUrl = getUrlWithParams(url, {\n sam_evina_tid: evinaTid,\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n 'is-clean-traffic': isCleanTraffic,\n ...Object.fromEntries(new URLSearchParams(extraParamsQs))\n });\n\n const response = await fetch(`${resultUrl}${search ? `&${search}` : ''}`);\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Error fetching subscription:', error);\n throw error; // Rethrow or handle error as needed\n }\n};\n\nexport const oneClickSubscribe = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams,\n search,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n operator: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n evinaTid?: string;\n}): Promise<any> => {\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'one-click-subscribe',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n operator,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n return fetch(url).then((x) => x.json());\n};\n","import { IError } from '../../common-types/IError';\nimport { IHash } from '../../common-types/IHash';\nimport { IIDentifyUserResult, ILinkExtraParams, ISubscribeResult } from '../../sharedFlowTypes/OneClickTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { replaceUrlParam } from '../../utilities/replaceUrlParam';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { oneClickSubscribe, oneClickSubscribeByUrlFromParams } from './api';\n\nexport const additionalQueryString = `msisdnSubmitted=Y&legalCheckbox=Y&incentivizedCheckbox=Y&op_confirmCheckbox=N`;\n\nconst fetchJsonp: <T>(_url: string) => Promise<T> = (_url: string) => {\n let url = _url;\n const ouisys_callback_function = `ouisys_callback_function${Math.floor(Math.random() * 10000)}`;\n return new Promise((resolve, reject) => {\n // @ts-ignore\n window[ouisys_callback_function] = (arg) => {\n resolve(arg);\n };\n\n url += url.indexOf('?') === -1 ? '?' : '&';\n url += `jsonp=${ouisys_callback_function}`;\n const script = document.createElement('script');\n script.src = url;\n script.id = ouisys_callback_function;\n document.body.appendChild(script);\n\n // Caught if got 404/500\n script.onerror = () => {\n reject(new Error(`JSONP request to ${_url} failed`));\n };\n });\n};\n\nexport const getRedirectUrl = async ({\n window,\n maybeConfig,\n extraParams\n}: {\n window: Window;\n maybeConfig: IConfig;\n extraParams?: ILinkExtraParams;\n}): Promise<{\n subscription_url?: string;\n redirect_url?: string;\n action?: () => Promise<string>;\n}> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-throw-literal, no-script-url\n throw \"javascript: console.error('SSR'); void 6\";\n } else {\n const { country, slug, queryString, apiAction } = maybeConfig;\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n let search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n Object.keys(extraParams).forEach((element, index) => {\n // Check if search already has query parameters\n if (search.length > 0) {\n // If there are existing parameters, add '&' before appending the new one\n search += '&';\n }\n search = `${replaceUrlParam(search, element, extraParams[element])}${index === 1 ? '&' : ''}`;\n });\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (apiAction === 'identify-user') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=identify-user&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetchJsonp<IIDentifyUserResult>(url);\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return {\n subscription_url: result.subscription_url || result.redirect_url,\n action: () => subscribe(result.subscription_url, maybeConfig)\n };\n }\n } else if (apiAction === 'he') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=he&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetch(url).then((x) => x.json());\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n loadScriptInnerHtml(result.source);\n return { redirect_url: result.redirectUrlWithReplacedUniqid };\n }\n } else {\n if (country.toLowerCase() === 'om') {\n const searchObj = searchToObject(window) as {\n redirect_url: string;\n url: string;\n msisdn: string;\n success: 'true' | 'false';\n };\n if (searchObj.success === 'false') {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: searchObj.redirect_url || searchObj.url };\n }\n }\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = new URLSearchParams({\n action: 'redirect',\n device: 'smart',\n slug,\n offerId: offer,\n country: bupperizeCountry(country),\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n ...(window?.location?.href && { page: encodeURIComponent(window?.location?.href) }),\n ...(window?.pac_analytics?.visitor?.ip && { ip_address: window?.pac_analytics?.visitor?.ip }),\n ...(window?.pac_analytics?.visitor?.ipRangeOperator && {\n ip_range_operator: window?.pac_analytics?.visitor?.ipRangeOperator\n })\n });\n\n const url = `${host}/tallyman/v1/?${params.toString()}${search ? `&${search}` : ''}`;\n const result = await fetch(url).then((x) => x.json());\n\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: result.redirect_url };\n }\n }\n }\n};\n\nexport const subscribe: (url: string, maybeConfig: IConfig, extraParams?: IHash) => Promise<string> = async (\n url: string,\n maybeConfig: IConfig,\n extraParams?: IHash\n) => {\n let result: ISubscribeResult = null;\n\n if (url && url !== '') {\n const { queryString } = maybeConfig;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n await oneClickSubscribeByUrlFromParams({\n window,\n extraParams,\n search,\n url\n });\n } else {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n const newExtraParams = extraParams || {};\n const isSkipValidation = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.validateMsisdn === false;\n // @ts-ignore\n if (isSkipValidation) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n const msisdn = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.msisdn;\n const operator = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.operator;\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n result = await oneClickSubscribe({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams: newExtraParams,\n search,\n evinaTid\n });\n }\n\n if (result.success === false) {\n const subscribeError = new Error(`Error in subscribe() one-click-subscribe action:\\n${result.message}`) as {\n productUrl: string;\n } & IError;\n subscribeError.type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'SubscriptionError';\n subscribeError.productUrl = result.product_url ? result.product_url : '';\n subscribeError.message = result.message;\n throw subscribeError;\n } else {\n return result.product_url || result.redirect_url;\n }\n};\n\nexport const getRedirectUrlBupperWay = async (\n window: Window,\n maybeConfig: IConfig,\n extraParams?: ILinkExtraParams\n): Promise<string> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-script-url\n return \"javascript: console.error('SSR'); void 6\";\n }\n const { country, slug, queryString } = maybeConfig;\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n\n // one click flow must use http not https\n const xcid = window.location.href.split('/')[3].split('?')[0];\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const baseHostBupper = window?.pac_analytics?.visitor?.bupperRedirectHost\n ? window.atob(window?.pac_analytics?.visitor?.bupperRedirectHost)\n : null;\n const host = baseHostBupper || (window as Window).DEV_BASE_URL_BUPPER || '';\n\n return `${host}/${bupperizeCountry(country)}/${slug}?offer=${offer}&atmobirun=1&rockman_id=${\n window.pac_analytics.visitor.rockmanId\n }&redirPixels=${window.location.host}&sam_evina_tid=${evinaTid}&x-xcid=${xcid}${extraParamsQs}&${search}`;\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n AJAXSUBSCRIBEState,\n GETREDIRECTUrlState,\n IGETREDIRECTURLFailure,\n OneClickFlowState,\n SubscribeFailure\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { addEmpelloToken } from '../../utilities/addEmpelloToken';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { flowMapping } from '../strategy/main';\nimport { setStrategyExtraData } from '../strategy/strategySlice';\nimport { getRedirectUrl, getRedirectUrlBupperWay, subscribe } from './main';\n\nexport const mockedRedirectUrlSuccessState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n // @ts-ignore\n result: RDS.Success<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>({ redirectUrl: '/product' })\n }\n};\n\nexport const mockedSubscribeAjaxState: OneClickFlowState = {\n currentState: {\n type: 'SUBCRIBE_AJAX',\n // @ts-ignore\n result: RDS.NothingYet()\n }\n};\n\nconst defaultInitialState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'redirect-url-success-state':\n return mockedRedirectUrlSuccessState;\n case 'subscribe-ajax-state':\n return mockedSubscribeAjaxState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface GetRedirectUrlArgs {\n window: Window;\n extraParams?: IHash;\n autoRedirect?: boolean;\n isGetRedirectBupperWay?: boolean;\n ignoreUrlParams?: boolean;\n}\n/**\n * getRedirectUrlAction\n * @returns {type: ' 'oneClickFlow/getRedirectUrlAction', payload: {type: PossibleTypes, result: GETREDIRECTUrlState}}\n \n * Calls redirect api to get a redirect url for the user to be redirected to\n * Can also create a bupper redirect url\n */\nexport const getRedirectUrlAction = createAsyncThunk<\n GETREDIRECTUrlState,\n GetRedirectUrlArgs,\n {\n rejectValue: IGETREDIRECTURLFailure;\n }\n>(\n 'oneClickFlow/getRedirectUrlAction',\n // @ts-ignore\n async ({ window, isGetRedirectBupperWay, extraParams, autoRedirect }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n return initialState.currentState;\n }\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n\n const {\n config,\n subscription_url,\n redirect_url,\n operator,\n strategy,\n defaultConfig,\n defaultFlowType\n } = state.strategy.currentState.data;\n try {\n if (isGetRedirectBupperWay === true) {\n const redirectUrl = await getRedirectUrlBupperWay(window, config, {\n ...(operator && { operator }),\n ...extraParams\n });\n\n // add empellow token for specific country\n const updatedRedirectUrl = await addEmpelloToken({\n currentRedirectUrl: redirectUrl,\n country: config.country\n });\n\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n if (window.isAutoFraudScreener === true) {\n // Wait for Evina to Check Fraud First\n const timer = setInterval(() => {\n if (window.isEvinaSessionChecked) {\n clearInterval(timer);\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-redirect-url', {\n redirect_url: updatedRedirectUrl\n });\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n }\n }, 100);\n } else if (autoRedirect === true) {\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-redirect-url', { redirect_url: updatedRedirectUrl });\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n }\n } else {\n if (\n (subscription_url && subscription_url != null) ||\n window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.msisdn\n ) {\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.NothingYet()\n };\n }\n if (redirect_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url });\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: redirect_url\n })\n };\n }\n\n tracker.advancedInFlow('tallyman.v1-one-click', 'get-redirect-url');\n const { redirect_url: newRedirectUrl } = await getRedirectUrl({\n window,\n maybeConfig: config,\n extraParams: {\n ...(operator && { operator }),\n ...extraParams\n }\n });\n tracker.advancedInFlow('tallyman.v1-one-click', 'get-redirect-url-success');\n\n // add empellow token for specific country\n const updated_redirect_url = newRedirectUrl\n ? await addEmpelloToken({\n currentRedirectUrl: newRedirectUrl,\n country: config.country\n })\n : null;\n\n if (updated_redirect_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { updated_redirect_url });\n\n if (autoRedirect === true || (window.isAutoFraudScreener === true && updated_redirect_url)) {\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-redirect-url', { updated_redirect_url });\n\n setTimeout(() => {\n // eslint-disable-next-line camelcase\n window.location.href = updated_redirect_url;\n }, 0);\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updated_redirect_url\n })\n };\n }\n } else {\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n\n return rejectWithValue({\n errorType: 'UnknownError',\n message: 'Could not get rediredt url',\n error: 'Could not get rediredt url'\n });\n }\n }\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n return rejectWithValue({\n errorType: 'UnknownError',\n message: ex.message,\n error: ex.toString()\n });\n }\n }\n);\n\n/**\n * subscribeUrlAction\n * @returns {type: ' 'oneClickFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls oneclick subscripe api to subscribe the user\n * Returns a product url\n */\ninterface OneClickSubscribeArgs {\n window: Window;\n autoRedirect?: boolean;\n extraParams?: IHash;\n}\nexport const subscribeUrlAction = createAsyncThunk<\n AJAXSUBSCRIBEState,\n OneClickSubscribeArgs,\n {\n rejectValue: SubscribeFailure;\n }\n>('oneClickFlow/subscribeUrlAction', async ({ window, autoRedirect, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { subscription_url, config } = state.strategy.currentState.data;\n try {\n // Start Call to Subscribe ajax\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe');\n const product_url = await subscribe(subscription_url, config, extraParams);\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe-success', { product_url });\n // End Call to Subscribe ajax\n\n if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'click-product-url', { product_url });\n window.location.href = product_url;\n }\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Success({\n productUrl: product_url\n })\n };\n } catch (ex) {\n console.warn(ex);\n\n tracker.recedeInFlow('tallyman.v1-one-click', 'click-subscribe-failure', { error: ex.toString() });\n\n return rejectWithValue({\n errorType: 'UnknownError',\n error: ex.toString(),\n productUrl: ex.productUrl,\n message: ex.message || ''\n });\n }\n});\n\nconst oneClickFlowSlice = createSlice({\n name: 'oneClickFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(getRedirectUrlAction.pending, (state) => {\n state.currentState = { type: 'GET_REDIRECT_URL', result: RDS.Loading() };\n })\n .addCase(getRedirectUrlAction.fulfilled, (state, action: PayloadAction<GETREDIRECTUrlState>) => {\n state.currentState = action.payload;\n })\n .addCase(getRedirectUrlAction.rejected, (state, action: PayloadAction<IGETREDIRECTURLFailure>) => {\n state.currentState = {\n type: 'GET_REDIRECT_URL',\n result: RDS.Failure(action.payload)\n };\n })\n .addCase(subscribeUrlAction.pending, (state) => {\n state.currentState = { type: 'SUBCRIBE_AJAX', result: RDS.Loading() };\n })\n .addCase(subscribeUrlAction.fulfilled, (state, action: PayloadAction<AJAXSUBSCRIBEState>) => {\n state.currentState = action.payload;\n })\n .addCase(subscribeUrlAction.rejected, (state, action: PayloadAction<SubscribeFailure>) => {\n state.currentState = {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: oneClickFlowReducer, actions: oneClickFlowActions } = oneClickFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectOneClickFlowState = (state: any) => state.oneClickFlow;\n"],"names":["useOneClickFlowState","useSelector","state","oneClickFlow","currentState","oneClickFlowMatch","_a","getRedirectUrl","subscribe","type","result","addEmpelloToken","currentRedirectUrl","country","toLowerCase","Promise","resolve","checkEmpelloAvailability","setInterval","window","Empello","clearInterval","_b","sent","getToken","empelloToken","token","updateUrlParameter","oneClickSubscribeByUrlFromParams","extraParams","search","url","cleanSearchParams","evinaTid","tid","isCleanTraffic","shouldBlock","extraParamsQs","Object","entries","map","__read","key","value","concat","encodeURIComponent","join","baseURL","params","sam_evina_tid","antifraud_id","antifraud_id_js_code","antifraud_id_js_link","fromEntries","URLSearchParams","queryParams","toString","resultUrl","fetch","json","console","error","error_1","oneClickSubscribe","slug","device","offer","msisdn","operator","rockmanId","keys","k","filter","Boolean","action","offerId","rockman_id","page","location","href","language_code","languageCode","partner_transaction_id","partner_timestamp","partner_cid","zain_antifraud_id","korek_antifraud_id","queryString","host","DEV_BASE_URL","then","x","fetchJsonp","_url","ouisys_callback_function","Math","floor","random","reject","arg","indexOf","script","document","createElement","src","id","body","appendChild","onerror","Error","maybeConfig","apiAction","pac_analytics","visitor","s","substr","search_1","length","v","forEach","element","index","paramName","paramValue","pattern","RegExp","replace","newUrl","replaceUrlParam","bupperizeCountry","result_1","_m","success","identifyError","message","subscription_url","redirect_url","loadScriptInnerHtml","source","redirectUrlWithReplacedUniqid","searchObj","searchToObject","__assign","_c","_e","_d","ip","ip_address","_g","_f","_h","_j","ipRangeOperator","ip_range_operator","_l","_k","__awaiter","config","newExtraParams","heMsisdnDecryptedByApiResult","validateMsisdn","subscribeError","productUrl","product_url","getRedirectUrlBupperWay","xcid","split","baseHostBupper","bupperRedirectHost","atob","DEV_BASE_URL_BUPPER","mockedRedirectUrlSuccessState","RDS.Success","redirectUrl","mockedSubscribeAjaxState","RDS.NothingYet","defaultInitialState","initialState","setInitialState","getRedirectUrlAction","createAsyncThunk","isGetRedirectBupperWay","autoRedirect","getState","dispatch","rejectWithValue","strategy","data","errorType","defaultConfig","defaultFlowType","updatedRedirectUrl_1","tracker","customEvent","isAutoFraudScreener","advancedInFlow","setTimeout","timer_1","isEvinaSessionChecked","newRedirectUrl","updated_redirect_url_1","recedeInFlow","setStrategyExtraData","flowMapping","flowConfig","updated_redirect_url","warn","ex_1","subscribeUrlAction","ex_2","oneClickFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","RDS.Failure","oneClickFlowReducer","reducer","actions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ouisys-engine",
3
- "version": "5.0.135",
3
+ "version": "5.0.136",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "directories": "dist dev-tools",