ouisys-engine 5.0.40 → 5.0.42

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 c,__assign as i}from"tslib";import{c as o}from"./checkSubscriptionByRockmanIdOnly-BwR1un1L.js";import{a as t}from"./helpers-xPhGBX-B.js";import{searchToObject as e}from"./searchToObject.js";import{t as n}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";function s(s){var a,u,l,d,p=s.window,m=s.flow,v=s.action,f=s.args;return r(this,void 0,void 0,(function(){var r,s,h,w,_,k,b;return c(this,(function(c){switch(c.label){case 0:return r=p.pac_analytics.visitor.rockmanId,s=e(p),(h="check-subscription-success-state"===s["current-state"])&&console.log("isMock is true"),[4,t((function(){return h?Promise.resolve({success:!0,rockman_id:r,product_url:"/product",msisdn:"000"}):o({window:p,rockmanId:r})}),60,(function(r){return r.success}),0)];case 1:if(!0===(w=c.sent()).success)return _=w.product_url,m&&v&&n.advancedInFlow(m,v,i(i({},f),{url:w.product_url})),(null===(u=null===(a=null==p?void 0:p.pac_analytics)||void 0===a?void 0:a.visitor)||void 0===u?void 0:u.chainRedirectUrl)?(k=null===(d=null===(l=null==p?void 0:p.pac_analytics)||void 0===l?void 0:l.visitor)||void 0===d?void 0:d.chainRedirectUrl,n.customEvent(m,"redirect","chain-redirect",{redirect_url:k}),p.location.replace(k)):_&&""!==_&&(n.customEvent(m,"redirect","product-redirect",{redirect_url:_}),p.location.replace(_)),[2,_||null];throw(b=new Error("".concat("SubscriptionFailed",":\n").concat(w.message))).type="SubscriptionFailed",b}}))}))}export{s as checkSubscriptionHander};
1
+ import{__awaiter as r,__generator as c,__assign as t}from"tslib";import{a as i}from"./helpers-xPhGBX-B.js";import{searchToObject as o}from"./searchToObject.js";import{t as n}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";function e(e){var s,a,u,l,d=e.window,v=e.flow,p=e.action,m=e.args;return r(this,void 0,void 0,(function(){var e,f,h,w,_,k,b,j;return c(this,(function(y){switch(y.label){case 0:return e=d.pac_analytics.visitor.rockmanId,f=o(d),(h="check-subscription-success-state"===f["current-state"])&&console.log("isMock is true"),w=function(){return h?Promise.resolve({success:!0,rockman_id:e,product_url:"/product",msisdn:"000"}):function(t){var i=t.window,o=t.rockmanId;return r(void 0,void 0,void 0,(function(){var r,t,n;return c(this,(function(c){switch(c.label){case 0:return r=i.DEV_BASE_URL||"",t=new URLSearchParams({action:"check-subscription",rockman_id:o}).toString(),n="".concat(r,"/tallyman/v1/?").concat(t),[4,fetch(n)];case 1:return[2,c.sent().json()]}}))}))}({window:d,rockmanId:e})},[4,i(w,60,(function(r){return r.success}),0)];case 1:if(!0===(_=y.sent()).success)return k=_.product_url,v&&p&&n.advancedInFlow(v,p,t(t({},m),{url:_.product_url})),(null===(a=null===(s=null==d?void 0:d.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===a?void 0:a.chainRedirectUrl)?(b=null===(l=null===(u=null==d?void 0:d.pac_analytics)||void 0===u?void 0:u.visitor)||void 0===l?void 0:l.chainRedirectUrl,n.customEvent(v,"redirect","chain-redirect",{redirect_url:b}),d.location.replace(b)):k&&""!==k&&(n.customEvent(v,"redirect","product-redirect",{redirect_url:k}),d.location.replace(k)),[2,k||null];throw(j=new Error("".concat("SubscriptionFailed",":\n").concat(_.message))).type="SubscriptionFailed",j}}))}))}export{e as checkSubscriptionHander};
2
2
  //# sourceMappingURL=checkSubscriptionHander.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkSubscriptionHander.js","sources":["../src/utilities/checkSubscriptionHander.ts"],"sourcesContent":["import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IError } from '../common-types/IError';\nimport { checkSubscriptionByRockmanIdOnly } from '../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IMockFlowParams } from '../sharedFlowTypes/StrategyTypes';\nimport { loop } from './helpers';\nimport { searchToObject } from './searchToObject';\nimport { tracker } from './tracker';\n\nexport async function checkSubscriptionHander({\n window,\n flow,\n action,\n args\n}: {\n window: Window;\n flow?: string;\n action?: string;\n args?: any;\n}): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const search = searchToObject(window) as IMockFlowParams<any>;\n const isMock = search['current-state'] === 'check-subscription-success-state';\n if (isMock) {\n // eslint-disable-next-line no-console\n console.log('isMock is true');\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n isMock\n ? Promise.resolve({\n success: true,\n rockman_id: rockmanId,\n product_url: '/product',\n msisdn: '000'\n })\n : checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true) {\n const productUrl = checkResult.product_url;\n if (flow && action) {\n tracker.advancedInFlow(flow, action, {\n ...args,\n url: checkResult.product_url\n });\n }\n if (window?.pac_analytics?.visitor?.chainRedirectUrl) {\n const chainLink = window?.pac_analytics?.visitor?.chainRedirectUrl;\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: chainLink });\n window.location.replace(chainLink);\n } else if (productUrl && productUrl !== '') {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }\n\n return productUrl || null;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n"],"names":["checkSubscriptionHander","_a","window","flow","action","args","rockmanId","pac_analytics","visitor","search","searchToObject","isMock","console","log","loop","Promise","resolve","success","rockman_id","product_url","msisdn","checkSubscriptionByRockmanIdOnly","r","checkResult","_f","sent","productUrl","tracker","advancedInFlow","__assign","url","_c","_b","chainRedirectUrl","chainLink","_e","_d","customEvent","redirect_url","location","replace","error","Error","concat","message","type"],"mappings":"gTAQM,SAAgBA,EAAwBC,eAC5CC,EAAMD,EAAAC,OACNC,EAAIF,EAAAE,KACJC,EAAMH,EAAAG,OACNC,EAAIJ,EAAAI,iHAuB0C,OAhBtCC,EAAcJ,EAAOK,cAAcC,kBACrCC,EAASC,EAAeR,IACxBS,EAAqC,qCAA5BF,EAAO,mBAGpBG,QAAQC,IAAI,kBAWgC,CAAA,EAAMC,GATG,WACrD,OAAAH,EACII,QAAQC,QAAQ,CACdC,SAAS,EACTC,WAAYZ,EACZa,YAAa,WACbC,OAAQ,QAEVC,EAAiC,CAAEnB,SAAQI,UAASA,GAPxD,GAQ8D,IAAI,SAACgB,GAAM,OAAAA,EAAEL,UAAS,WAEtF,IAA4B,KAFtBM,EAAwCC,EAA0CC,QAExER,QAiBd,OAhBMS,EAAaH,EAAYJ,YAC3BhB,GAAQC,GACVuB,EAAQC,eAAezB,EAAMC,EAAMyB,EAAAA,EAAA,CAAA,EAC9BxB,GAAI,CACPyB,IAAKP,EAAYJ,gBAGa,QAA9BY,EAAqB,QAArBC,EAAA9B,aAAM,EAANA,EAAQK,qBAAa,IAAAyB,OAAA,EAAAA,EAAExB,eAAO,IAAAuB,OAAA,EAAAA,EAAEE,mBAC5BC,EAA0C,QAA9BC,EAAqB,QAArBC,EAAAlC,aAAM,EAANA,EAAQK,qBAAa,IAAA6B,OAAA,EAAAA,EAAE5B,eAAO,IAAA2B,OAAA,EAAAA,EAAEF,iBAClDN,EAAQU,YAAYlC,EAAM,WAAY,iBAAkB,CAAEmC,aAAcJ,IACxEhC,EAAOqC,SAASC,QAAQN,IACfR,GAA6B,KAAfA,IACvBC,EAAQU,YAAYlC,EAAM,WAAY,mBAAoB,CAAEmC,aAAcZ,IAC1ExB,EAAOqC,SAASC,QAAQd,IAGnB,CAAA,EAAAA,GAAc,MAIvB,MAFMe,EAAQ,IAAIC,MAAM,GAAGC,OAAA,qBAA0B,OAAAA,OAAApB,EAAYqB,WAC3DC,KAAO,qBACPJ,QACP"}
1
+ {"version":3,"file":"checkSubscriptionHander.js","sources":["../src/utilities/checkSubscriptionHander.ts","../src/sharedApi/checkSubscriptionByRockmanIdOnly.ts"],"sourcesContent":["import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IError } from '../common-types/IError';\nimport { checkSubscriptionByRockmanIdOnly } from '../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IMockFlowParams } from '../sharedFlowTypes/StrategyTypes';\nimport { loop } from './helpers';\nimport { searchToObject } from './searchToObject';\nimport { tracker } from './tracker';\n\nexport async function checkSubscriptionHander({\n window,\n flow,\n action,\n args\n}: {\n window: Window;\n flow?: string;\n action?: string;\n args?: any;\n}): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const search = searchToObject(window) as IMockFlowParams<any>;\n const isMock = search['current-state'] === 'check-subscription-success-state';\n if (isMock) {\n // eslint-disable-next-line no-console\n console.log('isMock is true');\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n isMock\n ? Promise.resolve({\n success: true,\n rockman_id: rockmanId,\n product_url: '/product',\n msisdn: '000'\n })\n : checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true) {\n const productUrl = checkResult.product_url;\n if (flow && action) {\n tracker.advancedInFlow(flow, action, {\n ...args,\n url: checkResult.product_url\n });\n }\n if (window?.pac_analytics?.visitor?.chainRedirectUrl) {\n const chainLink = window?.pac_analytics?.visitor?.chainRedirectUrl;\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: chainLink });\n window.location.replace(chainLink);\n } else if (productUrl && productUrl !== '') {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }\n\n return productUrl || null;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n","import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\n\nconst checkSubscriptionByRockmanIdOnly = async ({\n window,\n rockmanId\n}: {\n window: Window;\n rockmanId: string;\n}): Promise<ICheckSubscriptionResult> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = {\n action: 'check-subscription',\n rockman_id: rockmanId\n };\n\n const urlParams = new URLSearchParams(params).toString();\n const url = `${host}/tallyman/v1/?${urlParams}`;\n\n const response = await fetch(url);\n return response.json();\n};\n\nexport { checkSubscriptionByRockmanIdOnly };\n"],"names":["checkSubscriptionHander","_a","window","flow","action","args","rockmanId","pac_analytics","visitor","search","searchToObject","isMock","console","log","check","Promise","resolve","success","rockman_id","product_url","msisdn","host","DEV_BASE_URL","urlParams","URLSearchParams","toString","url","concat","fetch","_b","sent","json","checkSubscriptionByRockmanIdOnly","loop","r","checkResult","_f","productUrl","tracker","advancedInFlow","__assign","_c","chainRedirectUrl","chainLink","_e","_d","customEvent","redirect_url","location","replace","error","Error","message","type"],"mappings":"6OAQM,SAAgBA,EAAwBC,eAC5CC,EAAMD,EAAAC,OACNC,EAAIF,EAAAE,KACJC,EAAMH,EAAAG,OACNC,EAAIJ,EAAAI,mHAuB0C,OAhBtCC,EAAcJ,EAAOK,cAAcC,kBACrCC,EAASC,EAAeR,IACxBS,EAAqC,qCAA5BF,EAAO,mBAGpBG,QAAQC,IAAI,kBAERC,EAAiD,WACrD,OAAAH,EACII,QAAQC,QAAQ,CACdC,SAAS,EACTC,WAAYZ,EACZa,YAAa,WACbC,OAAQ,QC9BuB,SAAOnB,OAC9CC,EAAMD,EAAAC,OACNI,EAASL,EAAAK,gHAeQ,OAVXe,EAAQnB,EAAkBoB,cAAgB,GAO1CC,EAAY,IAAIC,gBALP,CACbpB,OAAQ,qBACRc,WAAYZ,IAGgCmB,WACxCC,EAAM,GAAGC,OAAAN,EAAqB,kBAAAM,OAAAJ,GAEnB,CAAA,EAAMK,MAAMF,WAC7B,MAAA,CAAA,EADiBG,EAAgBC,OACjBC,eDcVC,CAAiC,CAAE9B,SAAQI,UAASA,GAPxD,EAQ4C,CAAA,EAAM2B,EAAKnB,EAAO,IAAI,SAACoB,GAAM,OAAAA,EAAEjB,UAAS,WAEtF,IAA4B,KAFtBkB,EAAwCC,EAA0CN,QAExEb,QAiBd,OAhBMoB,EAAaF,EAAYhB,YAC3BhB,GAAQC,GACVkC,EAAQC,eAAepC,EAAMC,EAAMoC,EAAAA,EAAA,CAAA,EAC9BnC,GAAI,CACPqB,IAAKS,EAAYhB,gBAGa,QAA9BsB,EAAqB,QAArBZ,EAAA3B,aAAM,EAANA,EAAQK,qBAAa,IAAAsB,OAAA,EAAAA,EAAErB,eAAO,IAAAiC,OAAA,EAAAA,EAAEC,mBAC5BC,EAA0C,QAA9BC,EAAqB,QAArBC,EAAA3C,aAAM,EAANA,EAAQK,qBAAa,IAAAsC,OAAA,EAAAA,EAAErC,eAAO,IAAAoC,OAAA,EAAAA,EAAEF,iBAClDJ,EAAQQ,YAAY3C,EAAM,WAAY,iBAAkB,CAAE4C,aAAcJ,IACxEzC,EAAO8C,SAASC,QAAQN,IACfN,GAA6B,KAAfA,IACvBC,EAAQQ,YAAY3C,EAAM,WAAY,mBAAoB,CAAE4C,aAAcV,IAC1EnC,EAAO8C,SAASC,QAAQZ,IAGnB,CAAA,EAAAA,GAAc,MAIvB,MAFMa,EAAQ,IAAIC,MAAM,GAAGxB,OAAA,qBAA0B,OAAAA,OAAAQ,EAAYiB,WAC3DC,KAAO,qBACPH,QACP"}
@@ -1,2 +1,2 @@
1
- import{checkSubscriptionHander as r}from"./checkSubscriptionHander.js";import{isCsSafe as t}from"./isCsSafe.js";import{t as i}from"./tracker-DaaILhEr.js";import"tslib";import"./checkSubscriptionByRockmanIdOnly-BwR1un1L.js";import"./helpers-xPhGBX-B.js";import"./searchToObject.js";import"./bupperizeCountry-CEtt0MKz.js";import"pacman-client";import"uuid";var c=function(c){var o=c.window,e=c.trackState,n=c.msisdn;if(void 0!==o){var a=o.pac_analytics.visitor.chainRedirectUrl||null;r({window:o}).then((function(r){a?t({window:o,command:"cs",msisdn:n}).then((function(r){r&&(i.customEvent(e,"redirect","chain-redirect",{redirect_url:a}),o.location.replace(a))})):(i.customEvent(e,"redirect","product-redirect",{redirect_url:r}),o.location.replace(r))})).catch((function(r){throw r}))}};export{c as handleClickChainFlow};
1
+ import{checkSubscriptionHander as r}from"./checkSubscriptionHander.js";import{isCsSafe as t}from"./isCsSafe.js";import{t as i}from"./tracker-DaaILhEr.js";import"tslib";import"./helpers-xPhGBX-B.js";import"./searchToObject.js";import"./bupperizeCountry-CEtt0MKz.js";import"pacman-client";import"uuid";var c=function(c){var e=c.window,o=c.trackState,n=c.msisdn;if(void 0!==e){var a=e.pac_analytics.visitor.chainRedirectUrl||null;r({window:e}).then((function(r){a?t({window:e,command:"cs",msisdn:n}).then((function(r){r&&(i.customEvent(o,"redirect","chain-redirect",{redirect_url:a}),e.location.replace(a))})):(i.customEvent(o,"redirect","product-redirect",{redirect_url:r}),e.location.replace(r))})).catch((function(r){throw r}))}};export{c as handleClickChainFlow};
2
2
  //# sourceMappingURL=handleClickChainFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleClickChainFlow.js","sources":["../src/utilities/handleClickChainFlow.ts"],"sourcesContent":["import { checkSubscriptionHander } from './checkSubscriptionHander';\nimport { isCsSafe } from './isCsSafe';\nimport { tracker } from './tracker';\n\nexport const handleClickChainFlow = ({\n window,\n trackState,\n msisdn\n}: {\n window: Window;\n trackState: string;\n msisdn?: string;\n}) => {\n if (typeof window !== 'undefined') {\n const chainRedirectUrl = window.pac_analytics.visitor.chainRedirectUrl || null;\n checkSubscriptionHander({ window })\n .then((productUrl) => {\n if (chainRedirectUrl) {\n isCsSafe({\n window,\n command: 'cs',\n msisdn\n }).then((isSafe) => {\n if (isSafe) {\n tracker.customEvent(trackState, 'redirect', 'chain-redirect', { redirect_url: chainRedirectUrl });\n window.location.replace(chainRedirectUrl);\n }\n });\n } else {\n tracker.customEvent(trackState, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }\n })\n .catch((err) => {\n throw err;\n });\n }\n};\n"],"names":["handleClickChainFlow","_a","window","trackState","msisdn","chainRedirectUrl_1","pac_analytics","visitor","chainRedirectUrl","checkSubscriptionHander","then","productUrl","isCsSafe","command","isSafe","tracker","customEvent","redirect_url","location","replace","catch","err"],"mappings":"mWAIO,IAAMA,EAAuB,SAACC,GACnC,IAAAC,WACAC,EAAUF,EAAAE,WACVC,EAAMH,EAAAG,OAMN,QAAsB,IAAXF,EAAwB,CACjC,IAAMG,EAAmBH,EAAOI,cAAcC,QAAQC,kBAAoB,KAC1EC,EAAwB,CAAEP,OAAMA,IAC7BQ,MAAK,SAACC,GACDN,EACFO,EAAS,CACPV,OAAMA,EACNW,QAAS,KACTT,OAAMA,IACLM,MAAK,SAACI,GACHA,IACFC,EAAQC,YAAYb,EAAY,WAAY,iBAAkB,CAAEc,aAAcZ,IAC9EH,EAAOgB,SAASC,QAAQd,GAE5B,KAEAU,EAAQC,YAAYb,EAAY,WAAY,mBAAoB,CAAEc,aAAcN,IAChFT,EAAOgB,SAASC,QAAQR,GAE5B,IACCS,OAAM,SAACC,GACN,MAAMA,CACR,GACH,CACH"}
1
+ {"version":3,"file":"handleClickChainFlow.js","sources":["../src/utilities/handleClickChainFlow.ts"],"sourcesContent":["import { checkSubscriptionHander } from './checkSubscriptionHander';\nimport { isCsSafe } from './isCsSafe';\nimport { tracker } from './tracker';\n\nexport const handleClickChainFlow = ({\n window,\n trackState,\n msisdn\n}: {\n window: Window;\n trackState: string;\n msisdn?: string;\n}) => {\n if (typeof window !== 'undefined') {\n const chainRedirectUrl = window.pac_analytics.visitor.chainRedirectUrl || null;\n checkSubscriptionHander({ window })\n .then((productUrl) => {\n if (chainRedirectUrl) {\n isCsSafe({\n window,\n command: 'cs',\n msisdn\n }).then((isSafe) => {\n if (isSafe) {\n tracker.customEvent(trackState, 'redirect', 'chain-redirect', { redirect_url: chainRedirectUrl });\n window.location.replace(chainRedirectUrl);\n }\n });\n } else {\n tracker.customEvent(trackState, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }\n })\n .catch((err) => {\n throw err;\n });\n }\n};\n"],"names":["handleClickChainFlow","_a","window","trackState","msisdn","chainRedirectUrl_1","pac_analytics","visitor","chainRedirectUrl","checkSubscriptionHander","then","productUrl","isCsSafe","command","isSafe","tracker","customEvent","redirect_url","location","replace","catch","err"],"mappings":"4SAIO,IAAMA,EAAuB,SAACC,GACnC,IAAAC,WACAC,EAAUF,EAAAE,WACVC,EAAMH,EAAAG,OAMN,QAAsB,IAAXF,EAAwB,CACjC,IAAMG,EAAmBH,EAAOI,cAAcC,QAAQC,kBAAoB,KAC1EC,EAAwB,CAAEP,OAAMA,IAC7BQ,MAAK,SAACC,GACDN,EACFO,EAAS,CACPV,OAAMA,EACNW,QAAS,KACTT,OAAMA,IACLM,MAAK,SAACI,GACHA,IACFC,EAAQC,YAAYb,EAAY,WAAY,iBAAkB,CAAEc,aAAcZ,IAC9EH,EAAOgB,SAASC,QAAQd,GAE5B,KAEAU,EAAQC,YAAYb,EAAY,WAAY,mBAAoB,CAAEc,aAAcN,IAChFT,EAAOgB,SAASC,QAAQR,GAE5B,IACCS,OAAM,SAACC,GACN,MAAMA,CACR,GACH,CACH"}
package/dist/moFlow.js CHANGED
@@ -1,2 +1,2 @@
1
- import{__awaiter as t,__generator as r,__read as e,__assign as n}from"tslib";import{createAsyncThunk as o,createSlice as a}from"@reduxjs/toolkit";import{S as c,N as s,L as i,F as u}from"./RemoteDataState-lcf8PfJd.js";import{searchToObject as d}from"./searchToObject.js";import{s as l}from"./storeMsisdn-Cjq8_qYH.js";import{t as m}from"./tracker-DaaILhEr.js";import{c as f}from"./checkSubscriptionByRockmanIdOnly-BwR1un1L.js";import{a as v}from"./helpers-xPhGBX-B.js";import"pacman-client";import"uuid";var p=function(t){return t((function(t){return t.moFlow.currentState}))};function y(t){var r=t.msisdnEntry;return function(t){return t.type,r(t.result)}}var S=function(n){var o=n.window,a=n.slug,c=n.country,s=n.msisdn,i=n.device,u=n.offer,d=n.rockmanId,l=n.extraParamsQs;return t(void 0,void 0,void 0,(function(){var t,n,m,f,v,p,y;return r(this,(function(r){switch(r.label){case 0:return o.api_ajax_url?[4,fetch(o.api_ajax_url).then((function(t){return t.json()}))]:[3,2];case 1:return n=r.sent(),[3,3];case 2:n=null,r.label=3;case 3:return t=n,m={action:"trigger-message",slug:a,country:c,msisdn:s,device:i,offerId:u,rockman_id:d,page:encodeURIComponent(null===(y=null==o?void 0:o.location)||void 0===y?void 0:y.href),sam_g_token:o.reCaptchaToken||"",antifraud_id:o.antifraud_id||"",language_code:o.languageCode||"",partner_form_action:(null==t?void 0:t.form_action)?encodeURIComponent(null==t?void 0:t.form_action):""},f=Object.entries(m).filter((function(t){var r=e(t,2);return r[0],r[1]})).map((function(t){var r=e(t,2),n=r[0],o=r[1];return"".concat(n,"=").concat(o)})).join("&"),v=o.DEV_BASE_URL||"",p="".concat(v,"/tallyman/v1/?").concat(f,"&").concat(l),[2,fetch(p).then((function(t){return t.json()}))]}}))}))};function w(e,o,a,c){var s,i;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){return t=n(n({},o||{}),{offer:null===(i=null===(s=e.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===i?void 0:i.offer}),[2,h(e,t,a,c)]}))}))}function h(e,o,a,c){var s;return t(this,void 0,void 0,(function(){var t,i,u,d,l,m,f,v,p,y,w;return r(this,(function(r){switch(r.label){case 0:return t=o.slug,i=o.country,u=o.device,d=o.offer,l=e.location.search.substr(1)||"",m=c?"&".concat(Object.keys(c).map((function(t){return"".concat(t,"=").concat(c[t])})).join("&")):"",f=(null===(s=a.match(/\d+/gi))||void 0===s?void 0:s.join(""))||"",v=e.pac_analytics.visitor.rockmanId,[4,S({window:e,slug:t,country:i,msisdn:f,device:u,offer:d,rockmanId:v,search:l,extraParamsQs:m})];case 1:if(!1===(p=r.sent()).success)throw y="ALREADY SUBSCRIBED"===p.message?"AlreadySubscribed":"InvalidMSISDN",(w=new Error("".concat(y,":\n").concat(p.message))).type=y,w.productUrl=p.product_url?p.product_url:"",console.error(w),w;return[2,n(n({},p),{keyword:p.displayKeyword})]}}))}))}var b={currentState:{type:"MSISDNEntry",result:c({keyword:"TEST OK",shortcode:"777"})}},I={currentState:{type:"MSISDNEntry",result:u({errorType:"InvalidMSISDN",error:"Invalid Mobile Number"})}},_={currentState:{type:"MSISDNEntry",result:s()}},g=function(t){var r=d(t);if(!r["mock-flow"])return _;switch(r["current-state"]){case"msisdn-entry-failure-state":return I;case"msisdn-entry-success-state":return b;default:return console.error("Mock Flow not supported"),_}}(window),k=o("moFlow/submitMSISDNAction",(function(e,o){var a=e.window,s=e.msisdn,i=e.extraParams,u=o.getState,d=o.rejectWithValue;return t(void 0,void 0,void 0,(function(){var e,o,p,y,S,h,b,I;return r(this,(function(_){switch(_.label){case 0:if(e=u(),!(null===(I=null===(b=null===(h=null==e?void 0:e.strategy)||void 0===h?void 0:h.currentState)||void 0===b?void 0:b.data)||void 0===I?void 0:I.config))return[2,d({errorType:"UnexpectedState"})];o=e.strategy.currentState.data.config,_.label=1;case 1:return _.trys.push([1,5,,6]),m.advancedInFlow("tallyman.v1-mo","msisdn-submitted",{msisdn:s}),[4,w(a,o,s,i)];case 2:return p=_.sent(),m.advancedInFlow("tallyman.v1-mo","msisdn-submission-success",{msisdn:s}),i&&i.storeMsisdn&&"true"===i.storeMsisdn?[4,l(s).then((function(t){t&&t.data&&t.data.success?m.customEvent("Flow","advance-auto","msisdn-stored-success"):m.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(t){m.customEvent("Flow","advance-auto","msisdn-stored-error",t)}))]:[3,4];case 3:_.sent(),_.label=4;case 4:return function(e){return t(this,void 0,void 0,(function(){var t,n,o;return r(this,(function(r){switch(r.label){case 0:return t=e.pac_analytics.visitor.rockmanId,[4,v((function(){return f({window:e,rockmanId:t})}),60,(function(t){return t.success}),0)];case 1:if(!0===(n=r.sent()).success&&n.product_url&&""!==n.product_url)return e.location.href=n.product_url,[2,n.product_url];throw(o=new Error("".concat("SubscriptionFailed",":\n").concat(n.message))).type="SubscriptionFailed",o}}))}))}(a).then((function(t){m.advancedInFlow("tallyman.v1-mo","sale",{msisdn:s}),setTimeout((function(){a.location.href=t}),1e3)})),[2,{type:"MSISDNEntry",result:c(n({},p))}];case 5:switch(y=_.sent(),console.warn(y),S=void 0,y.type){case"AlreadySubscribed":S="AlreadySubscribed";break;case"InvalidMSISDN":S="InvalidMSISDN";break;default:S="UnknownError"}return m.recedeInFlow("tallyman.v1-mo","msisdn-submission-failure",{msisdn:s,errorType:S||"UnknownError"}),[2,d({errorType:S,productUrl:y.productUrl})];case 6:return[2]}}))}))})),E=a({name:"moFlow",initialState:g,reducers:{backToStartAction:function(t){m.recedeInFlow("tallyman.v1-mo","mo-state","requested to change phone number"),t.currentState={type:"MSISDNEntry",result:s()}}},extraReducers:function(t){t.addCase(k.pending,(function(t){t.currentState={type:"MSISDNEntry",result:i()}})).addCase(k.fulfilled,(function(t,r){t.currentState=r.payload})).addCase(k.rejected,(function(t,r){t.currentState={type:"MSISDNEntry",result:u(r.payload)}}))}}),j=E.reducer,M=E.actions.backToStartAction;export{M as backToStartAction,y as moFlowMatch,j as moFlowReducer,k as submitMSISDNAction,p as useMoFlowState};
1
+ import{__awaiter as t,__generator as e,__read as r,__assign as n}from"tslib";import{createAsyncThunk as o,createSlice as a}from"@reduxjs/toolkit";import{S as s,N as c,L as i,F as u}from"./RemoteDataState-lcf8PfJd.js";import{searchToObject as d}from"./searchToObject.js";import{s as l}from"./storeMsisdn-Cjq8_qYH.js";import{t as m}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var f=function(t){return t((function(t){return t.moFlow.currentState}))};function v(t){var e=t.msisdnEntry;return function(t){return t.type,e(t.result)}}var p=function(n){var o=n.window,a=n.slug,s=n.country,c=n.msisdn,i=n.device,u=n.offer,d=n.rockmanId,l=n.extraParamsQs;return t(void 0,void 0,void 0,(function(){var t,n,m,f,v,p,y;return e(this,(function(e){switch(e.label){case 0:return o.api_ajax_url?[4,fetch(o.api_ajax_url).then((function(t){return t.json()}))]:[3,2];case 1:return n=e.sent(),[3,3];case 2:n=null,e.label=3;case 3:return t=n,m={action:"trigger-message",slug:a,country:s,msisdn:c,device:i,offerId:u,rockman_id:d,page:encodeURIComponent(null===(y=null==o?void 0:o.location)||void 0===y?void 0:y.href),sam_g_token:o.reCaptchaToken||"",antifraud_id:o.antifraud_id||"",language_code:o.languageCode||"",partner_form_action:(null==t?void 0:t.form_action)?encodeURIComponent(null==t?void 0:t.form_action):""},f=Object.entries(m).filter((function(t){var e=r(t,2);return e[0],e[1]})).map((function(t){var e=r(t,2),n=e[0],o=e[1];return"".concat(n,"=").concat(o)})).join("&"),v=o.DEV_BASE_URL||"",p="".concat(v,"/tallyman/v1/?").concat(f,"&").concat(l),[2,fetch(p).then((function(t){return t.json()}))]}}))}))};function y(r,o,a,s){var c,i;return t(this,void 0,void 0,(function(){var t;return e(this,(function(e){return t=n(n({},o||{}),{offer:null===(i=null===(c=r.pac_analytics)||void 0===c?void 0:c.visitor)||void 0===i?void 0:i.offer}),[2,S(r,t,a,s)]}))}))}function S(r,o,a,s){var c;return t(this,void 0,void 0,(function(){var t,i,u,d,l,m,f,v,y,S,w;return e(this,(function(e){switch(e.label){case 0:return t=o.slug,i=o.country,u=o.device,d=o.offer,l=r.location.search.substr(1)||"",m=s?"&".concat(Object.keys(s).map((function(t){return"".concat(t,"=").concat(s[t])})).join("&")):"",f=(null===(c=a.match(/\d+/gi))||void 0===c?void 0:c.join(""))||"",v=r.pac_analytics.visitor.rockmanId,[4,p({window:r,slug:t,country:i,msisdn:f,device:u,offer:d,rockmanId:v,search:l,extraParamsQs:m})];case 1:if(!1===(y=e.sent()).success)throw S="ALREADY SUBSCRIBED"===y.message?"AlreadySubscribed":"InvalidMSISDN",(w=new Error("".concat(S,":\n").concat(y.message))).type=S,w.productUrl=y.product_url?y.product_url:"",console.error(w),w;return[2,n(n({},y),{keyword:y.displayKeyword})]}}))}))}var w={currentState:{type:"MSISDNEntry",result:s({keyword:"TEST OK",shortcode:"777"})}},h={currentState:{type:"MSISDNEntry",result:u({errorType:"InvalidMSISDN",error:"Invalid Mobile Number"})}},b={currentState:{type:"MSISDNEntry",result:c()}},I=function(t){var e=d(t);if(!e["mock-flow"])return b;switch(e["current-state"]){case"msisdn-entry-failure-state":return h;case"msisdn-entry-success-state":return w;default:return console.error("Mock Flow not supported"),b}}(window),g=o("moFlow/submitMSISDNAction",(function(r,o){var a=r.window,c=r.msisdn,i=r.extraParams,u=o.getState,d=o.rejectWithValue;return t(void 0,void 0,void 0,(function(){var t,r,o,f,v,p,S,w;return e(this,(function(e){switch(e.label){case 0:if(t=u(),!(null===(w=null===(S=null===(p=null==t?void 0:t.strategy)||void 0===p?void 0:p.currentState)||void 0===S?void 0:S.data)||void 0===w?void 0:w.config))return[2,d({errorType:"UnexpectedState"})];r=t.strategy.currentState.data.config,e.label=1;case 1:return e.trys.push([1,5,,6]),m.advancedInFlow("tallyman.v1-mo","msisdn-submitted",{msisdn:c}),[4,y(a,r,c,i)];case 2:return o=e.sent(),m.advancedInFlow("tallyman.v1-mo","msisdn-submission-success",{msisdn:c}),i&&i.storeMsisdn&&"true"===i.storeMsisdn?[4,l(c).then((function(t){t&&t.data&&t.data.success?m.customEvent("Flow","advance-auto","msisdn-stored-success"):m.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(t){m.customEvent("Flow","advance-auto","msisdn-stored-error",t)}))]:[3,4];case 3:e.sent(),e.label=4;case 4:return[2,{type:"MSISDNEntry",result:s(n({},o))}];case 5:switch(f=e.sent(),console.warn(f),v=void 0,f.type){case"AlreadySubscribed":v="AlreadySubscribed";break;case"InvalidMSISDN":v="InvalidMSISDN";break;default:v="UnknownError"}return m.recedeInFlow("tallyman.v1-mo","msisdn-submission-failure",{msisdn:c,errorType:v||"UnknownError"}),[2,d({errorType:v,productUrl:f.productUrl})];case 6:return[2]}}))}))})),_=a({name:"moFlow",initialState:I,reducers:{backToStartAction:function(t){m.recedeInFlow("tallyman.v1-mo","mo-state","requested to change phone number"),t.currentState={type:"MSISDNEntry",result:c()}}},extraReducers:function(t){t.addCase(g.pending,(function(t){t.currentState={type:"MSISDNEntry",result:i()}})).addCase(g.fulfilled,(function(t,e){t.currentState=e.payload})).addCase(g.rejected,(function(t,e){t.currentState={type:"MSISDNEntry",result:u(e.payload)}}))}}),k=_.reducer,E=_.actions.backToStartAction;export{E as backToStartAction,v as moFlowMatch,k as moFlowReducer,g as submitMSISDNAction,f as useMoFlowState};
2
2
  //# sourceMappingURL=moFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"moFlow.js","sources":["../src/flows/moFlow/hooks/useMoFlowState.ts","../src/flows/moFlow/match.ts","../src/flows/moFlow/api.ts","../src/flows/moFlow/main.ts","../src/flows/moFlow/moFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useMoFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.moFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MoFlowCurrentState, MSISDNEntryFailure, MSISDNEntrySuccess } from '../../sharedFlowTypes/MoTypes';\n\nfunction moFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: MoFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { moFlowMatch };\n","import { IGoogleReCaptcha, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\n\nconst getGoogleCaptcha = async (\n window: Window,\n country: string,\n slug: string,\n device: string,\n domain: string\n): Promise<IGoogleReCaptcha> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n return fetch(\n `${host}/tallyman/helper/?action=google-captcha-v3-config&country=${country}&slug=${slug}&device=${device}&domain=${domain}`\n ).then((x) => x.json());\n};\n\nconst triggerMessage = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n extraParamsQs\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn: string;\n device: string;\n offer: string;\n rockmanId: string;\n search: string;\n extraParamsQs: string;\n}): Promise<IMSISDNSubmissionResult> => {\n // introduced https://www.notion.so/sammedia/CH-Agency-Bodkinco-Integration-ea1600ad175f451a9d351b6763ad7992\n const partnerAjaxResopnse: {\n form_action: string;\n } = window.api_ajax_url ? await fetch(window.api_ajax_url).then((x) => x.json()) : null;\n\n const params = {\n action: 'trigger-message',\n slug,\n country,\n msisdn,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n page: encodeURIComponent(window?.location?.href),\n sam_g_token: window.reCaptchaToken || '',\n antifraud_id: window.antifraud_id || '',\n language_code: window.languageCode || '',\n partner_form_action: partnerAjaxResopnse?.form_action ? encodeURIComponent(partnerAjaxResopnse?.form_action) : ''\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}&${extraParamsQs}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { getGoogleCaptcha, triggerMessage };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport { IConfig } from '../../common-types/Strategy';\nimport { checkSubscriptionByRockmanIdOnly } from '../../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IGoogleReCaptcha, IKeywordShortcode, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\nimport { loop } from '../../utilities/helpers';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { getGoogleCaptcha, triggerMessage } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: any = { ...(maybeConfig || {}), offer: window.pac_analytics?.visitor?.offer };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport const getGoogleReCaptchaConfig = async ({\n window,\n slug,\n country,\n device\n}: IConfig & { window: Window }): Promise<IGoogleReCaptcha> => {\n const domain = window.location.hostname;\n const result: IGoogleReCaptcha = await getGoogleCaptcha(window, country, slug, device, domain);\n if (result.success === true) {\n const srcUrl = `https://www.google.com/recaptcha/api.js?render=${result.site_key}`;\n loadScriptSrc({ url: srcUrl, key: result.site_key, isRecaptcha: true });\n }\n return result;\n};\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi)?.join('') || '';\n const { rockmanId } = window.pac_analytics.visitor;\n\n const result: IMSISDNSubmissionResult = await triggerMessage({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string; productUrl: string };\n error.type = type;\n error.productUrl = result.product_url ? result.product_url : '';\n\n console.error(error);\n throw error;\n } else {\n return { ...result, keyword: result.displayKeyword }; // based on discussion with Chanaka to avoid confusion in set up on bupper. Click2sms and mo will use display keyword\n }\n}\n\nexport async function moCheckSubscription(window: Window): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const check: () => Promise<ICheckSubscriptionResult> = () => checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true && checkResult.product_url && checkResult.product_url !== '') {\n window.location.href = checkResult.product_url;\n return checkResult.product_url;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n\n// export const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n// !!window.pac_analytics.visitor['x-requested-with'] &&\n// window.pac_analytics.visitor['x-requested-with'] !== null &&\n// window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n// ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n// : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n// ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n// : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport submitMSISDN, { moCheckSubscription } from './main';\n\nexport const mockedMSISDNEntrySuccess: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n keyword: 'TEST OK',\n shortcode: '777'\n })\n }\n};\n\nexport const mockedMSISDNEntryFailure: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\nexport interface MoFlowState {\n currentState: {\n type: 'MSISDNEntry';\n result: RDS.RemoteDataState<any, any>; // Replace any with your specific error and data types\n };\n}\n\nconst defaultInitialState: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\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 'msisdn-entry-failure-state':\n return mockedMSISDNEntryFailure;\n case 'msisdn-entry-success-state':\n return mockedMSISDNEntrySuccess;\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 SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls trigger-message api that returns a short code and key word\n * Sets completed stated\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('moFlow/submitMSISDNAction', async ({ window, msisdn, 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 { config } = state.strategy.currentState.data;\n\n try {\n // Start Trigger Message\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submission-success', { msisdn });\n // End Trigger Message\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n // Check For Subscription by rockman id and redirect to product url\n moCheckSubscription(window).then((product_url) => {\n tracker.advancedInFlow('tallyman.v1-mo', 'sale', { msisdn });\n setTimeout(() => {\n window.location.href = product_url;\n }, 1000);\n });\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: MSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-mo', 'msisdn-submission-failure', {\n msisdn,\n errorType: errorType || 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nconst moFlowSlice = createSlice({\n name: 'moFlow',\n initialState,\n reducers: {\n backToStartAction(state) {\n tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');\n\n // TODO GO BACK TO IDENTIFY BY MSISDN BASED ON STRATEGY\n state.currentState = { type: 'MSISDNEntry', result: RDS.NothingYet() };\n }\n },\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: moFlowReducer, actions: moFlowActions } = moFlowSlice;\nexport const { backToStartAction } = moFlowActions;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectMoFlowState = (state: any) => state.moFlow;\n"],"names":["useMoFlowState","useSelector","state","moFlow","currentState","moFlowMatch","_a","msisdnEntry","type","result","triggerMessage","window","slug","country","msisdn","device","offer","rockmanId","extraParamsQs","api_ajax_url","fetch","then","x","json","_b","_d","partnerAjaxResopnse","params","action","offerId","rockman_id","page","encodeURIComponent","_c","location","href","sam_g_token","reCaptchaToken","antifraud_id","language_code","languageCode","partner_form_action","form_action","queryString","Object","entries","filter","__read","map","key","value","concat","join","host","DEV_BASE_URL","url","submitMSISDN","maybeConfig","internationalMSISDN","extraParams","config","pac_analytics","visitor","submitMSISDNWithConfig","search","substr","keys","k","match","sent","success","message","error","Error","productUrl","product_url","console","__assign","keyword","displayKeyword","mockedMSISDNEntrySuccess","RDS.Success","shortcode","mockedMSISDNEntryFailure","RDS.Failure","errorType","defaultInitialState","RDS.NothingYet","initialState","searchToObject","setInitialState","submitMSISDNAction","createAsyncThunk","getState","rejectWithValue","_e","strategy","data","tracker","advancedInFlow","keywordAndShortcode","_f","storeMsisdn","customEvent","catch","loop","checkSubscriptionByRockmanIdOnly","r","checkResult","moCheckSubscription","setTimeout","warn","ex_1","recedeInFlow","moFlowSlice","createSlice","name","reducers","backToStartAction","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","moFlowReducer","reducer","actions"],"mappings":"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"}
1
+ {"version":3,"file":"moFlow.js","sources":["../src/flows/moFlow/hooks/useMoFlowState.ts","../src/flows/moFlow/match.ts","../src/flows/moFlow/api.ts","../src/flows/moFlow/main.ts","../src/flows/moFlow/moFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useMoFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.moFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MoFlowCurrentState, MSISDNEntryFailure, MSISDNEntrySuccess } from '../../sharedFlowTypes/MoTypes';\n\nfunction moFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: MoFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { moFlowMatch };\n","import { IGoogleReCaptcha, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\n\nconst getGoogleCaptcha = async (\n window: Window,\n country: string,\n slug: string,\n device: string,\n domain: string\n): Promise<IGoogleReCaptcha> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n return fetch(\n `${host}/tallyman/helper/?action=google-captcha-v3-config&country=${country}&slug=${slug}&device=${device}&domain=${domain}`\n ).then((x) => x.json());\n};\n\nconst triggerMessage = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n extraParamsQs\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn: string;\n device: string;\n offer: string;\n rockmanId: string;\n search: string;\n extraParamsQs: string;\n}): Promise<IMSISDNSubmissionResult> => {\n // introduced https://www.notion.so/sammedia/CH-Agency-Bodkinco-Integration-ea1600ad175f451a9d351b6763ad7992\n const partnerAjaxResopnse: {\n form_action: string;\n } = window.api_ajax_url ? await fetch(window.api_ajax_url).then((x) => x.json()) : null;\n\n const params = {\n action: 'trigger-message',\n slug,\n country,\n msisdn,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n page: encodeURIComponent(window?.location?.href),\n sam_g_token: window.reCaptchaToken || '',\n antifraud_id: window.antifraud_id || '',\n language_code: window.languageCode || '',\n partner_form_action: partnerAjaxResopnse?.form_action ? encodeURIComponent(partnerAjaxResopnse?.form_action) : ''\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}&${extraParamsQs}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { getGoogleCaptcha, triggerMessage };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport { IConfig } from '../../common-types/Strategy';\nimport { checkSubscriptionByRockmanIdOnly } from '../../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IGoogleReCaptcha, IKeywordShortcode, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\nimport { loop } from '../../utilities/helpers';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { getGoogleCaptcha, triggerMessage } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: any = { ...(maybeConfig || {}), offer: window.pac_analytics?.visitor?.offer };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport const getGoogleReCaptchaConfig = async ({\n window,\n slug,\n country,\n device\n}: IConfig & { window: Window }): Promise<IGoogleReCaptcha> => {\n const domain = window.location.hostname;\n const result: IGoogleReCaptcha = await getGoogleCaptcha(window, country, slug, device, domain);\n if (result.success === true) {\n const srcUrl = `https://www.google.com/recaptcha/api.js?render=${result.site_key}`;\n loadScriptSrc({ url: srcUrl, key: result.site_key, isRecaptcha: true });\n }\n return result;\n};\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi)?.join('') || '';\n const { rockmanId } = window.pac_analytics.visitor;\n\n const result: IMSISDNSubmissionResult = await triggerMessage({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string; productUrl: string };\n error.type = type;\n error.productUrl = result.product_url ? result.product_url : '';\n\n console.error(error);\n throw error;\n } else {\n return { ...result, keyword: result.displayKeyword }; // based on discussion with Chanaka to avoid confusion in set up on bupper. Click2sms and mo will use display keyword\n }\n}\n\nexport async function moCheckSubscription(window: Window): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const check: () => Promise<ICheckSubscriptionResult> = () => checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true && checkResult.product_url && checkResult.product_url !== '') {\n window.location.href = checkResult.product_url;\n return checkResult.product_url;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n\n// export const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n// !!window.pac_analytics.visitor['x-requested-with'] &&\n// window.pac_analytics.visitor['x-requested-with'] !== null &&\n// window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n// ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n// : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n// ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n// : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport submitMSISDN from './main';\n\nexport const mockedMSISDNEntrySuccess: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n keyword: 'TEST OK',\n shortcode: '777'\n })\n }\n};\n\nexport const mockedMSISDNEntryFailure: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\nexport interface MoFlowState {\n currentState: {\n type: 'MSISDNEntry';\n result: RDS.RemoteDataState<any, any>; // Replace any with your specific error and data types\n };\n}\n\nconst defaultInitialState: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\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 'msisdn-entry-failure-state':\n return mockedMSISDNEntryFailure;\n case 'msisdn-entry-success-state':\n return mockedMSISDNEntrySuccess;\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 SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls trigger-message api that returns a short code and key word\n * Sets completed stated\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('moFlow/submitMSISDNAction', async ({ window, msisdn, 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 { config } = state.strategy.currentState.data;\n\n try {\n // Start Trigger Message\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submission-success', { msisdn });\n // End Trigger Message\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: MSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-mo', 'msisdn-submission-failure', {\n msisdn,\n errorType: errorType || 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nconst moFlowSlice = createSlice({\n name: 'moFlow',\n initialState,\n reducers: {\n backToStartAction(state) {\n tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');\n\n // TODO GO BACK TO IDENTIFY BY MSISDN BASED ON STRATEGY\n state.currentState = { type: 'MSISDNEntry', result: RDS.NothingYet() };\n }\n },\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: moFlowReducer, actions: moFlowActions } = moFlowSlice;\nexport const { backToStartAction } = moFlowActions;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectMoFlowState = (state: any) => state.moFlow;\n"],"names":["useMoFlowState","useSelector","state","moFlow","currentState","moFlowMatch","_a","msisdnEntry","type","result","triggerMessage","window","slug","country","msisdn","device","offer","rockmanId","extraParamsQs","api_ajax_url","fetch","then","x","json","_b","_d","partnerAjaxResopnse","params","action","offerId","rockman_id","page","encodeURIComponent","_c","location","href","sam_g_token","reCaptchaToken","antifraud_id","language_code","languageCode","partner_form_action","form_action","queryString","Object","entries","filter","__read","map","key","value","concat","join","host","DEV_BASE_URL","url","submitMSISDN","maybeConfig","internationalMSISDN","extraParams","config","pac_analytics","visitor","submitMSISDNWithConfig","search","substr","keys","k","match","sent","success","message","error","Error","productUrl","product_url","console","__assign","keyword","displayKeyword","mockedMSISDNEntrySuccess","RDS.Success","shortcode","mockedMSISDNEntryFailure","RDS.Failure","errorType","defaultInitialState","RDS.NothingYet","initialState","searchToObject","setInitialState","submitMSISDNAction","createAsyncThunk","getState","rejectWithValue","_e","strategy","data","tracker","advancedInFlow","keywordAndShortcode","_f","storeMsisdn","customEvent","catch","warn","ex_1","recedeInFlow","moFlowSlice","createSlice","name","reducers","backToStartAction","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","moFlowReducer","reducer","actions"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{__awaiter as r,__generator as e,__assign as t,__read as n}from"tslib";import{createAsyncThunk as c,createSlice as o}from"@reduxjs/toolkit";import{S as a,L as i,F as u,N as s}from"./RemoteDataState-lcf8PfJd.js";import{u as l,t as d}from"./tracker-DaaILhEr.js";import{searchToObject as f}from"./searchToObject.js";import{b as v}from"./bupperizeCountry-CEtt0MKz.js";import{l as p}from"./loadScriptInnerHtml-BzQm-AFb.js";import"pacman-client";import"uuid";var m=function(r){return r((function(r){return r.oneClickFlow.currentState}))};function _(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 w(t){var n=t.currentRedirectUrl,c=t.country;return r(this,void 0,void 0,(function(){var r;return e(this,(function(e){switch(e.label){case 0:return"pe"!==c.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,l(n,"empello_token",r)];case 3:return[2,n]}}))}))}var y=function(c){var o=c.window,a=c.extraParams,i=c.search,u=c.url;return r(void 0,void 0,void 0,(function(){var r,c,s,l,d,f;return e(this,(function(e){switch(e.label){case 0:r=(null==o?void 0:o.tid)||"",c=(null==o?void 0:o.shouldBlock)?"false":"true",s=(null==o?void 0:o.antifraud_id)||"",l=Object.entries(a||{}).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(encodeURIComponent(c))})).join("&"),e.label=1;case 1:return e.trys.push([1,4,,5]),v=u,p=t({sam_evina_tid:r,antifraud_id:s,"is-clean-traffic":c},Object.fromEntries(new URLSearchParams(l))),m=new URLSearchParams(p).toString(),d="".concat(v,"&").concat(m),[4,fetch("".concat(d).concat(i?"&".concat(i):""))];case 2:return[4,e.sent().json()];case 3:return[2,e.sent()];case 4:throw f=e.sent(),console.error("Error fetching subscription:",f),f;case 5:return[2]}var v,p,m}))}))},E=function(r){var e=r,t="ouisys_callback_function".concat(Math.floor(1e4*Math.random()));return new Promise((function(n,c){window[t]=function(r){n(r)},e+=-1===e.indexOf("?")?"?":"&",e+="jsonp=".concat(t);var o=document.createElement("script");o.src=e,o.id=t,document.body.appendChild(o),o.onerror=function(){c(new Error("JSONP request to ".concat(r," failed")))}}))},h=function(t){var c=t.window,o=t.maybeConfig,a=t.extraParams;return r(void 0,void 0,void 0,(function(){var r,t,i,u,s,l,d,m,_,w,y,h,g,b,S,U;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=o.country,t=o.slug,i=o.queryString,u=o.apiAction,s=void 0!==c&&c.tid?c.tid:"",l=c.pac_analytics.visitor.offer,d=c.location.search.substr(1),m=(d&&d.length>0?[d]:[]).concat((i||[]).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(c)}))).join("&"),Object.keys(a).forEach((function(r,e){m.length>0&&(m+="&"),m="".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 c=r.replace(/[?#]$/,"");return"".concat(c+e,"=").concat(t,"&")}(m,r,a[r])).concat(1===e?"&":"")})),_=c.pac_analytics.visitor.rockmanId,"identify-user"!==u?[3,3]:(y=c.DEV_BASE_URL||"",g="".concat(y,"/tallyman/v1/?action=identify-user&country=").concat(v(r),"&slug=").concat(t,"&device=").concat("smart","&offerId=").concat(l,"&rockman_id=").concat(_,"&sam_evina_tid=").concat(s,"&").concat(m),[4,E(g)]);case 2:if(!1===(w=e.sent()).success)throw(S=new Error("Error in getRedirectUrl() identify-user action:\n".concat(w.message))).type="NotOn3g",S;return[2,{subscription_url:w.subscription_url||w.redirect_url,action:function(){return R(w.subscription_url,o)}}];case 3:return"he"!==u?[3,5]:(y=c.DEV_BASE_URL||"",g="".concat(y,"/tallyman/v1/?action=he&country=").concat(v(r),"&slug=").concat(t,"&device=").concat("smart","&offerId=").concat(l,"&rockman_id=").concat(_,"&sam_evina_tid=").concat(s,"&").concat(m),[4,fetch(g).then((function(r){return r.json()}))]);case 4:if(!1===(b=e.sent()).success)throw(S=new Error("Error in getRedirectUrl() identify-user action:\n".concat(b.message))).type="NotOn3g",S;return p(b.source),[2,{redirect_url:b.redirectUrlWithReplacedUniqid}];case 5:if("om"===r.toLowerCase()){if("false"===(h=f(c)).success)throw(S=new Error("Error in getRedirectUrl() identify-user")).type="NotOn3g",S;return[2,{redirect_url:h.redirect_url||h.url}]}return g="/tallyman/v1/?action=redirect&country=".concat(v(r),"&slug=").concat(t,"&device=").concat("smart","&offerId=").concat(l,"&rockman_id=").concat(_,"&page=").concat(encodeURIComponent(null===(U=null==c?void 0:c.location)||void 0===U?void 0:U.href),"&sam_evina_tid=").concat(s,"&").concat(m),[4,fetch(g).then((function(r){return r.json()}))];case 6:if(!1===(b=e.sent()).success)throw(S=new Error("Error in getRedirectUrl() identify-user action:\n".concat(b.message))).type="NotOn3g",S;return[2,{redirect_url:b.redirect_url}];case 7:return[2]}}))}))},R=function(t,c,o){return r(void 0,void 0,void 0,(function(){var r,a,i,u,s;return e(this,(function(e){switch(e.label){case 0:return r=c.queryString,a=window.location.search.substr(1),i=(a&&a.length>0?[a]:[]).concat((r||[]).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(c)}))).join("&"),[4,y({window:window,extraParams:o,search:i,url:t})];case 1:if(!1===(u=e.sent()).success)throw(s=new Error("Error in subscribe() one-click-subscribe action:\n".concat(u.message))).type="ALREADY SUBSCRIBED"===u.message?"AlreadySubscribed":"SubscriptionError",s.productUrl=u.product_url?u.product_url:"",s.message=u.message,s;return[2,u.product_url||u.redirect_url]}}))}))},g=function(t,c,o){return r(void 0,void 0,void 0,(function(){var r,a,i,u,s,l,d,f,p,m,_,w,y,E,h;return e(this,(function(e){return void 0===t?[2,"javascript: console.error('SSR'); void 6"]:(r=c.country,a=c.slug,i=c.queryString,u=t.pac_analytics.visitor.offer,s=t.location.search.substr(1),l=(s&&s.length>0?[s]:[]).concat((i||[]).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(c)}))).join("&"),d=o?"&".concat(Object.keys(o).map((function(r){return"".concat(r,"=").concat(o[r])})).join("&")):"",f=t.location.href.split("/")[3].split("?")[0],p=void 0!==t&&t.tid?t.tid:"",m=(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===(E=null==t?void 0:t.pac_analytics)||void 0===E?void 0:E.visitor)||void 0===h?void 0:h.bupperRedirectHost):null,_=m||t.DEV_BASE_URL_BUPPER||"",[2,"".concat(_,"/").concat(v(r),"/").concat(a,"?offer=").concat(u,"&atmobirun=1&rockman_id=").concat(t.pac_analytics.visitor.rockmanId,"&redirPixels=").concat(t.location.host,"&sam_evina_tid=").concat(p,"&x-xcid=").concat(f).concat(d,"&").concat(l)])}))}))},b={currentState:{type:"GET_REDIRECT_URL",result:a({redirectUrl:"/product"})}},S={currentState:{type:"SUBCRIBE_AJAX",result:s()}},U={currentState:{type:"GET_REDIRECT_URL",result:s()}},k=function(r){var e=f(r);if(!e["mock-flow"])return U;switch(e["current-state"]){case"redirect-url-success-state":return b;case"subscribe-ajax-state":return S;default:return console.error("Mock Flow not supported"),U}}(window),I=c("oneClickFlow/getRedirectUrlAction",(function(n,c){var o=n.window,i=n.isGetRedirectBupperWay,u=n.extraParams,l=n.autoRedirect,v=c.getState,p=c.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,n,c,m,_,y,E,R,b,S,U,I,C,T;return e(this,(function(e){switch(e.label){case 0:if(r=v(),f(o)["mock-flow"])return[2,k.currentState];if(!(null===(T=null===(C=null===(I=null==r?void 0:r.strategy)||void 0===I?void 0:I.currentState)||void 0===C?void 0:C.data)||void 0===T?void 0:T.config))return[2,p({errorType:"UnexpectedState"})];n=r.strategy.currentState.data,c=n.config,m=n.subscription_url,_=n.redirect_url,y=n.operator,e.label=1;case 1:return e.trys.push([1,8,,9]),!0!==i?[3,4]:[4,g(o,c,t(t({},y&&{operator:y}),u))];case 2:return[4,w({currentRedirectUrl:e.sent(),country:c.country})];case 3:return E=e.sent(),d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:E}),!0!==o.isAutoFraudScreener?!0===l?(d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:E}),setTimeout((function(){o.location.href=E}),0),[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:E})}]):[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:E})}]:(R=setInterval((function(){o.isEvinaSessionChecked&&(clearInterval(R),d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:E}),setTimeout((function(){o.location.href=E}),0))}),100),[3,7]);case 4:return m&&null!=m?[2,{type:"SUBCRIBE_AJAX",result:s()}]:_?(d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:_}),[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:_})}]):(d.advancedInFlow("tallyman.v1-one-click","get-redirect-url"),[4,h({window:o,maybeConfig:c,extraParams:t(t({},y&&{operator:y}),u)})]);case 5:return b=e.sent().redirect_url,d.advancedInFlow("tallyman.v1-one-click","get-redirect-url-success"),[4,w({currentRedirectUrl:b,country:c.country})];case 6:if(S=e.sent(),d.customEvent("Flow","advance-auto","redirect-success",{updated_redirect_url:S}),!0!==l&&!0!==o.isAutoFraudScreener)return[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:S})}];d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{updated_redirect_url:S}),setTimeout((function(){o.location.href=S}),0),e.label=7;case 7:return[3,9];case 8:return U=e.sent(),console.warn(U),d.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),[2,p({errorType:"UnknownError",message:U.message,error:U.toString()})];case 9:return[2]}}))}))})),C=c("oneClickFlow/subscribeUrlAction",(function(t,n){var c=t.window,o=t.autoRedirect,i=t.extraParams,u=n.getState,s=n.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,t,n,l,f,v,p,m,_;return e(this,(function(e){switch(e.label){case 0:if(r=u(),!(null===(_=null===(m=null===(p=null==r?void 0:r.strategy)||void 0===p?void 0:p.currentState)||void 0===m?void 0:m.data)||void 0===_?void 0:_.config))return[2,s({errorType:"UnexpectedState"})];t=r.strategy.currentState.data,n=t.subscription_url,l=t.config,e.label=1;case 1:return e.trys.push([1,3,,4]),d.advancedInFlow("tallyman.v1-one-click","click-subscribe"),[4,R(n,l,i)];case 2:return f=e.sent(),d.advancedInFlow("tallyman.v1-one-click","click-subscribe-success",{product_url:f}),!0===o&&(d.customEvent("Flow","advance-auto","click-product-url",{product_url:f}),c.location.href=f),[2,{type:"SUBCRIBE_AJAX",result:a({productUrl:f})}];case 3:return v=e.sent(),console.warn(v),d.recedeInFlow("tallyman.v1-one-click","click-subscribe-failure",{error:v.toString()}),[2,s({errorType:"UnknownError",error:v.toString(),productUrl:v.productUrl,message:v.message||""})];case 4:return[2]}}))}))})),T=o({name:"oneClickFlow",initialState:k,reducers:{},extraReducers:function(r){r.addCase(I.pending,(function(r){r.currentState={type:"GET_REDIRECT_URL",result:i()}})).addCase(I.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(I.rejected,(function(r,e){r.currentState={type:"GET_REDIRECT_URL",result:u(e.payload)}})).addCase(C.pending,(function(r){r.currentState={type:"SUBCRIBE_AJAX",result:i()}})).addCase(C.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(C.rejected,(function(r,e){r.currentState={type:"SUBCRIBE_AJAX",result:u(e.payload)}}))}}),j=T.reducer;T.actions;export{I as getRedirectUrlAction,_ as oneClickFlowMatch,j as oneClickFlowReducer,C as subscribeUrlAction,m as useOneClickFlowState};
1
+ import{__awaiter as r,__generator as e,__assign as t,__read as n}from"tslib";import{createAsyncThunk as c,createSlice as o}from"@reduxjs/toolkit";import{S as a,L as i,F as u,N as s}from"./RemoteDataState-lcf8PfJd.js";import{u as l,t as d}from"./tracker-DaaILhEr.js";import{searchToObject as f}from"./searchToObject.js";import{b as v}from"./bupperizeCountry-CEtt0MKz.js";import{l as p}from"./loadScriptInnerHtml-BzQm-AFb.js";import"pacman-client";import"uuid";var m=function(r){return r((function(r){return r.oneClickFlow.currentState}))};function _(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 w(t){var n=t.currentRedirectUrl,c=t.country;return r(this,void 0,void 0,(function(){var r;return e(this,(function(e){switch(e.label){case 0:return"pe"!==c.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,l(n,"empello_token",r)];case 3:return[2,n]}}))}))}var y=function(c){var o=c.window,a=c.extraParams,i=c.search,u=c.url;return r(void 0,void 0,void 0,(function(){var r,c,s,l,d,f;return e(this,(function(e){switch(e.label){case 0:r=(null==o?void 0:o.tid)||"",c=(null==o?void 0:o.shouldBlock)?"false":"true",s=(null==o?void 0:o.antifraud_id)||"",l=Object.entries(a||{}).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(encodeURIComponent(c))})).join("&"),e.label=1;case 1:return e.trys.push([1,4,,5]),v=u,p=t({sam_evina_tid:r,antifraud_id:s,"is-clean-traffic":c},Object.fromEntries(new URLSearchParams(l))),m=new URLSearchParams(p).toString(),d="".concat(v,"&").concat(m),[4,fetch("".concat(d).concat(i?"&".concat(i):""))];case 2:return[4,e.sent().json()];case 3:return[2,e.sent()];case 4:throw f=e.sent(),console.error("Error fetching subscription:",f),f;case 5:return[2]}var v,p,m}))}))},E=function(r){var e=r,t="ouisys_callback_function".concat(Math.floor(1e4*Math.random()));return new Promise((function(n,c){window[t]=function(r){n(r)},e+=-1===e.indexOf("?")?"?":"&",e+="jsonp=".concat(t);var o=document.createElement("script");o.src=e,o.id=t,document.body.appendChild(o),o.onerror=function(){c(new Error("JSONP request to ".concat(r," failed")))}}))},R=function(t){var c=t.window,o=t.maybeConfig,a=t.extraParams;return r(void 0,void 0,void 0,(function(){var r,t,i,u,s,l,d,m,_,w,y,R,g,b,S,U;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=o.country,t=o.slug,i=o.queryString,u=o.apiAction,s=void 0!==c&&c.tid?c.tid:"",l=c.pac_analytics.visitor.offer,d=c.location.search.substr(1),m=(d&&d.length>0?[d]:[]).concat((i||[]).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(c)}))).join("&"),Object.keys(a).forEach((function(r,e){m.length>0&&(m+="&"),m="".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 c=r.replace(/[?#]$/,"");return"".concat(c+e,"=").concat(t,"&")}(m,r,a[r])).concat(1===e?"&":"")})),_=c.pac_analytics.visitor.rockmanId,"identify-user"!==u?[3,3]:(R=c.DEV_BASE_URL||"",g="".concat(R,"/tallyman/v1/?action=identify-user&country=").concat(v(r),"&slug=").concat(t,"&device=").concat("smart","&offerId=").concat(l,"&rockman_id=").concat(_,"&sam_evina_tid=").concat(s,"&").concat(m),[4,E(g)]);case 2:if(!1===(w=e.sent()).success)throw(S=new Error("Error in getRedirectUrl() identify-user action:\n".concat(w.message))).type="NotOn3g",S;return[2,{subscription_url:w.subscription_url||w.redirect_url,action:function(){return h(w.subscription_url,o)}}];case 3:return"he"!==u?[3,5]:(R=c.DEV_BASE_URL||"",g="".concat(R,"/tallyman/v1/?action=he&country=").concat(v(r),"&slug=").concat(t,"&device=").concat("smart","&offerId=").concat(l,"&rockman_id=").concat(_,"&sam_evina_tid=").concat(s,"&").concat(m),[4,fetch(g).then((function(r){return r.json()}))]);case 4:if(!1===(b=e.sent()).success)throw(S=new Error("Error in getRedirectUrl() identify-user action:\n".concat(b.message))).type="NotOn3g",S;return p(b.source),[2,{redirect_url:b.redirectUrlWithReplacedUniqid}];case 5:if("om"===r.toLowerCase()){if("false"===(y=f(c)).success)throw(S=new Error("Error in getRedirectUrl() identify-user")).type="NotOn3g",S;return[2,{redirect_url:y.redirect_url||y.url}]}return R=c.DEV_BASE_URL||"",g="".concat(R,"/tallyman/v1/?action=redirect&country=").concat(v(r),"&slug=").concat(t,"&device=").concat("smart","&offerId=").concat(l,"&rockman_id=").concat(_,"&page=").concat(encodeURIComponent(null===(U=null==c?void 0:c.location)||void 0===U?void 0:U.href),"&sam_evina_tid=").concat(s,"&").concat(m),[4,fetch(g).then((function(r){return r.json()}))];case 6:if(!1===(b=e.sent()).success)throw(S=new Error("Error in getRedirectUrl() identify-user action:\n".concat(b.message))).type="NotOn3g",S;return[2,{redirect_url:b.redirect_url}];case 7:return[2]}}))}))},h=function(t,c,o){return r(void 0,void 0,void 0,(function(){var r,a,i,u,s;return e(this,(function(e){switch(e.label){case 0:return r=c.queryString,a=window.location.search.substr(1),i=(a&&a.length>0?[a]:[]).concat((r||[]).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(c)}))).join("&"),[4,y({window:window,extraParams:o,search:i,url:t})];case 1:if(!1===(u=e.sent()).success)throw(s=new Error("Error in subscribe() one-click-subscribe action:\n".concat(u.message))).type="ALREADY SUBSCRIBED"===u.message?"AlreadySubscribed":"SubscriptionError",s.productUrl=u.product_url?u.product_url:"",s.message=u.message,s;return[2,u.product_url||u.redirect_url]}}))}))},g=function(t,c,o){return r(void 0,void 0,void 0,(function(){var r,a,i,u,s,l,d,f,p,m,_,w,y,E,R;return e(this,(function(e){return void 0===t?[2,"javascript: console.error('SSR'); void 6"]:(r=c.country,a=c.slug,i=c.queryString,u=t.pac_analytics.visitor.offer,s=t.location.search.substr(1),l=(s&&s.length>0?[s]:[]).concat((i||[]).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(c)}))).join("&"),d=o?"&".concat(Object.keys(o).map((function(r){return"".concat(r,"=").concat(o[r])})).join("&")):"",f=t.location.href.split("/")[3].split("?")[0],p=void 0!==t&&t.tid?t.tid:"",m=(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===(R=null===(E=null==t?void 0:t.pac_analytics)||void 0===E?void 0:E.visitor)||void 0===R?void 0:R.bupperRedirectHost):null,_=m||t.DEV_BASE_URL_BUPPER||"",[2,"".concat(_,"/").concat(v(r),"/").concat(a,"?offer=").concat(u,"&atmobirun=1&rockman_id=").concat(t.pac_analytics.visitor.rockmanId,"&redirPixels=").concat(t.location.host,"&sam_evina_tid=").concat(p,"&x-xcid=").concat(f).concat(d,"&").concat(l)])}))}))},b={currentState:{type:"GET_REDIRECT_URL",result:a({redirectUrl:"/product"})}},S={currentState:{type:"SUBCRIBE_AJAX",result:s()}},U={currentState:{type:"GET_REDIRECT_URL",result:s()}},k=function(r){var e=f(r);if(!e["mock-flow"])return U;switch(e["current-state"]){case"redirect-url-success-state":return b;case"subscribe-ajax-state":return S;default:return console.error("Mock Flow not supported"),U}}(window),I=c("oneClickFlow/getRedirectUrlAction",(function(n,c){var o=n.window,i=n.isGetRedirectBupperWay,u=n.extraParams,l=n.autoRedirect,v=c.getState,p=c.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,n,c,m,_,y,E,h,b,S,U,I,C,T;return e(this,(function(e){switch(e.label){case 0:if(r=v(),f(o)["mock-flow"])return[2,k.currentState];if(!(null===(T=null===(C=null===(I=null==r?void 0:r.strategy)||void 0===I?void 0:I.currentState)||void 0===C?void 0:C.data)||void 0===T?void 0:T.config))return[2,p({errorType:"UnexpectedState"})];n=r.strategy.currentState.data,c=n.config,m=n.subscription_url,_=n.redirect_url,y=n.operator,e.label=1;case 1:return e.trys.push([1,8,,9]),!0!==i?[3,4]:[4,g(o,c,t(t({},y&&{operator:y}),u))];case 2:return[4,w({currentRedirectUrl:e.sent(),country:c.country})];case 3:return E=e.sent(),d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:E}),!0!==o.isAutoFraudScreener?!0===l?(d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:E}),setTimeout((function(){o.location.href=E}),0),[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:E})}]):[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:E})}]:(h=setInterval((function(){o.isEvinaSessionChecked&&(clearInterval(h),d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:E}),setTimeout((function(){o.location.href=E}),0))}),100),[3,7]);case 4:return m&&null!=m?[2,{type:"SUBCRIBE_AJAX",result:s()}]:_?(d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:_}),[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:_})}]):(d.advancedInFlow("tallyman.v1-one-click","get-redirect-url"),[4,R({window:o,maybeConfig:c,extraParams:t(t({},y&&{operator:y}),u)})]);case 5:return b=e.sent().redirect_url,d.advancedInFlow("tallyman.v1-one-click","get-redirect-url-success"),[4,w({currentRedirectUrl:b,country:c.country})];case 6:if(S=e.sent(),d.customEvent("Flow","advance-auto","redirect-success",{updated_redirect_url:S}),!0!==l&&!0!==o.isAutoFraudScreener)return[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:S})}];d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{updated_redirect_url:S}),setTimeout((function(){o.location.href=S}),0),e.label=7;case 7:return[3,9];case 8:return U=e.sent(),console.warn(U),d.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),[2,p({errorType:"UnknownError",message:U.message,error:U.toString()})];case 9:return[2]}}))}))})),C=c("oneClickFlow/subscribeUrlAction",(function(t,n){var c=t.window,o=t.autoRedirect,i=t.extraParams,u=n.getState,s=n.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,t,n,l,f,v,p,m,_;return e(this,(function(e){switch(e.label){case 0:if(r=u(),!(null===(_=null===(m=null===(p=null==r?void 0:r.strategy)||void 0===p?void 0:p.currentState)||void 0===m?void 0:m.data)||void 0===_?void 0:_.config))return[2,s({errorType:"UnexpectedState"})];t=r.strategy.currentState.data,n=t.subscription_url,l=t.config,e.label=1;case 1:return e.trys.push([1,3,,4]),d.advancedInFlow("tallyman.v1-one-click","click-subscribe"),[4,h(n,l,i)];case 2:return f=e.sent(),d.advancedInFlow("tallyman.v1-one-click","click-subscribe-success",{product_url:f}),!0===o&&(d.customEvent("Flow","advance-auto","click-product-url",{product_url:f}),c.location.href=f),[2,{type:"SUBCRIBE_AJAX",result:a({productUrl:f})}];case 3:return v=e.sent(),console.warn(v),d.recedeInFlow("tallyman.v1-one-click","click-subscribe-failure",{error:v.toString()}),[2,s({errorType:"UnknownError",error:v.toString(),productUrl:v.productUrl,message:v.message||""})];case 4:return[2]}}))}))})),T=o({name:"oneClickFlow",initialState:k,reducers:{},extraReducers:function(r){r.addCase(I.pending,(function(r){r.currentState={type:"GET_REDIRECT_URL",result:i()}})).addCase(I.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(I.rejected,(function(r,e){r.currentState={type:"GET_REDIRECT_URL",result:u(e.payload)}})).addCase(C.pending,(function(r){r.currentState={type:"SUBCRIBE_AJAX",result:i()}})).addCase(C.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(C.rejected,(function(r,e){r.currentState={type:"SUBCRIBE_AJAX",result:u(e.payload)}}))}}),j=T.reducer;T.actions;export{I as getRedirectUrlAction,_ as oneClickFlowMatch,j as oneClickFlowReducer,C as subscribeUrlAction,m 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';\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 oneClickSubscribe = async ({\n window,\n extraParams,\n search,\n url\n}: {\n window: Window;\n extraParams?: IHash;\n search: string;\n url: string;\n}) => {\n const evinaTid = window?.tid || '';\n const isCleanTraffic = window?.shouldBlock ? 'false' : 'true';\n const antifraudId = window?.antifraud_id || '';\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: antifraudId,\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","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 } 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 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 url = `/tallyman/v1/?action=redirect&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&page=${encodeURIComponent(\n window?.location?.href\n )}&sam_evina_tid=${evinaTid}&${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 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 const result: ISubscribeResult = await oneClickSubscribe({\n window,\n extraParams,\n search,\n url\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 { 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, 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 { config, subscription_url, redirect_url, operator } = 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 (subscription_url && subscription_url != null) {\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 = await addEmpelloToken({\n currentRedirectUrl: newRedirectUrl,\n country: config.country\n });\n\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { updated_redirect_url });\n\n if (autoRedirect === true || window.isAutoFraudScreener === true) {\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 }\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\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","oneClickSubscribe","extraParams","search","url","evinaTid","tid","isCleanTraffic","shouldBlock","antifraudId","antifraud_id","extraParamsQs","Object","entries","map","__read","key","value","concat","encodeURIComponent","join","baseURL","params","__assign","sam_evina_tid","fromEntries","URLSearchParams","queryParams","toString","resultUrl","fetch","json","console","error","error_1","fetchJsonp","_url","ouisys_callback_function","Math","floor","random","reject","arg","indexOf","script","document","createElement","src","id","body","appendChild","onerror","Error","maybeConfig","slug","queryString","apiAction","offer","pac_analytics","visitor","s","location","substr","search_1","length","k","v","keys","forEach","element","index","paramName","paramValue","pattern","RegExp","replace","newUrl","replaceUrlParam","rockmanId","host","DEV_BASE_URL","bupperizeCountry","result_1","_c","success","identifyError","message","subscription_url","redirect_url","action","then","x","loadScriptInnerHtml","source","redirectUrlWithReplacedUniqid","searchObj","searchToObject","href","__awaiter","subscribeError","productUrl","product_url","getRedirectUrlBupperWay","xcid","split","baseHostBupper","bupperRedirectHost","atob","_d","DEV_BASE_URL_BUPPER","mockedRedirectUrlSuccessState","RDS.Success","redirectUrl","mockedSubscribeAjaxState","RDS.NothingYet","defaultInitialState","initialState","setInitialState","getRedirectUrlAction","createAsyncThunk","isGetRedirectBupperWay","autoRedirect","getState","rejectWithValue","_f","strategy","_e","data","config","errorType","operator","_g","updatedRedirectUrl_1","tracker","customEvent","isAutoFraudScreener","advancedInFlow","setTimeout","timer_1","isEvinaSessionChecked","newRedirectUrl","updated_redirect_url_1","updated_redirect_url","warn","ex_1","recedeInFlow","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';\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 oneClickSubscribe = async ({\n window,\n extraParams,\n search,\n url\n}: {\n window: Window;\n extraParams?: IHash;\n search: string;\n url: string;\n}) => {\n const evinaTid = window?.tid || '';\n const isCleanTraffic = window?.shouldBlock ? 'false' : 'true';\n const antifraudId = window?.antifraud_id || '';\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: antifraudId,\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","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 } 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 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 url = `${host}/tallyman/v1/?action=redirect&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&page=${encodeURIComponent(\n window?.location?.href\n )}&sam_evina_tid=${evinaTid}&${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 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 const result: ISubscribeResult = await oneClickSubscribe({\n window,\n extraParams,\n search,\n url\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 { 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, 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 { config, subscription_url, redirect_url, operator } = 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 (subscription_url && subscription_url != null) {\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 = await addEmpelloToken({\n currentRedirectUrl: newRedirectUrl,\n country: config.country\n });\n\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { updated_redirect_url });\n\n if (autoRedirect === true || window.isAutoFraudScreener === true) {\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 }\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\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","oneClickSubscribe","extraParams","search","url","evinaTid","tid","isCleanTraffic","shouldBlock","antifraudId","antifraud_id","extraParamsQs","Object","entries","map","__read","key","value","concat","encodeURIComponent","join","baseURL","params","__assign","sam_evina_tid","fromEntries","URLSearchParams","queryParams","toString","resultUrl","fetch","json","console","error","error_1","fetchJsonp","_url","ouisys_callback_function","Math","floor","random","reject","arg","indexOf","script","document","createElement","src","id","body","appendChild","onerror","Error","maybeConfig","slug","queryString","apiAction","offer","pac_analytics","visitor","s","location","substr","search_1","length","k","v","keys","forEach","element","index","paramName","paramValue","pattern","RegExp","replace","newUrl","replaceUrlParam","rockmanId","host","DEV_BASE_URL","bupperizeCountry","result_1","_c","success","identifyError","message","subscription_url","redirect_url","action","then","x","loadScriptInnerHtml","source","redirectUrlWithReplacedUniqid","searchObj","searchToObject","href","__awaiter","subscribeError","productUrl","product_url","getRedirectUrlBupperWay","xcid","split","baseHostBupper","bupperRedirectHost","atob","_d","DEV_BASE_URL_BUPPER","mockedRedirectUrlSuccessState","RDS.Success","redirectUrl","mockedSubscribeAjaxState","RDS.NothingYet","defaultInitialState","initialState","setInitialState","getRedirectUrlAction","createAsyncThunk","isGetRedirectBupperWay","autoRedirect","getState","rejectWithValue","_f","strategy","_e","data","config","errorType","operator","_g","updatedRedirectUrl_1","tracker","customEvent","isAutoFraudScreener","advancedInFlow","setTimeout","timer_1","isEvinaSessionChecked","newRedirectUrl","updated_redirect_url_1","updated_redirect_url","warn","ex_1","recedeInFlow","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/dist/pinFlow.js CHANGED
@@ -1,2 +1,2 @@
1
- import{__awaiter as e,__generator as t,__read as r,__assign as n}from"tslib";import{createAsyncThunk as a,createSlice as i}from"@reduxjs/toolkit";import{N as o,S as s,L as c,F as u}from"./RemoteDataState-lcf8PfJd.js";import{c as d,P as l}from"./strategySlice-C7LOOrGS.js";import{searchToObject as p}from"./searchToObject.js";import{s as v}from"./storeMsisdn-Cjq8_qYH.js";import{t as f}from"./tracker-DaaILhEr.js";import{b as m}from"./bupperizeCountry-CEtt0MKz.js";import{l as y,r as S,a as w}from"./helpers-xPhGBX-B.js";import{l as g}from"./loadScriptInnerHtml-BzQm-AFb.js";import"./getConfig.js";import"./tryGetIPRangeName-QW-9NgzE.js";import"pacman-client";import"uuid";var I=function(e){return e((function(e){return e.pinFlow.currentState}))};function h(e){var t=e.msisdnEntry,r=e.pinEntry;return function(e){switch(e.type){case"MSISDNEntry":return t(e.result);case"PINEntry":return r(e.result,e.data);default:throw new Error("Invalid State")}}}var b=function(e){return"be"===e?"undefined"!=typeof window&&!0===window.shouldBlock?"&is-clean-traffic=false":"&is-clean-traffic=true":""},_=function(n){var a=n.window,i=n.country,o=n.slug,s=n.device,c=n.offer,u=n.msisdn,d=n.rockmanId,l=n.extraParams,p=n.search,v=n.uniqid,f=n.evinaTid;return e(void 0,void 0,void 0,(function(){var e,n,m,y,S,w,g;return t(this,(function(t){return e=b(i),n="&".concat(Object.keys(l).map((function(e){return l[e]?"".concat(e,"=").concat(l[e]):""})).filter(Boolean).join("&")),m={action:"trigger-pin",country:i,slug:o,device:s,offerId:c,msisdn:u,rockman_id:d,sam_evina_tid:f,page:encodeURIComponent(null===(g=null==a?void 0:a.location)||void 0===g?void 0:g.href),language_code:a.languageCode||"",antifraud_id:a.antifraud_id||"",partner_transaction_id:a.partner_transaction_id||"",partner_timestamp:a.partner_timestamp||"",partner_cid:a.partner_cid||"",uniqid:v||""},y=Object.entries(m).filter((function(e){var t=r(e,2);return t[0],t[1]})).map((function(e){var t=r(e,2),n=t[0],a=t[1];return"".concat(n,"=").concat(a)})).join("&"),S=a.DEV_BASE_URL||"",w="".concat(S,"/tallyman/v1/?").concat(y).concat(e).concat(n).concat(p?"&".concat(p):""),[2,fetch(w).then((function(e){return e.json()}))]}))}))},E=function(n){var a=n.window,i=n.country,o=n.slug,s=n.device,c=n.offer,u=n.rockmanId,d=n.pin,l=n.extraParams,p=n.uniqid,v=n.evinaTid;return e(void 0,void 0,void 0,(function(){var e,n,f,y,S,w,g;return t(this,(function(t){return e=b(i),n="&".concat(Object.keys(l).map((function(e){return"".concat(e,"=").concat(l[e])})).join("&")),f={action:"verify-pin",country:m(i),slug:o,device:s,offerId:c,rockman_id:u,pin:d,page:encodeURIComponent(null===(g=null==a?void 0:a.location)||void 0===g?void 0:g.href),language_code:a.languageCode||"",antifraud_id:a.antifraud_id||"",ClickID:a.antifraud_click_id||"",partner_cid:a.partner_cid||"",sam_evina_tid:v,uniqid:p},y=Object.entries(f).filter((function(e){var t=r(e,2);return t[0],t[1]})).map((function(e){var t=r(e,2),n=t[0],a=t[1];return"".concat(n,"=").concat(a)})).join("&"),S=a.DEV_BASE_URL||"",w="".concat(S,"/tallyman/v1/?").concat(y).concat(e).concat(n),[2,fetch(w).then((function(e){return e.json()}))]}))}))},k=function(r){var a=r.window,i=r.country,o=r.slug,s=r.device,c=r.offer,u=r.rockmanId,d=r.operator,l=r.uniqid;return e(void 0,void 0,void 0,(function(){var e,r,p,v,f;return t(this,(function(t){return e=a.location.href,r=a.pac_analytics.visitor.ip,p=new URLSearchParams(n(n({action:"mcp-shield",country:i,slug:o,device:s,offerId:c.toString(),rockman_id:u,client_lpu:e},d&&{operator:d}),l&&{uniqid:l})),r&&p.append("client_ip",r),v=a.DEV_BASE_URL||"",f="".concat(v,"/tallyman/v1/?").concat(p.toString()),[2,fetch(f).then((function(e){return e.json()}))]}))}))};function N(r,a,i,o){return e(this,void 0,void 0,(function(){var e;return t(this,(function(t){return!0===(e=n({offer:r.pac_analytics.visitor.offer},a||{})).automaticallySubmitAllOperators&&e.operators&&e.operators.length>0?[2,D(r,e,i,e.operators,o)]:[2,P(r,e,i,o)]}))}))}var U="";function P(r,a,i,o){return e(this,void 0,void 0,(function(){var e,s,c,u,d,l,v,f,m,y,S,w,I,h,b,E,N,P;return t(this,(function(t){switch(t.label){case 0:if(!i)throw(e=new Error("Error in submitMSISDN() trigger-pin action")).type="InvalidMSISDN",e;return s=o||{},c=!1,"true"===(null==(u=p(r))?void 0:u.success)&&"1"===u["msisdn-alias"]&&(s["skip-validation"]="1"),"1"===s["skip-validation"]&&(c=!0),d=c?i:i.match(/\d+/gi).join(""),l=r.pac_analytics.visitor.rockmanId,v=a.slug,f=a.country,m=a.device,y=a.offer,S=-1===r.location.search.indexOf("redirect-back=1")&&r.location.search.substr(1)||"",w=U&&""!==U?"&mcpUniqid=".concat(U):"",I=void 0!==r&&r.tid?r.tid:"",[4,_({window:r,country:f,slug:v,device:m,offer:y,msisdn:d,rockmanId:l,extraParams:s,search:S,uniqid:w,evinaTid:I})];case 1:if(!1!==(h=t.sent()).success)return[3,2];switch((b=new Error("Error in submitMSISDN() trigger-pin action:\n".concat(h.message))).message=h.message,!0){case h.message.includes("ALREADY SUBSCRIBED"):b.type="AlreadySubscribed";break;case h.message.includes("invalid"):b.type="InvalidMSISDN";break;default:b.type=null}throw b.productUrl=h.product_url?h.product_url:"",console.error(b),b;case 2:if(r.operator=h.operator,E={kw:{kw_viva:"kw_viva"},k2:{k2_viva:"k2_viva"},bh:{bh_viva:"bh_viva"}},!(f&&h.operator&&(E[f.toLowerCase()]&&E[f.toLowerCase()][h.operator.toLowerCase()]||"iq"===f.toLowerCase()))||r.isCallBlockApi||r.Empello)return[3,6];t.label=3;case 3:return t.trys.push([3,5,,6]),[4,k({window:r,country:f,slug:v,device:m,offer:y,rockmanId:l,operator:h.operator,uniqid:w})];case 4:return!1===(N=t.sent()).success?console.warn(N.message):(g(N.source),U=N.uniqid),[3,6];case 5:return P=t.sent(),console.warn(P),[3,6];case 6:return h.javascript&&g(h.javascript),[2,n({type:"SingleMSISDNSubmissionResult",pin:h.pin,uniqidResult:U,operator:h.operator,redirectUrl:null==h?void 0:h.redirect_to_url},(null==h?void 0:h.userType)?{userType:null==h?void 0:h.userType}:{})]}}))}))}function D(r,a,i,o,s){return e(this,void 0,void 0,(function(){var c,u,d=this;return t(this,(function(l){switch(l.label){case 0:return[4,Promise.all(o.map((function(o){return e(d,void 0,void 0,(function(){var e,c;return t(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,P(r,a,i,n(n({},s),{operator:o}))];case 1:return e=t.sent(),[2,S(n(n({},e),{operator:o}))];case 2:return c=t.sent(),[2,y(c)];case 3:return[2]}}))}))})))];case 1:if(c=l.sent(),u=c.find((function(e){var t;return"left"===e.type&&"AlreadySubscribed"===(null===(t=e.value)||void 0===t?void 0:t.type)})),c.every((function(e){return"left"===e.type})))throw c[0].value;if(u)throw u.value;return[2,{type:"MultiOperatorMSISDNSubmissionResult"}]}}))}))}function M(n,a,i,o){return e(this,void 0,void 0,(function(){var s,c,u,d,l,v,f,y,S,g,I,h,b,_,k,N;return t(this,(function(P){switch(P.label){case 0:if(n.hostCountry&&n.hostSlug&&(i.country=n.hostCountry,i.slug=n.hostSlug),s=i.slug,c=i.country,u=i.device,d=n.pac_analytics.visitor.offer,l=o||{},"true"===(null==(v=p(n))?void 0:v.success)&&"1"===v["msisdn-alias"]&&(l["skip-validation"]="1"),f=n.pac_analytics.visitor.rockmanId,!a)throw(y=new Error("Error in submitMSISDN() verify-pin action:\n Pin Cannot Be Empty")).type="InvalidPIN",y;return S=""!==U?"&mcpUniqid=".concat(U):"",g=void 0!==n&&n.tid?n.tid:"",[4,E({window:n,country:c,slug:s,device:u,offer:d,rockmanId:f,pin:a,extraParams:l,uniqid:S,evinaTid:g})];case 1:if(!1!==(I=P.sent()).success)return[3,2];throw h={"pin does not match":"InvalidPIN","mcp blocked":"SessionBlocked",expired_pin:"ExpiredPIN",insufficient_balance:"InsufficientBalance"}[I.message],(k=new Error("Error in submitMSISDN() verify-pin action:\n".concat(h))).type=h||"InvalidPIN",k.message=I.message,console.error(k),k;case 2:return!0!==I.async?[3,4]:I.product_url&&""!==I.product_url&&"es"===(null==c?void 0:c.toLowerCase())?[2,{gatewayRedirectUrl:I.product_url}]:(b=function(){return function(n){var a=n.window,i=n.country,o=n.slug,s=n.device,c=n.offer,u=n.rockmanId;return e(void 0,void 0,void 0,(function(){var e,n,d,l;return t(this,(function(t){return e={action:"check-subscription",country:m(i),slug:o,device:s,offerId:c,rockman_id:u},n=Object.entries(e).filter((function(e){var t=r(e,2);return t[0],null!=t[1]})).map((function(e){var t=r(e,2),n=t[0],a=t[1];return"".concat(n,"=").concat(encodeURIComponent(a))})).join("&"),d=a.DEV_BASE_URL||"",l="".concat(d,"/tallyman/v1/?").concat(n),[2,fetch(l).then((function(e){return e.json()}))]}))}))}({window:n,country:c,slug:s,device:u,offer:d,rockmanId:f,extraParams:o})},[4,w(b,100,(function(e){return e.success||"invalid_pin"===e.message}),0)]);case 3:if(!0===(_=P.sent()).success)return N="ALREADY SUBSCRIBED"===I.message,[2,{productUrl:_.product_url||null,isAlreadySubscribed:N}];throw(k=new Error("Error in submitMSISDN() verify-pin action:\n".concat(_.message))).type="InvalidPIN",k.message=_.message,k;case 4:return N="ALREADY SUBSCRIBED"===I.message,[2,{productUrl:I.product_url||null,isAlreadySubscribed:N}]}}))}))}var j={currentState:{type:"PINEntry",result:o(),data:{actualPIN:"",msisdn:"",operator:"",pinMaxLength:4}}},A={currentState:{type:"PINEntry",result:s({finalUrl:"/product"}),data:{actualPIN:"",msisdn:"",operator:"",pinMaxLength:4}}},C={currentState:{type:"MSISDNEntry",result:u({errorType:"InvalidMSISDN",error:"Invalid Mobile Number"})}},R={currentState:{type:"MSISDNEntry",result:o()}},F=function(e){var t=p(e),r=new Event("onPinPage");if(!t["mock-flow"])return R;switch(t["current-state"]){case"msisdn-failure-state":return C;case"pin-state":return null==e||e.dispatchEvent(r),j;case"completed-state":return A;default:return console.error("Mock Flow not supported"),R}}(window),T=a("pinFlow/submitMSISDNAction",(function(r,a){var i=r.window,s=r.msisdn,c=r.extraParams,u=a.getState,p=a.dispatch,m=a.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,r,a,y,S,w,g,I,h,b,_,E,k,U,P;return t(this,(function(t){switch(t.label){case 0:if(e=u(),!(null===(U=null===(k=null===(E=null==e?void 0:e.strategy)||void 0===E?void 0:E.currentState)||void 0===k?void 0:k.data)||void 0===U?void 0:U.config))return[2,m({errorType:"UnexpectedState"})];r=e.strategy.currentState.data,a=r.config,y=r.isHeaderEnrichmentSuccess,S=null===(P=e.pinFlow)||void 0===P?void 0:P.currentState,t.label=1;case 1:return t.trys.push([1,5,,6]),"ps"===(null==a?void 0:a.country.toLowerCase())&&(null==a?void 0:a.slug.includes("shemaroo"))&&"+970"===L(null==a?void 0:a.country,s)&&(s=s.replace("970","972")),f.advancedInFlow("tallyman.v1-pin","msisdn-submitted",{msisdn:s}),[4,N(i,a,s)];case 2:return w=t.sent(),f.advancedInFlow("tallyman.v1-pin","msisdn-submission-success",{msisdn:s}),"SingleMSISDNSubmissionResult"===w.type&&w.redirectUrl&&(f.advancedInFlow("tallyman.v1-pin","msisdn-submission-success",{msisdn:s}),f.customEvent("Flow","advance-auto","msisdn-redirect",{redirectUrl:w.redirectUrl}),i.location.href=w.redirectUrl),c&&c.storeMsisdn&&"true"===c.storeMsisdn?[4,v(s).then((function(e){e&&e.data&&e.data.success?f.customEvent("Flow","advance-auto","msisdn-stored-success"):f.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(e){f.customEvent("Flow","advance-auto","msisdn-stored-error",e)}))]:[3,4];case 3:t.sent(),t.label=4;case 4:return g="SingleMSISDNSubmissionResult"===w.type?w.operator:"",I={SA_MOBILY:6,SA_STC:4,SA_ZAIN:4},h=new Event("onPinPage"),null==i||i.dispatchEvent(h),[2,n(n({},S),{type:"PINEntry",result:o(),data:n({actualPIN:"SingleMSISDNSubmissionResult"===w.type?w.pin:null,msisdn:s,operator:g,pinMaxLength:""!==g&&I[g]?I[g]:null,isHeaderEnrichmentSuccess:y},"SingleMSISDNSubmissionResult"===w.type&&(null==w?void 0:w.userType)?{userType:w.userType}:{})})];case 5:switch(b=t.sent(),console.warn(b),_=void 0,b.type){case"AlreadySubscribed":_="AlreadySubscribed";break;case"InvalidMSISDN":_="InvalidMSISDN";break;default:_="UnknownError"}return f.recedeInFlow("tallyman.v1-pin","msisdn-submission-failure",{msisdn:s,errorType:_,error:b.toString(),message:b.message,productUrl:b.productUrl}),y&&p(d({type:l.PIN,data:{isHeaderEnrichmentSuccess:y}})),[2,m({errorType:_,error:b.toString(),message:b.message,productUrl:b.productUrl})];case 6:return[2]}}))}))})),B=a("pinFlow/submitPinAction",(function(r,a){var i=r.window,o=r.msisdn,c=r.pin,u=r.extraParams,d=a.getState,l=a.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,r,a,p,m,y,S,w,g,I;return t(this,(function(t){switch(t.label){case 0:if(e=d(),!(null===(g=null===(w=null===(S=null==e?void 0:e.strategy)||void 0===S?void 0:S.currentState)||void 0===w?void 0:w.data)||void 0===g?void 0:g.config))return[2,l({errorType:"UnexpectedState"})];r=e.strategy.currentState.data.config,a=null===(I=e.pinFlow)||void 0===I?void 0:I.currentState,t.label=1;case 1:return t.trys.push([1,5,,6]),f.advancedInFlow("tallyman.v1-pin","pin-submitted",{msisdn:o,pin:c}),[4,M(i,c,r,u)];case 2:return p=t.sent(),f.advancedInFlow("tallyman.v1-pin","pin-submission-success",{msisdn:o,pin:c,finalUrl:p.productUrl}),p.gatewayRedirectUrl&&""!==p.gatewayRedirectUrl&&(f.advancedInFlow("tallyman.v1-pin","gateway-redirect",{msisdn:o,pin:c,gatewayRedirectUrl:p.gatewayRedirectUrl}),i.location.href=p.gatewayRedirectUrl),u&&u.storeMsisdn&&"true"===u.storeMsisdn?[4,v(o).then((function(e){e&&e.data&&e.data.success?f.customEvent("Flow","advance-auto","msisdn-stored-success"):f.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(e){f.customEvent("Flow","advance-auto","msisdn-stored-error",e)}))]:[3,4];case 3:t.sent(),t.label=4;case 4:return[2,n(n({},a),{type:"PINEntry",result:s({finalUrl:p.productUrl,isAlreadySubscribed:p.isAlreadySubscribed||!1})})];case 5:switch(m=t.sent(),console.warn(m),y=void 0,m.type){case"AlreadySubscribed":y="AlreadySubscribed";break;case"InvalidPIN":y="InvalidPIN";break;case"SessionBlocked":y="SessionBlocked";break;case"ExpiredPIN":y="ExpiredPIN";break;case"InsufficientBalance":y="InsufficientBalance";break;default:y="UnknownError"}return f.recedeInFlow("tallyman.v1-pin","pin-submission-failure",{msisdn:o,pin:c,errorType:y,error:m.toString(),message:m.message,productUrl:m.productUrl}),setTimeout((function(){m.productUrl&&(i.location.href=m.productUrl)}),0),[2,l({errorType:y,error:m.toString(),message:m.message,productUrl:m.productUrl})];case 6:return[2]}}))}))})),x={PS:"970"},L=function(e,t){if(!e||!t)return"";var r=e.toUpperCase(),n=x[r];return n?"+".concat(n):(console.error("Country code not found for",e),"")},q=i({name:"pinFlow",initialState:F,reducers:{backToStartAction:function(e){f.recedeInFlow("tallyman.v1-pin","pin-state","requested to change phone number"),e.currentState={type:"MSISDNEntry",result:o()}}},extraReducers:function(e){e.addCase(T.pending,(function(e){e.currentState={type:"MSISDNEntry",result:c(),data:e.currentState.data}})).addCase(T.fulfilled,(function(e,t){e.currentState=t.payload})).addCase(T.rejected,(function(e,t){e.currentState={type:"MSISDNEntry",result:u(t.payload),data:e.currentState.data}})).addCase(B.pending,(function(e){e.currentState={type:"PINEntry",result:c(),data:e.currentState.data}})).addCase(B.fulfilled,(function(e,t){e.currentState=t.payload})).addCase(B.rejected,(function(e,t){e.currentState={type:"PINEntry",result:u(t.payload),data:e.currentState.data}}))}}),O=q.reducer,V=q.actions.backToStartAction;export{V as backToStartAction,h as pinFlowMatch,O as pinFlowReducer,T as submitMSISDNAction,B as submitPinAction,I as usePinFlowState};
1
+ import{__awaiter as e,__generator as t,__read as r,__assign as n}from"tslib";import{createAsyncThunk as a,createSlice as i}from"@reduxjs/toolkit";import{N as o,S as s,L as c,F as u}from"./RemoteDataState-lcf8PfJd.js";import{c as d,P as l}from"./strategySlice-BGKBSWuf.js";import{searchToObject as p}from"./searchToObject.js";import{s as v}from"./storeMsisdn-Cjq8_qYH.js";import{t as f}from"./tracker-DaaILhEr.js";import{b as m}from"./bupperizeCountry-CEtt0MKz.js";import{l as y,r as S,a as w}from"./helpers-xPhGBX-B.js";import{l as g}from"./loadScriptInnerHtml-BzQm-AFb.js";import"./getConfig.js";import"./tryGetIPRangeName-QW-9NgzE.js";import"pacman-client";import"uuid";var I=function(e){return e((function(e){return e.pinFlow.currentState}))};function h(e){var t=e.msisdnEntry,r=e.pinEntry;return function(e){switch(e.type){case"MSISDNEntry":return t(e.result);case"PINEntry":return r(e.result,e.data);default:throw new Error("Invalid State")}}}var b=function(e){return"be"===e?"undefined"!=typeof window&&!0===window.shouldBlock?"&is-clean-traffic=false":"&is-clean-traffic=true":""},_=function(n){var a=n.window,i=n.country,o=n.slug,s=n.device,c=n.offer,u=n.msisdn,d=n.rockmanId,l=n.extraParams,p=n.search,v=n.uniqid,f=n.evinaTid;return e(void 0,void 0,void 0,(function(){var e,n,m,y,S,w,g;return t(this,(function(t){return e=b(i),n="&".concat(Object.keys(l).map((function(e){return l[e]?"".concat(e,"=").concat(l[e]):""})).filter(Boolean).join("&")),m={action:"trigger-pin",country:i,slug:o,device:s,offerId:c,msisdn:u,rockman_id:d,sam_evina_tid:f,page:encodeURIComponent(null===(g=null==a?void 0:a.location)||void 0===g?void 0:g.href),language_code:a.languageCode||"",antifraud_id:a.antifraud_id||"",partner_transaction_id:a.partner_transaction_id||"",partner_timestamp:a.partner_timestamp||"",partner_cid:a.partner_cid||"",uniqid:v||""},y=Object.entries(m).filter((function(e){var t=r(e,2);return t[0],t[1]})).map((function(e){var t=r(e,2),n=t[0],a=t[1];return"".concat(n,"=").concat(a)})).join("&"),S=a.DEV_BASE_URL||"",w="".concat(S,"/tallyman/v1/?").concat(y).concat(e).concat(n).concat(p?"&".concat(p):""),[2,fetch(w).then((function(e){return e.json()}))]}))}))},E=function(n){var a=n.window,i=n.country,o=n.slug,s=n.device,c=n.offer,u=n.rockmanId,d=n.pin,l=n.extraParams,p=n.uniqid,v=n.evinaTid;return e(void 0,void 0,void 0,(function(){var e,n,f,y,S,w,g;return t(this,(function(t){return e=b(i),n="&".concat(Object.keys(l).map((function(e){return"".concat(e,"=").concat(l[e])})).join("&")),f={action:"verify-pin",country:m(i),slug:o,device:s,offerId:c,rockman_id:u,pin:d,page:encodeURIComponent(null===(g=null==a?void 0:a.location)||void 0===g?void 0:g.href),language_code:a.languageCode||"",antifraud_id:a.antifraud_id||"",ClickID:a.antifraud_click_id||"",partner_cid:a.partner_cid||"",sam_evina_tid:v,uniqid:p},y=Object.entries(f).filter((function(e){var t=r(e,2);return t[0],t[1]})).map((function(e){var t=r(e,2),n=t[0],a=t[1];return"".concat(n,"=").concat(a)})).join("&"),S=a.DEV_BASE_URL||"",w="".concat(S,"/tallyman/v1/?").concat(y).concat(e).concat(n),[2,fetch(w).then((function(e){return e.json()}))]}))}))},k=function(r){var a=r.window,i=r.country,o=r.slug,s=r.device,c=r.offer,u=r.rockmanId,d=r.operator,l=r.uniqid;return e(void 0,void 0,void 0,(function(){var e,r,p,v,f;return t(this,(function(t){return e=a.location.href,r=a.pac_analytics.visitor.ip,p=new URLSearchParams(n(n({action:"mcp-shield",country:i,slug:o,device:s,offerId:c.toString(),rockman_id:u,client_lpu:e},d&&{operator:d}),l&&{uniqid:l})),r&&p.append("client_ip",r),v=a.DEV_BASE_URL||"",f="".concat(v,"/tallyman/v1/?").concat(p.toString()),[2,fetch(f).then((function(e){return e.json()}))]}))}))};function N(r,a,i,o){return e(this,void 0,void 0,(function(){var e;return t(this,(function(t){return!0===(e=n({offer:r.pac_analytics.visitor.offer},a||{})).automaticallySubmitAllOperators&&e.operators&&e.operators.length>0?[2,D(r,e,i,e.operators,o)]:[2,P(r,e,i,o)]}))}))}var U="";function P(r,a,i,o){return e(this,void 0,void 0,(function(){var e,s,c,u,d,l,v,f,m,y,S,w,I,h,b,E,N,P;return t(this,(function(t){switch(t.label){case 0:if(!i)throw(e=new Error("Error in submitMSISDN() trigger-pin action")).type="InvalidMSISDN",e;return s=o||{},c=!1,"true"===(null==(u=p(r))?void 0:u.success)&&"1"===u["msisdn-alias"]&&(s["skip-validation"]="1"),"1"===s["skip-validation"]&&(c=!0),d=c?i:i.match(/\d+/gi).join(""),l=r.pac_analytics.visitor.rockmanId,v=a.slug,f=a.country,m=a.device,y=a.offer,S=-1===r.location.search.indexOf("redirect-back=1")&&r.location.search.substr(1)||"",w=U&&""!==U?"&mcpUniqid=".concat(U):"",I=void 0!==r&&r.tid?r.tid:"",[4,_({window:r,country:f,slug:v,device:m,offer:y,msisdn:d,rockmanId:l,extraParams:s,search:S,uniqid:w,evinaTid:I})];case 1:if(!1!==(h=t.sent()).success)return[3,2];switch((b=new Error("Error in submitMSISDN() trigger-pin action:\n".concat(h.message))).message=h.message,!0){case h.message.includes("ALREADY SUBSCRIBED"):b.type="AlreadySubscribed";break;case h.message.includes("invalid"):b.type="InvalidMSISDN";break;default:b.type=null}throw b.productUrl=h.product_url?h.product_url:"",console.error(b),b;case 2:if(r.operator=h.operator,E={kw:{kw_viva:"kw_viva"},k2:{k2_viva:"k2_viva"},bh:{bh_viva:"bh_viva"}},!(f&&h.operator&&(E[f.toLowerCase()]&&E[f.toLowerCase()][h.operator.toLowerCase()]||"iq"===f.toLowerCase()))||r.isCallBlockApi||r.Empello)return[3,6];t.label=3;case 3:return t.trys.push([3,5,,6]),[4,k({window:r,country:f,slug:v,device:m,offer:y,rockmanId:l,operator:h.operator,uniqid:w})];case 4:return!1===(N=t.sent()).success?console.warn(N.message):(g(N.source),U=N.uniqid),[3,6];case 5:return P=t.sent(),console.warn(P),[3,6];case 6:return h.javascript&&g(h.javascript),[2,n({type:"SingleMSISDNSubmissionResult",pin:h.pin,uniqidResult:U,operator:h.operator,redirectUrl:null==h?void 0:h.redirect_to_url},(null==h?void 0:h.userType)?{userType:null==h?void 0:h.userType}:{})]}}))}))}function D(r,a,i,o,s){return e(this,void 0,void 0,(function(){var c,u,d=this;return t(this,(function(l){switch(l.label){case 0:return[4,Promise.all(o.map((function(o){return e(d,void 0,void 0,(function(){var e,c;return t(this,(function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,P(r,a,i,n(n({},s),{operator:o}))];case 1:return e=t.sent(),[2,S(n(n({},e),{operator:o}))];case 2:return c=t.sent(),[2,y(c)];case 3:return[2]}}))}))})))];case 1:if(c=l.sent(),u=c.find((function(e){var t;return"left"===e.type&&"AlreadySubscribed"===(null===(t=e.value)||void 0===t?void 0:t.type)})),c.every((function(e){return"left"===e.type})))throw c[0].value;if(u)throw u.value;return[2,{type:"MultiOperatorMSISDNSubmissionResult"}]}}))}))}function M(n,a,i,o){return e(this,void 0,void 0,(function(){var s,c,u,d,l,v,f,y,S,g,I,h,b,_,k,N;return t(this,(function(P){switch(P.label){case 0:if(n.hostCountry&&n.hostSlug&&(i.country=n.hostCountry,i.slug=n.hostSlug),s=i.slug,c=i.country,u=i.device,d=n.pac_analytics.visitor.offer,l=o||{},"true"===(null==(v=p(n))?void 0:v.success)&&"1"===v["msisdn-alias"]&&(l["skip-validation"]="1"),f=n.pac_analytics.visitor.rockmanId,!a)throw(y=new Error("Error in submitMSISDN() verify-pin action:\n Pin Cannot Be Empty")).type="InvalidPIN",y;return S=""!==U?"&mcpUniqid=".concat(U):"",g=void 0!==n&&n.tid?n.tid:"",[4,E({window:n,country:c,slug:s,device:u,offer:d,rockmanId:f,pin:a,extraParams:l,uniqid:S,evinaTid:g})];case 1:if(!1!==(I=P.sent()).success)return[3,2];throw h={"pin does not match":"InvalidPIN","mcp blocked":"SessionBlocked",expired_pin:"ExpiredPIN",insufficient_balance:"InsufficientBalance"}[I.message],(k=new Error("Error in submitMSISDN() verify-pin action:\n".concat(h))).type=h||"InvalidPIN",k.message=I.message,console.error(k),k;case 2:return!0!==I.async?[3,4]:I.product_url&&""!==I.product_url&&"es"===(null==c?void 0:c.toLowerCase())?[2,{gatewayRedirectUrl:I.product_url}]:(b=function(){return function(n){var a=n.window,i=n.country,o=n.slug,s=n.device,c=n.offer,u=n.rockmanId;return e(void 0,void 0,void 0,(function(){var e,n,d,l;return t(this,(function(t){return e={action:"check-subscription",country:m(i),slug:o,device:s,offerId:c,rockman_id:u},n=Object.entries(e).filter((function(e){var t=r(e,2);return t[0],null!=t[1]})).map((function(e){var t=r(e,2),n=t[0],a=t[1];return"".concat(n,"=").concat(encodeURIComponent(a))})).join("&"),d=a.DEV_BASE_URL||"",l="".concat(d,"/tallyman/v1/?").concat(n),[2,fetch(l).then((function(e){return e.json()}))]}))}))}({window:n,country:c,slug:s,device:u,offer:d,rockmanId:f,extraParams:o})},[4,w(b,100,(function(e){return e.success||"invalid_pin"===e.message}),0)]);case 3:if(!0===(_=P.sent()).success)return N="ALREADY SUBSCRIBED"===I.message,[2,{productUrl:_.product_url||null,isAlreadySubscribed:N}];throw(k=new Error("Error in submitMSISDN() verify-pin action:\n".concat(_.message))).type="InvalidPIN",k.message=_.message,k;case 4:return N="ALREADY SUBSCRIBED"===I.message,[2,{productUrl:I.product_url||null,isAlreadySubscribed:N}]}}))}))}var j={currentState:{type:"PINEntry",result:o(),data:{actualPIN:"",msisdn:"",operator:"",pinMaxLength:4}}},A={currentState:{type:"PINEntry",result:s({finalUrl:"/product"}),data:{actualPIN:"",msisdn:"",operator:"",pinMaxLength:4}}},C={currentState:{type:"MSISDNEntry",result:u({errorType:"InvalidMSISDN",error:"Invalid Mobile Number"})}},R={currentState:{type:"MSISDNEntry",result:o()}},F=function(e){var t=p(e),r=new Event("onPinPage");if(!t["mock-flow"])return R;switch(t["current-state"]){case"msisdn-failure-state":return C;case"pin-state":return null==e||e.dispatchEvent(r),j;case"completed-state":return A;default:return console.error("Mock Flow not supported"),R}}(window),T=a("pinFlow/submitMSISDNAction",(function(r,a){var i=r.window,s=r.msisdn,c=r.extraParams,u=a.getState,p=a.dispatch,m=a.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,r,a,y,S,w,g,I,h,b,_,E,k,U,P;return t(this,(function(t){switch(t.label){case 0:if(e=u(),!(null===(U=null===(k=null===(E=null==e?void 0:e.strategy)||void 0===E?void 0:E.currentState)||void 0===k?void 0:k.data)||void 0===U?void 0:U.config))return[2,m({errorType:"UnexpectedState"})];r=e.strategy.currentState.data,a=r.config,y=r.isHeaderEnrichmentSuccess,S=null===(P=e.pinFlow)||void 0===P?void 0:P.currentState,t.label=1;case 1:return t.trys.push([1,5,,6]),"ps"===(null==a?void 0:a.country.toLowerCase())&&(null==a?void 0:a.slug.includes("shemaroo"))&&"+970"===L(null==a?void 0:a.country,s)&&(s=s.replace("970","972")),f.advancedInFlow("tallyman.v1-pin","msisdn-submitted",{msisdn:s}),[4,N(i,a,s)];case 2:return w=t.sent(),f.advancedInFlow("tallyman.v1-pin","msisdn-submission-success",{msisdn:s}),"SingleMSISDNSubmissionResult"===w.type&&w.redirectUrl&&(f.advancedInFlow("tallyman.v1-pin","msisdn-submission-success",{msisdn:s}),f.customEvent("Flow","advance-auto","msisdn-redirect",{redirectUrl:w.redirectUrl}),i.location.href=w.redirectUrl),c&&c.storeMsisdn&&"true"===c.storeMsisdn?[4,v(s).then((function(e){e&&e.data&&e.data.success?f.customEvent("Flow","advance-auto","msisdn-stored-success"):f.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(e){f.customEvent("Flow","advance-auto","msisdn-stored-error",e)}))]:[3,4];case 3:t.sent(),t.label=4;case 4:return g="SingleMSISDNSubmissionResult"===w.type?w.operator:"",I={SA_MOBILY:6,SA_STC:4,SA_ZAIN:4},h=new Event("onPinPage"),null==i||i.dispatchEvent(h),[2,n(n({},S),{type:"PINEntry",result:o(),data:n({actualPIN:"SingleMSISDNSubmissionResult"===w.type?w.pin:null,msisdn:s,operator:g,pinMaxLength:""!==g&&I[g]?I[g]:null,isHeaderEnrichmentSuccess:y},"SingleMSISDNSubmissionResult"===w.type&&(null==w?void 0:w.userType)?{userType:w.userType}:{})})];case 5:switch(b=t.sent(),console.warn(b),_=void 0,b.type){case"AlreadySubscribed":_="AlreadySubscribed";break;case"InvalidMSISDN":_="InvalidMSISDN";break;default:_="UnknownError"}return f.recedeInFlow("tallyman.v1-pin","msisdn-submission-failure",{msisdn:s,errorType:_,error:b.toString(),message:b.message,productUrl:b.productUrl}),y&&p(d({type:l.PIN,data:{isHeaderEnrichmentSuccess:y}})),[2,m({errorType:_,error:b.toString(),message:b.message,productUrl:b.productUrl})];case 6:return[2]}}))}))})),B=a("pinFlow/submitPinAction",(function(r,a){var i=r.window,o=r.msisdn,c=r.pin,u=r.extraParams,d=a.getState,l=a.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,r,a,p,m,y,S,w,g,I;return t(this,(function(t){switch(t.label){case 0:if(e=d(),!(null===(g=null===(w=null===(S=null==e?void 0:e.strategy)||void 0===S?void 0:S.currentState)||void 0===w?void 0:w.data)||void 0===g?void 0:g.config))return[2,l({errorType:"UnexpectedState"})];r=e.strategy.currentState.data.config,a=null===(I=e.pinFlow)||void 0===I?void 0:I.currentState,t.label=1;case 1:return t.trys.push([1,5,,6]),f.advancedInFlow("tallyman.v1-pin","pin-submitted",{msisdn:o,pin:c}),[4,M(i,c,r,u)];case 2:return p=t.sent(),f.advancedInFlow("tallyman.v1-pin","pin-submission-success",{msisdn:o,pin:c,finalUrl:p.productUrl}),p.gatewayRedirectUrl&&""!==p.gatewayRedirectUrl&&(f.advancedInFlow("tallyman.v1-pin","gateway-redirect",{msisdn:o,pin:c,gatewayRedirectUrl:p.gatewayRedirectUrl}),i.location.href=p.gatewayRedirectUrl),u&&u.storeMsisdn&&"true"===u.storeMsisdn?[4,v(o).then((function(e){e&&e.data&&e.data.success?f.customEvent("Flow","advance-auto","msisdn-stored-success"):f.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(e){f.customEvent("Flow","advance-auto","msisdn-stored-error",e)}))]:[3,4];case 3:t.sent(),t.label=4;case 4:return[2,n(n({},a),{type:"PINEntry",result:s({finalUrl:p.productUrl,isAlreadySubscribed:p.isAlreadySubscribed||!1})})];case 5:switch(m=t.sent(),console.warn(m),y=void 0,m.type){case"AlreadySubscribed":y="AlreadySubscribed";break;case"InvalidPIN":y="InvalidPIN";break;case"SessionBlocked":y="SessionBlocked";break;case"ExpiredPIN":y="ExpiredPIN";break;case"InsufficientBalance":y="InsufficientBalance";break;default:y="UnknownError"}return f.recedeInFlow("tallyman.v1-pin","pin-submission-failure",{msisdn:o,pin:c,errorType:y,error:m.toString(),message:m.message,productUrl:m.productUrl}),setTimeout((function(){m.productUrl&&(i.location.href=m.productUrl)}),0),[2,l({errorType:y,error:m.toString(),message:m.message,productUrl:m.productUrl})];case 6:return[2]}}))}))})),x={PS:"970"},L=function(e,t){if(!e||!t)return"";var r=e.toUpperCase(),n=x[r];return n?"+".concat(n):(console.error("Country code not found for",e),"")},q=i({name:"pinFlow",initialState:F,reducers:{backToStartAction:function(e){f.recedeInFlow("tallyman.v1-pin","pin-state","requested to change phone number"),e.currentState={type:"MSISDNEntry",result:o()}}},extraReducers:function(e){e.addCase(T.pending,(function(e){e.currentState={type:"MSISDNEntry",result:c(),data:e.currentState.data}})).addCase(T.fulfilled,(function(e,t){e.currentState=t.payload})).addCase(T.rejected,(function(e,t){e.currentState={type:"MSISDNEntry",result:u(t.payload),data:e.currentState.data}})).addCase(B.pending,(function(e){e.currentState={type:"PINEntry",result:c(),data:e.currentState.data}})).addCase(B.fulfilled,(function(e,t){e.currentState=t.payload})).addCase(B.rejected,(function(e,t){e.currentState={type:"PINEntry",result:u(t.payload),data:e.currentState.data}}))}}),O=q.reducer,V=q.actions.backToStartAction;export{V as backToStartAction,h as pinFlowMatch,O as pinFlowReducer,T as submitMSISDNAction,B as submitPinAction,I as usePinFlowState};
2
2
  //# sourceMappingURL=pinFlow.js.map
package/dist/strategy.js CHANGED
@@ -1,2 +1,2 @@
1
- export{R as RDS}from"./RemoteDataState-lcf8PfJd.js";import{P as t}from"./strategySlice-C7LOOrGS.js";export{i as identifyStrategy,a as selectOperatorAction,b as strategyReducer,s as submitMSISDNAction}from"./strategySlice-C7LOOrGS.js";import"tslib";import"@reduxjs/toolkit";import"./searchToObject.js";import"./getConfig.js";import"./tryGetIPRangeName-QW-9NgzE.js";import"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var e=function(t){return t((function(t){return t.strategy.currentState}))};function r(e){var r=e.identifyInitialState,o=e.identifyFlowByOperatorSelect,a=e.identifyFlowByMsisdn,s=e.pinFlow,i=e.moFlow,n=e.moRedirFlow,c=e.oneClickFlow,u=e.click2smsFlow,l=e.ussdFlow,p=e.creditCardFlow;return function(e){switch(e.type){case t.IDENTIFY_STRATEGY:return r();case t.IDENTIFY_FLOW_BY_OPERATOR_SELECT:return o();case t.IDENTIFY_FLOW_BY_MSISDN:return a(e.result);case t.PIN:return s();case t.MO:return i();case t.MO_REDIR:return n();case t.ONE_CLICK:return c();case t.CLICK2SMS:return u();case t.USSD:return l();case t.CREDIT_CARD:return p();default:throw new Error("Unexpected state type: ".concat(e.type))}}}export{t as PossibleTypes,r as strategy,e as useStrategyState};
1
+ export{R as RDS}from"./RemoteDataState-lcf8PfJd.js";import{P as t}from"./strategySlice-BGKBSWuf.js";export{i as identifyStrategy,a as selectOperatorAction,b as strategyReducer,s as submitMSISDNAction}from"./strategySlice-BGKBSWuf.js";import"tslib";import"@reduxjs/toolkit";import"./searchToObject.js";import"./getConfig.js";import"./tryGetIPRangeName-QW-9NgzE.js";import"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var e=function(t){return t((function(t){return t.strategy.currentState}))};function r(e){var r=e.identifyInitialState,o=e.identifyFlowByOperatorSelect,a=e.identifyFlowByMsisdn,s=e.pinFlow,i=e.moFlow,n=e.moRedirFlow,c=e.oneClickFlow,u=e.click2smsFlow,l=e.ussdFlow,p=e.creditCardFlow;return function(e){switch(e.type){case t.IDENTIFY_STRATEGY:return r();case t.IDENTIFY_FLOW_BY_OPERATOR_SELECT:return o();case t.IDENTIFY_FLOW_BY_MSISDN:return a(e.result);case t.PIN:return s();case t.MO:return i();case t.MO_REDIR:return n();case t.ONE_CLICK:return c();case t.CLICK2SMS:return u();case t.USSD:return l();case t.CREDIT_CARD:return p();default:throw new Error("Unexpected state type: ".concat(e.type))}}}export{t as PossibleTypes,r as strategy,e as useStrategyState};
2
2
  //# sourceMappingURL=strategy.js.map