ouisys-engine 5.0.107 → 5.0.109
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-geirVksI.js +2 -0
- package/dist/api-geirVksI.js.map +1 -0
- package/dist/checkSubscriptionHander.js +1 -1
- package/dist/checkSubscriptionHander.js.map +1 -1
- package/dist/formatNumberToE164-DaAFvpKD.js +2 -0
- package/dist/formatNumberToE164-DaAFvpKD.js.map +1 -0
- package/dist/handleSubmitNumber.js +1 -1
- package/dist/initTPay.js +1 -1
- package/dist/moFlow.js +1 -1
- package/dist/moRedirFlow.js +1 -1
- package/dist/moRedirFlow.js.map +1 -1
- package/dist/oneClickFlow.js +1 -1
- package/dist/oneClickFlow.js.map +1 -1
- package/dist/pinFlow.js +1 -1
- package/dist/pinFlow.js.map +1 -1
- package/dist/strategy.js +1 -1
- package/dist/strategySlice-BfNZvJIC.js +2 -0
- package/dist/strategySlice-BfNZvJIC.js.map +1 -0
- package/dist/types/{StrategyTypes-CuJHCe-x.d.ts → StrategyTypes-DToDFlBg.d.ts} +1 -0
- package/dist/types/click2smsFlow.d.ts +1 -1
- package/dist/types/strategy.d.ts +2 -2
- package/dist/updateUrlWithParams-C6-BX4TY.js +2 -0
- package/dist/updateUrlWithParams-C6-BX4TY.js.map +1 -0
- package/dist/ussdFlow.js +1 -1
- package/dist/ussdFlow.js.map +1 -1
- package/package.json +1 -1
- package/dist/api-CqJrSvqq.js +0 -2
- package/dist/api-CqJrSvqq.js.map +0 -1
- package/dist/bupperizeCountry-CEtt0MKz.js +0 -2
- package/dist/bupperizeCountry-CEtt0MKz.js.map +0 -1
- package/dist/formatNumberToE164-Bd0VHMHJ.js +0 -2
- package/dist/formatNumberToE164-Bd0VHMHJ.js.map +0 -1
- package/dist/strategySlice-VjeKbch0.js +0 -2
- package/dist/strategySlice-VjeKbch0.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__awaiter as n,__generator as o,__assign as i}from"tslib";var t=function(n){return"gb"===n?"uk":n},e=function(i){var t=i.window,e=i.slug,r=i.country,c=i.msisdn,a=i.device,d=i.offer,l=i.rockmanId;return n(void 0,void 0,void 0,(function(){var n,i,s,u,v;return o(this,(function(o){switch(o.label){case 0:return n=t.languageCode||"",i=encodeURIComponent(t.location.href),s=t.DEV_BASE_URL||"",u=new URLSearchParams({action:"identify",slug:e,country:r,msisdn:c,device:a,offerId:d,rockman_id:l,page:i,language_code:n}).toString(),v="".concat(s,"/tallyman/v1/?").concat(u),[4,fetch(v)];case 1:return[2,o.sent().json()]}}))}))},r=function(e){var r=e.window,c=e.country,a=e.slug,d=e.offer,l=e.rockmanId,s=e.search,u=void 0===s?"":s;return n(void 0,void 0,void 0,(function(){var n,e,s,v,f,g,m,h,p,_,y,w;return o(this,(function(o){switch(o.label){case 0:return n=void 0!==r&&r.tid?r.tid:"",e=new URLSearchParams(i(i({action:"redirect",device:"smart",slug:a,offerId:d,country:t(c),rockman_id:l,sam_evina_tid:n},(null===(m=null==r?void 0:r.location)||void 0===m?void 0:m.href)&&{page:encodeURIComponent(null===(h=null==r?void 0:r.location)||void 0===h?void 0:h.href)}),(null===(_=null===(p=null==r?void 0:r.pac_analytics)||void 0===p?void 0:p.visitor)||void 0===_?void 0:_.ip)&&{ip_address:null===(w=null===(y=null==r?void 0:r.pac_analytics)||void 0===y?void 0:y.visitor)||void 0===w?void 0:w.ip})),s=r.DEV_BASE_URL||"",v="".concat(s,"/tallyman/v1/?").concat(e.toString()).concat(u?"&".concat(u):""),[4,fetch(v).then((function(n){return n.json()}))];case 1:if(!1===(f=o.sent()).success)throw(g=new Error("Error in getRedirectUrl() identify-user action:\n".concat(f.message))).type="NotOn3g",g;return[2,f]}}))}))};export{t as b,r as g,e as i};
|
|
2
|
+
//# sourceMappingURL=api-geirVksI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-geirVksI.js","sources":["../src/utilities/bupperizeCountry.ts","../src/flows/strategy/api.ts"],"sourcesContent":["const bupperizeCountry = (c: string) => (c === 'gb' ? 'uk' : c);\nexport { bupperizeCountry };\n","import { IError } from '../../common-types/IError';\nimport { IIdentifyResult, IStrategyIDentifyUserResult } from '../../sharedFlowTypes/StrategyTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\n\nconst fetchJsonp: <T>({ window, _url }: { window: Window; _url: string }) => Promise<T> = ({\n window,\n _url\n}: {\n window: Window;\n _url: string;\n}) => {\n let url = _url;\n const ouisys_callback_function = `ouisys_callback_function${Math.floor(Math.random() * 10000)}`;\n return new Promise((resolve, reject) => {\n (window as any)[ouisys_callback_function] = (arg: any) => {\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};\nconst identify = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn: string;\n device: string;\n offer: string;\n rockmanId: string;\n}): Promise<IIdentifyResult> => {\n const languageCode = window.languageCode || '';\n const locationHref = encodeURIComponent(window.location.href);\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = {\n action: 'identify',\n slug,\n country,\n msisdn,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n page: locationHref,\n language_code: languageCode\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\nconst identifyUserGetSubscriptionUrl = async ({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId,\n extraParamsQs = '',\n search = ''\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n extraParamsQs?: string;\n search?: string;\n}): Promise<IStrategyIDentifyUserResult> => {\n const xaid = window.pac_analytics.visitor.xaid || '';\n const locationHref = encodeURIComponent(window.location.href);\n const pixelUrl = encodeURIComponent(\n `http://${window.location.host}/pixels?xcid=${window.location.pathname.replace(\n '/',\n ''\n )}&xaid=${xaid}&country=${bupperizeCountry(country)}`\n );\n\n const params = {\n action: 'identify-user',\n country: bupperizeCountry(country),\n slug,\n device,\n offerId: offer,\n page: locationHref,\n pixel_url: pixelUrl,\n rockman_id: rockmanId,\n extraParamsQs,\n search\n };\n\n const urlParams = new URLSearchParams(params).toString();\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${urlParams}`;\n\n const response = await fetchJsonp<IStrategyIDentifyUserResult>({\n window,\n _url: url\n });\n return response;\n};\n\nconst getRedirectUrl = async ({\n window,\n country,\n slug,\n offer,\n rockmanId,\n search = ''\n}: {\n window: Window;\n country: string;\n slug: string;\n device: string;\n offer: string;\n rockmanId: string;\n extraParamsQs?: string;\n search?: string;\n}): Promise<{\n redirect_url: string;\n operator: string;\n success: boolean;\n network_type: 'wifi' | 'data';\n}> => {\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const params = new URLSearchParams({\n action: 'redirect',\n device: 'smart',\n slug,\n offerId: offer,\n country: bupperizeCountry(country),\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n ...(window?.location?.href && { page: encodeURIComponent(window?.location?.href) }),\n ...(window?.pac_analytics?.visitor?.ip && { ip_address: window?.pac_analytics?.visitor?.ip })\n });\n\n const host = window.DEV_BASE_URL || '';\n\n const url = `${host}/tallyman/v1/?${params.toString()}${search ? `&${search}` : ''}`;\n const result = await fetch(url).then((x) => x.json());\n\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return result;\n }\n};\n\nexport { identify, identifyUserGetSubscriptionUrl, getRedirectUrl };\n"],"names":["bupperizeCountry","c","identify","_a","window","slug","country","msisdn","device","offer","rockmanId","languageCode","locationHref","encodeURIComponent","location","href","host","DEV_BASE_URL","urlParams","URLSearchParams","action","offerId","rockman_id","page","language_code","toString","url","concat","fetch","_b","sent","json","getRedirectUrl","search","evinaTid","tid","params","__assign","sam_evina_tid","_c","_d","_f","pac_analytics","_e","visitor","ip","ip_address","_h","_g","then","x","result","_j","success","identifyError","Error","message","type"],"mappings":"iEAAM,IAAAA,EAAmB,SAACC,GAAc,MAAO,OAANA,EAAa,KAAOA,CAArB,EC+BlCC,EAAW,SAAOC,GACtB,IAAAC,WACAC,SACAC,YACAC,EAAMJ,EAAAI,OACNC,EAAML,EAAAK,OACNC,EAAKN,EAAAM,MACLC,EAASP,EAAAO,oHA6BQ,OAnBXC,EAAeP,EAAOO,cAAgB,GACtCC,EAAeC,mBAAmBT,EAAOU,SAASC,MAClDC,EAAQZ,EAAkBa,cAAgB,GAc1CC,EAAY,IAAIC,gBAZP,CACbC,OAAQ,WACRf,KAAIA,EACJC,QAAOA,EACPC,OAAMA,EACNC,OAAMA,EACNa,QAASZ,EACTa,WAAYZ,EACZa,KAAMX,EACNY,cAAeb,IAG6Bc,WACxCC,EAAM,GAAGC,OAAAX,EAAqB,kBAAAW,OAAAT,GAEnB,CAAA,EAAMU,MAAMF,WAC7B,MAAA,CAAA,EADiBG,EAAgBC,OACjBC,gBAuDZC,EAAiB,SAAO7B,GAC5B,IAAAC,WACAE,YACAD,SACAI,UACAC,cACAmB,EAAA1B,EAAA8B,OAAAA,OAAM,IAAAJ,EAAG,GAAEA,0HAiCI,OAjBTK,OAA6B,IAAX9B,GAA0BA,EAAO+B,IAAM/B,EAAO+B,IAAM,GAEtEC,EAAS,IAAIjB,gBAAekB,EAAAA,EAAA,CAChCjB,OAAQ,WACRZ,OAAQ,QACRH,KAAIA,EACJgB,QAASZ,EACTH,QAASN,EAAiBM,GAC1BgB,WAAYZ,EACZ4B,cAAeJ,IACO,QAAlBK,EAAAnC,eAAAA,EAAQU,gBAAU,IAAAyB,OAAA,EAAAA,EAAAxB,OAAQ,CAAEQ,KAAMV,mBAAmC,QAAhB2B,EAAApC,eAAAA,EAAQU,gBAAQ,IAAA0B,OAAA,EAAAA,EAAEzB,iBACvE0B,EAAuB,UAAvBrC,aAAM,EAANA,EAAQsC,qBAAe,IAAAC,OAAA,EAAAA,EAAAC,8BAASC,KAAM,CAAEC,mBAAYC,EAAuB,QAAvBC,EAAA5C,aAAA,EAAAA,EAAQsC,qBAAe,IAAAM,OAAA,EAAAA,EAAAJ,8BAASC,MAGpF7B,EAAOZ,EAAOa,cAAgB,GAE9BS,EAAM,UAAGV,EAAI,kBAAAW,OAAiBS,EAAOX,YAAaE,OAAAM,EAAS,WAAIA,GAAW,IACjE,CAAA,EAAML,MAAMF,GAAKuB,MAAK,SAACC,GAAM,OAAAA,EAAEnB,MAAF,YAE5C,IAAuB,KAFjBoB,EAASC,EAAsCtB,QAE1CuB,QAGT,MAFMC,EAAgB,IAAIC,MAAM,oDAAA5B,OAAoDwB,EAAOK,WAC7EC,KAAO,UACfH,EAEN,MAAA,CAAA,EAAOH"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter as r,__generator as t,
|
|
1
|
+
import{__awaiter as r,__generator as t,__assign as i}from"tslib";import{a as o}from"./helpers-xPhGBX-B.js";import{searchToObject as c}from"./searchToObject.js";import{t as e}from"./tracker-DaaILhEr.js";import{u as n}from"./updateUrlWithParams-C6-BX4TY.js";import"pacman-client";import"uuid";function a(a){var s,u,l,d,v=a.window,m=a.flow,p=a.action,h=a.args,f=a.extraParams,_=void 0===f?{}:f,w=a.isRedirectToChainAndProduct,k=void 0!==w&&w,b=a.isShowThankYou,y=void 0!==b&&b;return r(this,void 0,void 0,(function(){var a,f,w,b,E,j,R,S,U,g,P;return t(this,(function(T){switch(T.label){case 0:return a=v.pac_analytics.visitor.rockmanId,f=c(v),(w="check-subscription-success-state"===f["current-state"])&&(console.log("isMock is true"),(b=f["show-chain-link"])&&"1"===b&&(v.pac_analytics.visitor.chainRedirectUrl="/chain-url")),E=function(){return w?Promise.resolve({success:!0,rockman_id:a,product_url:"/product",msisdn:"000"}):function(i){var o=i.window,c=i.rockmanId;return r(void 0,void 0,void 0,(function(){var r,i,e;return t(this,(function(t){switch(t.label){case 0:return r=o.DEV_BASE_URL||"",i=new URLSearchParams({action:"check-subscription",rockman_id:c}).toString(),e="".concat(r,"/tallyman/v1/?").concat(i),[4,fetch(e)];case 1:return[2,t.sent().json()]}}))}))}({window:v,rockmanId:a})},[4,o(E,60,(function(r){return r.success}),0)];case 1:if(!0===(j=T.sent()).success){if(R=j.product_url,m&&p&&e.advancedInFlow(m,p,i(i({},h),{url:j.product_url})),y)return S=n(v.location.href,{rockman_id:a,ui_show_tq:"1","show-thank-you":1,product_url:R}),setTimeout((function(){e.customEvent(m,"show-thank-you","thank-you-page",{thankYou:S}),v.location.replace(S)}),3e3),[2,S];if(null===(u=null===(s=null==v?void 0:v.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===u?void 0:u.chainRedirectUrl){if(U=null===(d=null===(l=null==v?void 0:v.pac_analytics)||void 0===l?void 0:l.visitor)||void 0===d?void 0:d.chainRedirectUrl,g=n(U,_),k)return e.customEvent(m,"redirect","chain-redirect",{redirect_url:g}),v.open(g,"_blank"),R&&""!==R&&setTimeout((function(){e.customEvent(m,"redirect","product-redirect",{redirect_url:R}),v.location.replace(R)}),3e3),[2];e.customEvent(m,"redirect","chain-redirect",{redirect_url:g}),v.location.replace(g)}else R&&""!==R&&(e.customEvent(m,"redirect","product-redirect",{redirect_url:R}),v.location.replace(R));return[2,R||null]}throw(P=new Error("".concat("SubscriptionFailed",":\n").concat(j.message))).type="SubscriptionFailed",P}}))}))}export{a as checkSubscriptionHander};
|
|
2
2
|
//# sourceMappingURL=checkSubscriptionHander.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkSubscriptionHander.js","sources":["../src/utilities/
|
|
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';\nimport { updateUrlWithParams } from './updateUrlWithParams';\n\nexport async function checkSubscriptionHander({\n window,\n flow,\n action,\n args,\n extraParams = {},\n isRedirectToChainAndProduct = false,\n isShowThankYou = false\n}: {\n window: Window;\n flow?: string;\n action?: string;\n args?: any;\n extraParams?: any;\n isRedirectToChainAndProduct?: boolean;\n isShowThankYou?: boolean;\n}): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n\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 const mockChain = search['show-chain-link'];\n if (mockChain && mockChain === '1') {\n window.pac_analytics.visitor.chainRedirectUrl = '/chain-url';\n }\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 (isShowThankYou) {\n const thankYou = updateUrlWithParams(window.location.href, {\n rockman_id: rockmanId,\n ui_show_tq: '1', // New param\n 'show-thank-you': 1, // backward compatibility\n product_url: productUrl\n });\n setTimeout(() => {\n tracker.customEvent(flow, 'show-thank-you', 'thank-you-page', { thankYou });\n\n window.location.replace(thankYou);\n }, 3000);\n\n return thankYou;\n }\n if (window?.pac_analytics?.visitor?.chainRedirectUrl) {\n const chainLink = window?.pac_analytics?.visitor?.chainRedirectUrl;\n const updatedChainLink = updateUrlWithParams(chainLink, extraParams);\n if (isRedirectToChainAndProduct) {\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n window.open(\n updatedChainLink,\n '_blank' // <- This is what makes it open in a new window.\n );\n if (productUrl && productUrl !== '') {\n setTimeout(() => {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }, 3000);\n }\n return;\n }\n\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n window.location.replace(updatedChainLink);\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","_f","extraParams","_g","isRedirectToChainAndProduct","_h","isShowThankYou","rockmanId","pac_analytics","visitor","search","searchToObject","isMock","console","log","mockChain","chainRedirectUrl","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","_j","productUrl_1","tracker","advancedInFlow","__assign","thankYou_1","updateUrlWithParams","location","href","ui_show_tq","setTimeout","customEvent","thankYou","replace","_c","chainLink","_e","_d","updatedChainLink","redirect_url","open","error","Error","message","type"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var M={AG:"1",AI:"1",AS:"1",BB:"1",BM:"1",BS:"1",CA:"1",DM:"1",DO:"1",GD:"1",GU:"1",JM:"1",KN:"1",KY:"1",LC:"1",MP:"1",MS:"1",PR:"1",SX:"1",TC:"1",TT:"1",US:"1",VC:"1",VG:"1",VI:"1",KZ:"7",RU:"7",EG:"20",ZA:"27",GR:"30",NL:"31",BE:"32",FR:"33",ES:"34",HU:"36",IT:"39",VA:"39",RO:"40",CH:"41",AT:"43",GB:"44",GG:"44",IM:"44",JE:"44",DK:"45",SE:"46",NO:"47",SJ:"47",PL:"48",DE:"49",PE:"51",MX:"52",CU:"53",AR:"54",BR:"55",CL:"56",CO:"57",VE:"58",MY:"60",AU:"61",CC:"61",CX:"61",ID:"62",PH:"63",NZ:"64",SG:"65",TH:"66",JP:"81",KR:"82",VN:"84",CN:"86",TR:"90",IN:"91",PK:"92",AF:"93",LK:"94",MM:"95",IR:"98",SS:"211",EH:"212",MA:"212",DZ:"213",TN:"216",LY:"218",GM:"220",SN:"221",MR:"222",ML:"223",GN:"224",CI:"225",BF:"226",NE:"227",TG:"228",BJ:"229",MU:"230",LR:"231",SL:"232",GH:"233",NG:"234",TD:"235",CF:"236",CM:"237",CV:"238",ST:"239",GQ:"240",GA:"241",CG:"242",CD:"243",AO:"244",GW:"245",IO:"246",AC:"247",SC:"248",SD:"249",RW:"250",ET:"251",SO:"252",DJ:"253",KE:"254",TZ:"255",UG:"256",BI:"257",MZ:"258",ZM:"260",MG:"261",RE:"262",YT:"262",ZW:"263",NA:"264",MW:"265",LS:"266",BW:"267",SZ:"268",KM:"269",SH:"290",TA:"290",ER:"291",AW:"297",FO:"298",GL:"299",GI:"350",PT:"351",LU:"352",IE:"353",IS:"354",AL:"355",MT:"356",CY:"357",AX:"358",FI:"358",BG:"359",LT:"370",LV:"371",EE:"372",MD:"373",AM:"374",BY:"375",AD:"376",MC:"377",SM:"378",UA:"380",RS:"381",ME:"382",XK:"383",HR:"385",SI:"386",BA:"387",MK:"389",CZ:"420",SK:"421",LI:"423",FK:"500",BZ:"501",GT:"502",SV:"503",HN:"504",NI:"505",CR:"506",PA:"507",PM:"508",HT:"509",BL:"590",GP:"590",MF:"590",BO:"591",GY:"592",EC:"593",GF:"594",PY:"595",MQ:"596",SR:"597",UY:"598",BQ:"599",CW:"599",TL:"670",NF:"672",BN:"673",NR:"674",PG:"675",TO:"676",SB:"677",VU:"678",FJ:"679",PW:"680",WF:"681",CK:"682",NU:"683",WS:"685",KI:"686",NC:"687",TV:"688",PF:"689",TK:"690",FM:"691",MH:"692",KP:"850",HK:"852",MO:"853",KH:"855",LA:"856",BD:"880",TW:"886",MV:"960",LB:"961",JO:"962",SY:"963",IQ:"964",KW:"965",SA:"966",YE:"967",OM:"968",PS:"970",AE:"971",IL:"972",BH:"973",QA:"974",BT:"975",MN:"976",NP:"977",TJ:"992",TM:"993",AZ:"994",GE:"995",KG:"996",UZ:"998"},S=function(S,G){var A=M[null==G?void 0:G.toUpperCase()];if(!A)return console.error("Phone code not found for country code",G),S;var C=S.replace(/\D/g,"");return C.startsWith(A)?"".concat(C):"".concat(A).concat(C)};export{M as c,S as f};
|
|
2
|
+
//# sourceMappingURL=formatNumberToE164-DaAFvpKD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatNumberToE164-DaAFvpKD.js","sources":["../src/utilities/countryToPhoneCode.ts","../src/utilities/formatNumberToE164.ts"],"sourcesContent":["export const countryToPhoneCode: Record<string, string> = {\n // ---- +1 ----\n AG: '1', // Antigua and Barbuda\n AI: '1', // Anguilla\n AS: '1', // American Samoa\n BB: '1', // Barbados\n BM: '1', // Bermuda\n BS: '1', // Bahamas\n CA: '1', // Canada\n DM: '1', // Dominica\n DO: '1', // Dominican Republic\n GD: '1', // Grenada\n GU: '1', // Guam\n JM: '1', // Jamaica\n KN: '1', // Saint Kitts and Nevis\n KY: '1', // Cayman Islands\n LC: '1', // Saint Lucia\n MP: '1', // Northern Mariana Islands\n MS: '1', // Montserrat\n PR: '1', // Puerto Rico\n SX: '1', // Sint Maarten\n TC: '1', // Turks and Caicos Islands\n TT: '1', // Trinidad and Tobago\n US: '1', // United States\n VC: '1', // Saint Vincent and the Grenadines\n VG: '1', // British Virgin Islands\n VI: '1', // U.S. Virgin Islands\n\n // ---- +7 ----\n KZ: '7', // Kazakhstan\n RU: '7', // Russian Federation\n\n // ---- +20 ----\n EG: '20', // Egypt\n\n // ---- +27 ----\n ZA: '27', // South Africa\n\n // ---- +30 ----\n GR: '30', // Greece\n\n // ---- +31 ----\n NL: '31', // Netherlands\n\n // ---- +32 ----\n BE: '32', // Belgium\n\n // ---- +33 ----\n FR: '33', // France\n\n // ---- +34 ----\n ES: '34', // Spain\n\n // ---- +36 ----\n HU: '36', // Hungary\n\n // ---- +39 ----\n IT: '39', // Italy\n VA: '39', // Vatican City\n\n // ---- +40 ----\n RO: '40', // Romania\n\n // ---- +41 ----\n CH: '41', // Switzerland\n\n // ---- +43 ----\n AT: '43', // Austria\n\n // ---- +44 ----\n GB: '44', // United Kingdom\n GG: '44', // Guernsey\n IM: '44', // Isle of Man\n JE: '44', // Jersey\n\n // ---- +45 ----\n DK: '45', // Denmark\n\n // ---- +46 ----\n SE: '46', // Sweden\n\n // ---- +47 ----\n NO: '47', // Norway\n SJ: '47', // Svalbard and Jan Mayen\n\n // ---- +48 ----\n PL: '48', // Poland\n\n // ---- +49 ----\n DE: '49', // Germany\n\n // ---- +51 ----\n PE: '51', // Peru\n\n // ---- +52 ----\n MX: '52', // Mexico\n\n // ---- +53 ----\n CU: '53', // Cuba\n\n // ---- +54 ----\n AR: '54', // Argentina\n\n // ---- +55 ----\n BR: '55', // Brazil\n\n // ---- +56 ----\n CL: '56', // Chile\n\n // ---- +57 ----\n CO: '57', // Colombia\n\n // ---- +58 ----\n VE: '58', // Venezuela\n\n // ---- +60 ----\n MY: '60', // Malaysia\n\n // ---- +61 ----\n AU: '61', // Australia\n CC: '61', // Cocos (Keeling) Islands\n CX: '61', // Christmas Island\n\n // ---- +62 ----\n ID: '62', // Indonesia\n\n // ---- +63 ----\n PH: '63', // Philippines\n\n // ---- +64 ----\n NZ: '64', // New Zealand\n\n // ---- +65 ----\n SG: '65', // Singapore\n\n // ---- +66 ----\n TH: '66', // Thailand\n\n // ---- +81 ----\n JP: '81', // Japan\n\n // ---- +82 ----\n KR: '82', // South Korea\n\n // ---- +84 ----\n VN: '84', // Vietnam\n\n // ---- +86 ----\n CN: '86', // China\n\n // ---- +90 ----\n TR: '90', // Turkey\n\n // ---- +91 ----\n IN: '91', // India\n\n // ---- +92 ----\n PK: '92', // Pakistan\n\n // ---- +93 ----\n AF: '93', // Afghanistan\n\n // ---- +94 ----\n LK: '94', // Sri Lanka\n\n // ---- +95 ----\n MM: '95', // Myanmar\n\n // ---- +98 ----\n IR: '98', // Iran\n\n // ---- +211 ----\n SS: '211', // South Sudan\n\n // ---- +212 ----\n EH: '212', // Western Sahara\n MA: '212', // Morocco\n\n // ---- +213 ----\n DZ: '213', // Algeria\n\n // ---- +216 ----\n TN: '216', // Tunisia\n\n // ---- +218 ----\n LY: '218', // Libya\n\n // ---- +220 ----\n GM: '220', // Gambia\n\n // ---- +221 ----\n SN: '221', // Senegal\n\n // ---- +222 ----\n MR: '222', // Mauritania\n\n // ---- +223 ----\n ML: '223', // Mali\n\n // ---- +224 ----\n GN: '224', // Guinea\n\n // ---- +225 ----\n CI: '225', // Côte d'Ivoire\n\n // ---- +226 ----\n BF: '226', // Burkina Faso\n\n // ---- +227 ----\n NE: '227', // Niger\n\n // ---- +228 ----\n TG: '228', // Togo\n\n // ---- +229 ----\n BJ: '229', // Benin\n\n // ---- +230 ----\n MU: '230', // Mauritius\n\n // ---- +231 ----\n LR: '231', // Liberia\n\n // ---- +232 ----\n SL: '232', // Sierra Leone\n\n // ---- +233 ----\n GH: '233', // Ghana\n\n // ---- +234 ----\n NG: '234', // Nigeria\n\n // ---- +235 ----\n TD: '235', // Chad\n\n // ---- +236 ----\n CF: '236', // Central African Republic\n\n // ---- +237 ----\n CM: '237', // Cameroon\n\n // ---- +238 ----\n CV: '238', // Cape Verde\n\n // ---- +239 ----\n ST: '239', // São Tomé and Príncipe\n\n // ---- +240 ----\n GQ: '240', // Equatorial Guinea\n\n // ---- +241 ----\n GA: '241', // Gabon\n\n // ---- +242 ----\n CG: '242', // Republic of the Congo\n\n // ---- +243 ----\n CD: '243', // Democratic Republic of the Congo\n\n // ---- +244 ----\n AO: '244', // Angola\n\n // ---- +245 ----\n GW: '245', // Guinea-Bissau\n\n // ---- +246 ----\n IO: '246', // British Indian Ocean Territory\n\n // ---- +247 ----\n AC: '247', // Ascension Island\n\n // ---- +248 ----\n SC: '248', // Seychelles\n\n // ---- +249 ----\n SD: '249', // Sudan\n\n // ---- +250 ----\n RW: '250', // Rwanda\n\n // ---- +251 ----\n ET: '251', // Ethiopia\n\n // ---- +252 ----\n SO: '252', // Somalia\n\n // ---- +253 ----\n DJ: '253', // Djibouti\n\n // ---- +254 ----\n KE: '254', // Kenya\n\n // ---- +255 ----\n TZ: '255', // Tanzania\n\n // ---- +256 ----\n UG: '256', // Uganda\n\n // ---- +257 ----\n BI: '257', // Burundi\n\n // ---- +258 ----\n MZ: '258', // Mozambique\n\n // ---- +260 ----\n ZM: '260', // Zambia\n\n // ---- +261 ----\n MG: '261', // Madagascar\n\n // ---- +262 ----\n RE: '262', // Réunion\n YT: '262', // Mayotte\n\n // ---- +263 ----\n ZW: '263', // Zimbabwe\n\n // ---- +264 ----\n NA: '264', // Namibia\n\n // ---- +265 ----\n MW: '265', // Malawi\n\n // ---- +266 ----\n LS: '266', // Lesotho\n\n // ---- +267 ----\n BW: '267', // Botswana\n\n // ---- +268 ----\n SZ: '268', // Eswatini\n\n // ---- +269 ----\n KM: '269', // Comoros\n\n // ---- +290 ----\n SH: '290', // Saint Helena\n TA: '290', // Tristan da Cunha\n\n // ---- +291 ----\n ER: '291', // Eritrea\n\n // ---- +297 ----\n AW: '297', // Aruba\n\n // ---- +298 ----\n FO: '298', // Faroe Islands\n\n // ---- +299 ----\n GL: '299', // Greenland\n\n // ---- +350 ----\n GI: '350', // Gibraltar\n\n // ---- +351 ----\n PT: '351', // Portugal\n\n // ---- +352 ----\n LU: '352', // Luxembourg\n\n // ---- +353 ----\n IE: '353', // Ireland\n\n // ---- +354 ----\n IS: '354', // Iceland\n\n // ---- +355 ----\n AL: '355', // Albania\n\n // ---- +356 ----\n MT: '356', // Malta\n\n // ---- +357 ----\n CY: '357', // Cyprus\n\n // ---- +358 ----\n AX: '358', // Åland Islands\n FI: '358', // Finland\n\n // ---- +359 ----\n BG: '359', // Bulgaria\n\n // ---- +370 ----\n LT: '370', // Lithuania\n\n // ---- +371 ----\n LV: '371', // Latvia\n\n // ---- +372 ----\n EE: '372', // Estonia\n\n // ---- +373 ----\n MD: '373', // Moldova\n\n // ---- +374 ----\n AM: '374', // Armenia\n\n // ---- +375 ----\n BY: '375', // Belarus\n\n // ---- +376 ----\n AD: '376', // Andorra\n\n // ---- +377 ----\n MC: '377', // Monaco\n\n // ---- +378 ----\n SM: '378', // San Marino\n\n // ---- +380 ----\n UA: '380', // Ukraine\n\n // ---- +381 ----\n RS: '381', // Serbia\n\n // ---- +382 ----\n ME: '382', // Montenegro\n\n // ---- +383 ----\n XK: '383', // Kosovo\n\n // ---- +385 ----\n HR: '385', // Croatia\n\n // ---- +386 ----\n SI: '386', // Slovenia\n\n // ---- +387 ----\n BA: '387', // Bosnia and Herzegovina\n\n // ---- +389 ----\n MK: '389', // North Macedonia\n\n // ---- +420 ----\n CZ: '420', // Czech Republic\n\n // ---- +421 ----\n SK: '421', // Slovakia\n\n // ---- +423 ----\n LI: '423', // Liechtenstein\n\n // ---- +500 ----\n FK: '500', // Falkland Islands\n\n // ---- +501 ----\n BZ: '501', // Belize\n\n // ---- +502 ----\n GT: '502', // Guatemala\n\n // ---- +503 ----\n SV: '503', // El Salvador\n\n // ---- +504 ----\n HN: '504', // Honduras\n\n // ---- +505 ----\n NI: '505', // Nicaragua\n\n // ---- +506 ----\n CR: '506', // Costa Rica\n\n // ---- +507 ----\n PA: '507', // Panama\n\n // ---- +508 ----\n PM: '508', // Saint Pierre and Miquelon\n\n // ---- +509 ----\n HT: '509', // Haiti\n\n // ---- +590 ----\n BL: '590', // Saint Barthélemy\n GP: '590', // Guadeloupe\n MF: '590', // Saint Martin (French part)\n\n // ---- +591 ----\n BO: '591', // Bolivia\n\n // ---- +592 ----\n GY: '592', // Guyana\n\n // ---- +593 ----\n EC: '593', // Ecuador\n\n // ---- +594 ----\n GF: '594', // French Guiana\n\n // ---- +595 ----\n PY: '595', // Paraguay\n\n // ---- +596 ----\n MQ: '596', // Martinique\n\n // ---- +597 ----\n SR: '597', // Suriname\n\n // ---- +598 ----\n UY: '598', // Uruguay\n\n // ---- +599 ----\n BQ: '599', // Caribbean Netherlands\n CW: '599', // Curaçao\n\n // ---- +670 ----\n TL: '670', // Timor-Leste\n\n // ---- +672 ----\n NF: '672', // Norfolk Island\n\n // ---- +673 ----\n BN: '673', // Brunei Darussalam\n\n // ---- +674 ----\n NR: '674', // Nauru\n\n // ---- +675 ----\n PG: '675', // Papua New Guinea\n\n // ---- +676 ----\n TO: '676', // Tonga\n\n // ---- +677 ----\n SB: '677', // Solomon Islands\n\n // ---- +678 ----\n VU: '678', // Vanuatu\n\n // ---- +679 ----\n FJ: '679', // Fiji\n\n // ---- +680 ----\n PW: '680', // Palau\n\n // ---- +681 ----\n WF: '681', // Wallis and Futuna\n\n // ---- +682 ----\n CK: '682', // Cook Islands\n\n // ---- +683 ----\n NU: '683', // Niue\n\n // ---- +685 ----\n WS: '685', // Samoa\n\n // ---- +686 ----\n KI: '686', // Kiribati\n\n // ---- +687 ----\n NC: '687', // New Caledonia\n\n // ---- +688 ----\n TV: '688', // Tuvalu\n\n // ---- +689 ----\n PF: '689', // French Polynesia\n\n // ---- +690 ----\n TK: '690', // Tokelau\n\n // ---- +691 ----\n FM: '691', // Micronesia\n\n // ---- +692 ----\n MH: '692', // Marshall Islands\n\n // ---- +850 ----\n KP: '850', // North Korea\n\n // ---- +852 ----\n HK: '852', // Hong Kong\n\n // ---- +853 ----\n MO: '853', // Macao\n\n // ---- +855 ----\n KH: '855', // Cambodia\n\n // ---- +856 ----\n LA: '856', // Laos\n\n // ---- +880 ----\n BD: '880', // Bangladesh\n\n // ---- +886 ----\n TW: '886', // Taiwan\n\n // ---- +960 ----\n MV: '960', // Maldives\n\n // ---- +961 ----\n LB: '961', // Lebanon\n\n // ---- +962 ----\n JO: '962', // Jordan\n\n // ---- +963 ----\n SY: '963', // Syria\n\n // ---- +964 ----\n IQ: '964', // Iraq\n\n // ---- +965 ----\n KW: '965', // Kuwait\n\n // ---- +966 ----\n SA: '966', // Saudi Arabia\n\n // ---- +967 ----\n YE: '967', // Yemen\n\n // ---- +968 ----\n OM: '968', // Oman\n\n // ---- +970 ----\n PS: '970', // Palestine\n\n // ---- +971 ----\n AE: '971', // United Arab Emirates\n\n // ---- +972 ----\n IL: '972', // Israel\n\n // ---- +973 ----\n BH: '973', // Bahrain\n\n // ---- +974 ----\n QA: '974', // Qatar\n\n // ---- +975 ----\n BT: '975', // Bhutan\n\n // ---- +976 ----\n MN: '976', // Mongolia\n\n // ---- +977 ----\n NP: '977', // Nepal\n\n // ---- +992 ----\n TJ: '992', // Tajikistan\n\n // ---- +993 ----\n TM: '993', // Turkmenistan\n\n // ---- +994 ----\n AZ: '994', // Azerbaijan\n\n // ---- +995 ----\n GE: '995', // Georgia\n\n // ---- +996 ----\n KG: '996', // Kyrgyzstan\n\n // ---- +998 ----\n UZ: '998' // Uzbekistan\n};\n","import { countryToPhoneCode } from './countryToPhoneCode';\n\n/**\n * Formats a phone number to E.164 format.\n *\n * @param {string} number - The phone number to format.\n * @param {string} isoCountryCode - The ISO country code of the phone number.\n * @return {string} The formatted phone number in E.164 format.\n */\nexport const formatNumberToE164 = (number: string, isoCountryCode: string) => {\n const phoneCode = countryToPhoneCode[isoCountryCode?.toUpperCase()];\n if (!phoneCode) {\n console.error('Phone code not found for country code', isoCountryCode);\n return number;\n }\n\n const cleanNumber = number.replace(/\\D/g, '');\n if (!cleanNumber.startsWith(phoneCode)) {\n return `${phoneCode}${cleanNumber}`;\n }\n return `${cleanNumber}`;\n};\n"],"names":["countryToPhoneCode","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","US","VC","VG","VI","KZ","RU","EG","ZA","GR","NL","BE","FR","ES","HU","IT","VA","RO","CH","AT","GB","GG","IM","JE","DK","SE","NO","SJ","PL","DE","PE","MX","CU","AR","BR","CL","CO","VE","MY","AU","CC","CX","ID","PH","NZ","SG","TH","JP","KR","VN","CN","TR","IN","PK","AF","LK","MM","IR","SS","EH","MA","DZ","TN","LY","GM","SN","MR","ML","GN","CI","BF","NE","TG","BJ","MU","LR","SL","GH","NG","TD","CF","CM","CV","ST","GQ","GA","CG","CD","AO","GW","IO","AC","SC","SD","RW","ET","SO","DJ","KE","TZ","UG","BI","MZ","ZM","MG","RE","YT","ZW","NA","MW","LS","BW","SZ","KM","SH","TA","ER","AW","FO","GL","GI","PT","LU","IE","IS","AL","MT","CY","AX","FI","BG","LT","LV","EE","MD","AM","BY","AD","MC","SM","UA","RS","ME","XK","HR","SI","BA","MK","CZ","SK","LI","FK","BZ","GT","SV","HN","NI","CR","PA","PM","HT","BL","GP","MF","BO","GY","EC","GF","PY","MQ","SR","UY","BQ","CW","TL","NF","BN","NR","PG","TO","SB","VU","FJ","PW","WF","CK","NU","WS","KI","NC","TV","PF","TK","FM","MH","KP","HK","MO","KH","LA","BD","TW","MV","LB","JO","SY","IQ","KW","SA","YE","OM","PS","AE","IL","BH","QA","BT","MN","NP","TJ","TM","AZ","GE","KG","UZ","formatNumberToE164","number","isoCountryCode","phoneCode","toUpperCase","console","error","cleanNumber","replace","startsWith","concat"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{f as i}from"./formatNumberToE164-
|
|
1
|
+
import{f as i}from"./formatNumberToE164-DaAFvpKD.js";import{searchToObject as n}from"./searchToObject.js";import"tslib";var o=function(i){var n=i.msisdnValue,o=i.dispatch,s=i.submitMSISDNAction,e=i.isHeaderEnrichmentSuccess,t=i.isHeaderEnrichmentAutoSubmit,d=void 0!==t&&t;(n&&n.length>3&&!e||!0===e&&!0===d)&&o(s({window:window,msisdn:n}))},s=function(o){var s,e,t,d,r,l=o.window,a=o.isHeaderEnrichmentSuccess,c=o.setInternationalNumber,m=o.onEnd,u=o.internationalNumber,v=a?"mobile_data":"wifi",p=n(l);if(a&&"1"!==p["msisdn-alias"]){var h=i((null===(e=null===(s=null==p?void 0:p.msisdn)||void 0===s?void 0:s.match(/\d+/gi))||void 0===e?void 0:e.join(""))||(null===(d=null===(t=null==l?void 0:l.msisdn)||void 0===t?void 0:t.match(/\d+/gi))||void 0===d?void 0:d.join("")),process.env.country);u||c(h),m(h||(null===(r=null==u?void 0:u.match(/\d+/gi))||void 0===r?void 0:r.join("")))}else if(!0===a&&"true"===(null==p?void 0:p.success)&&"1"===p["msisdn-alias"]){if(null==p?void 0:p.msisdn)m(p.msisdn,{network_type:v,"skip-validation":"1"})}else void 0!==l&&function(i,n){return void 0!==i&&null!==document.cookie.match(new RegExp("^(.*;)?\\s*".concat(n,"\\s*=\\s*[^;]+(.*)?$")))}(l,"OMEU")&&"es"===process.env.country?m("1",{network_type:v,"skip-validation":"1"}):u&&("ci"===process.env.country?m(u.match(/\d+/gi).join(""),{network_type:v}):m(u.match(/\d+/gi).join("")))};export{o as handleAutoSubmitMsisdn,s as handleFormSubmit};
|
|
2
2
|
//# sourceMappingURL=handleSubmitNumber.js.map
|
package/dist/initTPay.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter as o,__generator as i}from"tslib";import{i as n}from"./api-
|
|
1
|
+
import{__awaiter as o,__generator as i}from"tslib";import{i as n}from"./api-geirVksI.js";import{getConfig as d}from"./getConfig.js";var r=function(r){return o(void 0,void 0,void 0,(function(){var o,e,l,t,a,v,u,w,c,s,p,f,m,g,y,_,C,h,x,S,b,k;return i(this,(function(i){switch(i.label){case 0:if(o=null===(w=null===(u=null===window||void 0===window?void 0:window.pac_analytics)||void 0===u?void 0:u.visitor)||void 0===w?void 0:w.genericJsLinkResult,"undefined"==typeof window||"tpay"!==(null==o?void 0:o.gateway))return[3,5];e=d(),l=e.strategyConfigs,t=null===(c=null==l?void 0:l.default)||void 0===c?void 0:c.flowConfig,i.label=1;case 1:return i.trys.push([1,3,,4]),[4,n({window:window,slug:null==t?void 0:t.slug,country:null==t?void 0:t.country,msisdn:r,device:"smart",offer:null===(p=null===(s=null===window||void 0===window?void 0:window.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===p?void 0:p.offer,rockmanId:null===(m=null===(f=null===window||void 0===window?void 0:window.pac_analytics)||void 0===f?void 0:f.visitor)||void 0===m?void 0:m.rockmanId})];case 2:return(a=i.sent()).operator&&(window.operatorCode=null===(C=null===(_=null===(y=null===(g=null==o?void 0:o.extra_data)||void 0===g?void 0:g.operator_mccmnc_mapping)||void 0===y?void 0:y[a.operator])||void 0===_?void 0:_.code)||void 0===C?void 0:C.toString(),window.operatorSuffix=null===(S=null===(x=null===(h=null==o?void 0:o.extra_data)||void 0===h?void 0:h.operator_mccmnc_mapping)||void 0===x?void 0:x[a.operator])||void 0===S?void 0:S.operator_suffix),console.log("operatorCode",window.operatorCode),console.log("operatorSuffix",window.operatorSuffix),(null===(b=window.TPay.HeaderEnrichment)||void 0===b?void 0:b.enriched())?null===(k=window.TPay.HeaderEnrichment)||void 0===k||k.operatorCode():window.TPay.HeaderEnrichment.init({operatorCode:window.operatorCode}),[2,!0];case 3:return v=i.sent(),console.warn(v),[2,!1];case 4:return[3,6];case 5:return console.log("Not tpay"),[2,!1];case 6:return[2]}}))}))};export{r as initTPay};
|
|
2
2
|
//# sourceMappingURL=initTPay.js.map
|
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 i,L as s,F as c,N 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"./cleanSearchParams-Dl7ZDlew.js";import{i as v}from"./strategySlice-
|
|
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 i,L as s,F as c,N 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"./cleanSearchParams-Dl7ZDlew.js";import{i as v}from"./strategySlice-BfNZvJIC.js";import"pacman-client";import"uuid";import"./getConfig.js";import"./formatNumberToE164-DaAFvpKD.js";import"./api-geirVksI.js";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,i=n.country,s=n.msisdn,c=n.device,u=n.offer,d=n.rockmanId,l=n.extraParamsQs,m=n.search;return t(void 0,void 0,void 0,(function(){var t,n,v,p,y,S,h;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=f(m),v={action:"trigger-message",slug:a,country:i,msisdn:s,device:c,offerId:u,rockman_id:d,page:encodeURIComponent(null===(h=null==o?void 0:o.location)||void 0===h?void 0:h.href),sam_g_token:o.reCaptchaToken||"",language_code:o.languageCode||"",partner_form_action:(null==t?void 0:t.form_action)?encodeURIComponent(null==t?void 0:t.form_action):"",antifraud_id:o.antifraud_id||"",antifraud_id_js_code:o.antifraud_id_js_code||"",antifraud_id_js_link:o.antifraud_id_js_link||""},p=Object.entries(v).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("&"),y=o.DEV_BASE_URL||"",S="".concat(y,"/tallyman/v1/?").concat(p).concat(m?"&".concat(m):"","&").concat(l),[2,fetch(S).then((function(t){return t.json()}))]}}))}))};function h(e,o,a,i){var s,c;return t(this,void 0,void 0,(function(){var t;return r(this,(function(r){return t=n(n({},o||{}),{offer:null===(c=null===(s=e.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===c?void 0:c.offer}),[2,w(e,t,a,i)]}))}))}function w(e,o,a,i){var s;return t(this,void 0,void 0,(function(){var t,c,u,d,l,m,f,v,p,y,h;return r(this,(function(r){switch(r.label){case 0:return t=o.slug,c=o.country,u=o.device,d=o.offer,l=e.location.search.substr(1)||"",m=i?"&".concat(Object.keys(i).map((function(t){return"".concat(t,"=").concat(i[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:c,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",(h=new Error("".concat(y,":\n").concat(p.message))).type=y,h.productUrl=p.product_url?p.product_url:"",console.error(h),h;return[2,n(n({},p),{keyword:p.displayKeyword})]}}))}))}var _={currentState:{type:"MSISDNEntry",result:i({keyword:"TEST OK",shortcode:"777"})}},b={currentState:{type:"MSISDNEntry",result:c({errorType:"InvalidMSISDN",error:"Invalid Mobile Number"})}},j={currentState:{type:"MSISDNEntry",result:u()}},I=function(t){var r=d(t);if(!r["mock-flow"])return j;switch(r["current-state"]){case"msisdn-entry-failure-state":return b;case"msisdn-entry-success-state":return _;default:return console.error("Mock Flow not supported"),j}}(window),g=o("moFlow/submitMSISDNAction",(function(e,o){var a=e.window,s=e.msisdn,c=e.extraParams,u=o.getState,d=o.rejectWithValue;return t(void 0,void 0,void 0,(function(){var t,e,o,f,v,p,y,S;return r(this,(function(r){switch(r.label){case 0:if(t=u(),!(null===(S=null===(y=null===(p=null==t?void 0:t.strategy)||void 0===p?void 0:p.currentState)||void 0===y?void 0:y.data)||void 0===S?void 0:S.config))return[2,d({errorType:"UnexpectedState"})];e=t.strategy.currentState.data.config,r.label=1;case 1:return r.trys.push([1,5,,6]),m.advancedInFlow("tallyman.v1-mo","msisdn-submitted",{msisdn:s}),[4,h(a,e,s,c)];case 2:return o=r.sent(),m.advancedInFlow("tallyman.v1-mo","msisdn-submission-success",{msisdn:s}),c&&c.storeMsisdn&&"true"===c.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:r.sent(),r.label=4;case 4:return[2,{type:"MSISDNEntry",result:i(n({},o))}];case 5:switch(f=r.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:s,errorType:v||"UnknownError"}),[2,d({errorType:v,productUrl:f.productUrl})];case 6:return[2]}}))}))})),k=o("moFlow/backToStartAction",(function(e,n){var o=n.dispatch,a=n.rejectWithValue;return t(void 0,void 0,void 0,(function(){return r(this,(function(t){try{m.recedeInFlow("tallyman.v1-mo","mo-state","requested to change phone number"),o(v())}catch(t){return console.warn(t),[2,a({errorType:"UnexpectedState"})]}return[2]}))}))})),E=a({name:"moFlow",initialState:I,reducers:{},extraReducers:function(t){t.addCase(g.pending,(function(t){t.currentState={type:"MSISDNEntry",result:s()}})).addCase(g.fulfilled,(function(t,r){t.currentState=r.payload})).addCase(g.rejected,(function(t,r){t.currentState={type:"MSISDNEntry",result:c(r.payload)}}))}}),M=E.reducer;E.actions;export{k as backToStartAction,y as moFlowMatch,M as moFlowReducer,g as submitMSISDNAction,p as useMoFlowState};
|
|
2
2
|
//# sourceMappingURL=moFlow.js.map
|
package/dist/moRedirFlow.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter as
|
|
1
|
+
import{__awaiter as r,__generator as e,__assign as t}from"tslib";import{createAsyncThunk as n,createSlice as a}from"@reduxjs/toolkit";import{S as i,L as s,F as o,N as c}from"./RemoteDataState-lcf8PfJd.js";import{c as d}from"./formatNumberToE164-DaAFvpKD.js";import{searchToObject as u}from"./searchToObject.js";import{s as l}from"./storeMsisdn-Cjq8_qYH.js";import{t as m}from"./tracker-DaaILhEr.js";import{u as f}from"./updateUrlWithParams-C6-BX4TY.js";import{t as v,i as p}from"./strategySlice-BfNZvJIC.js";import{c as y}from"./cleanSearchParams-Dl7ZDlew.js";import"pacman-client";import"uuid";import"./getConfig.js";import"./api-geirVksI.js";var S=function(r){return r((function(r){return r.moRedirFlow.currentState}))};function h(r){var e=r.msisdnEntry;return function(r){return r.type,e(r.result)}}var _=function(r,e){var t=r.replace(/\D/g,"");if(e&&d[e]){var n=d[e];t.startsWith(n)&&(t=t.substring(n.length))}return!t.startsWith("0")&&t.length>0&&(t="0".concat(t)),t},w=function(n){var a=n.window,i=n.slug,s=n.country,o=n.msisdn,c=n.device,d=n.offer,u=n.rockmanId,l=n.ip_range_name,m=n.search,f=n.extraParams,v=n.email,p=n.password;return r(void 0,void 0,void 0,(function(){var r,n,S,h,_,w,g,b,I;return e(this,(function(e){return m=y(m),r="&".concat(Object.keys(f).map((function(r){return f[r]?"".concat(r,"=").concat(f[r]):""})).filter(Boolean).join("&")),n=new URLSearchParams(t(t(t(t(t({action:"redirect",slug:i,country:s,device:c,offerId:d.toString(),rockman_id:u,page:encodeURIComponent(a.location.href),antifraud_id:a.antifraud_id||"",antifraud_id_js_code:a.antifraud_id_js_code||"",antifraud_id_js_link:a.antifraud_id_js_link||"",network_type:l?"":"wifi"},(null===(g=null===(w=null===(_=a.pac_analytics)||void 0===_?void 0:_.visitor)||void 0===w?void 0:w.page)||void 0===g?void 0:g.includes("agency"))&&{evinaTi:u}),(null===(I=null===(b=a.pac_analytics)||void 0===b?void 0:b.visitor)||void 0===I?void 0:I.ip)&&{client_ip:a.pac_analytics.visitor.ip}),a.securityProcessId&&{securityProcessId:a.securityProcessId}),a.languageCode&&{language_code:a.languageCode}),v&&p?{email:v,password:p}:{msisdn:o})).toString(),S=a.DEV_BASE_URL||"",h="".concat(S,"/tallyman/v1/?").concat(n).concat(r).concat(m?"&".concat(m):""),i.includes("za-mtn-beyondvr-r7")?[2,{success:!0,rockman_id:u,redirect_url:h}]:[2,fetch(h).then((function(r){return r.json()}))]}))}))};function g(n,a,i,s){return r(this,void 0,void 0,(function(){var r;return e(this,(function(e){return r=t({offer:n.pac_analytics.visitor.offer},a||{}),[2,b(n,r,i,s)]}))}))}function b(t,n,a,i){return r(this,void 0,void 0,(function(){var r,s,o,c,d,l,m,f,p,y,S,h,_,g,b;return e(this,(function(e){switch(e.label){case 0:return r=n.slug,s=n.country,o=n.device,c=n.offer,d=t.location.search.substr(1)||"",l=i||{},m=!1,("true"===(null==(f=u(t))?void 0:f.success)&&"1"===f["msisdn-alias"]||!0===t.is_encrypted_msisdn)&&(l.encrypted_msisdn="1"),"1"===l.encrypted_msisdn&&(m=!0),p=m?a||t.msisdn:a.match(/\d+/gi).join(""),y=t.pac_analytics.visitor,S=y.rockmanId,"ci"!==s?[3,2]:[4,v(y)];case 1:return h=e.sent(),[3,3];case 2:h=null,e.label=3;case 3:return[4,w({window:t,slug:r,country:s,msisdn:p,device:o,offer:c,rockmanId:S,ip_range_name:h,search:d,extraParams:l})];case 4:if(!1===(_=e.sent()).success)throw g="ALREADY SUBSCRIBED"===_.message?"AlreadySubscribed":"InvalidMSISDN",(b=new Error("".concat(g,":\n").concat(_.message))).type=g,console.error(b),b;return[2,_.redirect_url]}}))}))}var I={currentState:{type:"MSISDNEntry",result:i({href:"/product"})}},j={currentState:{type:"MSISDNEntry",result:o({errorType:"InvalidMSISDN",error:"Invalid Mobile Number"})}},k={currentState:{type:"MSISDNEntry",result:c()}},E=function(r){var e=u(r);if(!e["mock-flow"])return k;switch(e["current-state"]){case"msisdn-entry-failure-state":return j;case"msisdn-entry-success-state":return I;default:return console.error("Mock Flow not supported"),k}}(window),D=n("moRedirFlow/submitMSISDNAction",(function(t,n){var a=t.window,s=t.msisdn,o=t.extraParams,c=n.getState,d=n.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,t,n,u,v,p,y,S,h,w,b,I,j;return e(this,(function(e){switch(e.label){case 0:if(r=c(),!(null===(I=null===(b=null===(w=null==r?void 0:r.strategy)||void 0===w?void 0:w.currentState)||void 0===b?void 0:b.data)||void 0===I?void 0:I.config))return[2,d({errorType:"UnexpectedState"})];t=r.strategy.currentState.data,n=t.config,u=t.skipRedirectCall,v=t.redirect_url,e.label=1;case 1:return e.trys.push([1,7,,8]),m.advancedInFlow("tallyman.v1-mo-redir","msisdn-submitted",{msisdn:s}),u&&v?(y=f(v,{msisdn:_(s,null===(j=null==n?void 0:n.country)||void 0===j?void 0:j.toUpperCase())}),[3,4]):[3,2];case 2:return[4,g(a,n,s,o)];case 3:y=e.sent(),e.label=4;case 4:return p=y,m.advancedInFlow("tallyman.v1-mo-redir","msisdn-submission-success",{msisdn:s}),o&&o.storeMsisdn&&"true"===o.storeMsisdn?[4,l(s).then((function(r){r&&r.data&&r.data.success?m.customEvent("Flow","advance-auto","msisdn-stored-success"):m.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(r){m.customEvent("Flow","advance-auto","msisdn-stored-error",r)}))]:[3,6];case 5:e.sent(),e.label=6;case 6:return[2,{type:"MSISDNEntry",result:i({href:p})}];case 7:switch(S=e.sent(),console.warn(S),h=void 0,S.type){case"AlreadySubscribed":h="AlreadySubscribed";break;case"InvalidMSISDN":h="InvalidMSISDN";break;default:h="UnknownError"}return m.recedeInFlow("tallyman.v1-mo-redir","msisdn-submission-failure",{msisdn:s,errorType:"UnknownError"}),[2,d({errorType:h,productUrl:S.productUrl})];case 8:return[2]}}))}))})),M=n("moRedirFlow/backToStartAction",(function(t,n){var a=n.dispatch,i=n.rejectWithValue;return r(void 0,void 0,void 0,(function(){return e(this,(function(r){try{m.recedeInFlow("tallyman.v1-mo-redir","mo-redir-state","requested to change phone number"),a(p())}catch(r){return console.warn(r),[2,i({errorType:"UnexpectedState"})]}return[2]}))}))})),N=a({name:"moRedirFlow",initialState:E,reducers:{},extraReducers:function(r){r.addCase(D.pending,(function(r){r.currentState={type:"MSISDNEntry",result:s()}})).addCase(D.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(D.rejected,(function(r,e){r.currentState={type:"MSISDNEntry",result:o(e.payload)}}))}}),F=N.reducer;N.actions;export{M as backToStartAction,h as moRedirFlowMatch,F as moRedirFlowReducer,D as submitMSISDNAction,S as useMoRedirFlowState};
|
|
2
2
|
//# sourceMappingURL=moRedirFlow.js.map
|
package/dist/moRedirFlow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moRedirFlow.js","sources":["../src/flows/moRedirFlow/hooks/useMoRedirFlowState.ts","../src/flows/moRedirFlow/match.ts","../src/flows/moRedirFlow/api.ts","../src/flows/moRedirFlow/main.ts","../src/flows/moRedirFlow/moRedirFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useMoRedirFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.moRedirFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MoRedirFlowCurrentState, MSISDNEntryFailure, MSISDNEntrySuccess } from '../../sharedFlowTypes/MoRedirTypes';\n\nfunction moRedirFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: MoRedirFlowCurrentState) => 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 { moRedirFlowMatch };\n","import { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\nimport { IHash } from '../../sharedFlowTypes/StrategyTypes';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\nconst redirect = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n ip_range_name,\n search,\n extraParams,\n email,\n password\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn?: string;\n device: string;\n offer: string;\n rockmanId: string;\n ip_range_name?: string;\n search: string;\n extraParams: IHash;\n email?: string;\n password?: string;\n}): Promise<IMSISDNSubmissionResult> => {\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n const params = new URLSearchParams({\n action: 'redirect',\n slug,\n country,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n page: encodeURIComponent(window.location.href),\n\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n network_type: ip_range_name ? '' : 'wifi',\n ...(window.pac_analytics?.visitor?.page?.includes('agency') && { evinaTi: rockmanId }),\n ...(window.pac_analytics?.visitor?.ip && { client_ip: window.pac_analytics.visitor.ip }),\n ...(window.securityProcessId && { securityProcessId: window.securityProcessId }),\n ...(window.languageCode && { language_code: window.languageCode }),\n ...(email && password ? { email, password } : { msisdn })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n if (slug.includes('za-mtn-beyondvr-r7')) {\n return {\n success: true,\n rockman_id: rockmanId,\n redirect_url: url\n };\n }\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { redirect };\n","import { IError } from '../../common-types/IError';\nimport tryGetIPRangeName from '../../ips/tryGetIPRangeName';\nimport { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\nimport { IConfig, IStrategyIDentifyUserResult } from '../../sharedFlowTypes/StrategyTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { redirect } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<string> {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<string> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n\n const newExtraParams = extraParams || {};\n let isSkipValidation = false;\n const searchObj = searchToObject(window) as IStrategyIDentifyUserResult;\n if ((searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') || window.is_encrypted_msisdn === true) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams.encrypted_msisdn = '1';\n }\n\n if (newExtraParams.encrypted_msisdn === '1') {\n isSkipValidation = true;\n }\n const msisdn = isSkipValidation ? internationalMSISDN || window.msisdn : internationalMSISDN.match(/\\d+/gi).join(''); // tallyman API expects international msisdn without any special character\n\n const { visitor } = window.pac_analytics;\n const { rockmanId } = visitor;\n\n const ip_range_name = country === 'ci' ? await tryGetIPRangeName(visitor) : null;\n const result: IMSISDNSubmissionResult = await redirect({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n ip_range_name,\n search,\n extraParams: newExtraParams\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 };\n error.type = type;\n console.error(error);\n throw error;\n } else {\n return result.redirect_url;\n }\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n MoRedirFlowState,\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoRedirTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy } from '../strategy';\nimport submitMSISDN from './main';\n\nconst mockedMSISDNEntrySuccess: MoRedirFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n href: '/product'\n })\n }\n};\n\nconst mockedMSISDNEntryFailure: MoRedirFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n\nconst defaultInitialState: MoRedirFlowState = {\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 redirec api that returns a redirect url\n * Sets completed stated\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('moRedirFlow/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 Redirect Api Call\n tracker.advancedInFlow('tallyman.v1-mo-redir', 'msisdn-submitted', { msisdn });\n const href = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-mo-redir', 'msisdn-submission-success', { msisdn });\n // End Redirect Api Call\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>({ href })\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-redir', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('moRedirFlow/backToStartAction', async (_, { dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-mo-redir', 'mo-redir-state', 'requested to change phone number');\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\nconst moRedirFlowSlice = createSlice({\n name: 'moRedirFlow',\n initialState,\n reducers: {},\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: moRedirFlowReducer, actions: moRedirFlowActions } = moRedirFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectMoRedirFlowState = (state: any) => state.moRedirFlow;\n"],"names":["useMoRedirFlowState","useSelector","state","moRedirFlow","currentState","moRedirFlowMatch","_a","msisdnEntry","type","result","redirect","window","slug","country","msisdn","device","offer","rockmanId","ip_range_name","search","extraParams","email","password","cleanSearchParams","extraParamsQs","concat","Object","keys","map","k","filter","Boolean","join","params","URLSearchParams","__assign","action","offerId","toString","rockman_id","page","encodeURIComponent","location","href","antifraud_id","antifraud_id_js_code","antifraud_id_js_link","network_type","_d","_c","_b","pac_analytics","visitor","includes","evinaTi","_f","_e","ip","client_ip","securityProcessId","languageCode","language_code","host","DEV_BASE_URL","url","success","redirect_url","fetch","then","x","json","submitMSISDN","maybeConfig","internationalMSISDN","config","submitMSISDNWithConfig","substr","newExtraParams","isSkipValidation","searchObj","searchToObject","is_encrypted_msisdn","encrypted_msisdn","match","tryGetIPRangeName","sent","message","error","Error","console","mockedMSISDNEntrySuccess","RDS.Success","mockedMSISDNEntryFailure","RDS.Failure","errorType","defaultInitialState","RDS.NothingYet","initialState","setInitialState","submitMSISDNAction","createAsyncThunk","getState","rejectWithValue","strategy","data","tracker","advancedInFlow","storeMsisdn","customEvent","catch","warn","ex_1","recedeInFlow","productUrl","backToStartAction","_","dispatch","identifyStrategy","ex","moRedirFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","moRedirFlowReducer","reducer","actions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"moRedirFlow.js","sources":["../src/flows/moRedirFlow/hooks/useMoRedirFlowState.ts","../src/flows/moRedirFlow/match.ts","../src/utilities/normalizePhoneNumber.ts","../src/flows/moRedirFlow/api.ts","../src/flows/moRedirFlow/main.ts","../src/flows/moRedirFlow/moRedirFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useMoRedirFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.moRedirFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MoRedirFlowCurrentState, MSISDNEntryFailure, MSISDNEntrySuccess } from '../../sharedFlowTypes/MoRedirTypes';\n\nfunction moRedirFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: MoRedirFlowCurrentState) => 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 { moRedirFlowMatch };\n","import { countryToPhoneCode } from './countryToPhoneCode';\n\n/**\n * Normalizes a phone number by:\n * 1. Stripping non-digits.\n * 2. Removing the known country code if provided (and present).\n * 3. Ensuring the result has a leading '0'.\n *\n * @param phoneNumber The user-input phone number (e.g. \"+971501234567\").\n * @param isoCountry (optional) ISO country code (e.g. \"AE\", \"PK\").\n * @returns The normalized phone number with a leading '0'.\n */\nexport const normalizePhoneNumber = (phoneNumber: string, isoCountry?: string): string => {\n // 1. Remove non-digit characters\n let cleanedNumber = phoneNumber.replace(/\\D/g, '');\n\n // 2. If a specific country is given, try removing *that* country code\n if (isoCountry && countryToPhoneCode[isoCountry]) {\n const countryCode = countryToPhoneCode[isoCountry];\n if (cleanedNumber.startsWith(countryCode)) {\n cleanedNumber = cleanedNumber.substring(countryCode.length);\n }\n } else {\n // (Optional) Fallback behavior if no valid isoCountry is passed:\n // e.g., check all known codes OR just do nothing special\n // For demonstration, we do nothing special:\n }\n\n // 3. Add leading zero if it’s not already present\n if (!cleanedNumber.startsWith('0') && cleanedNumber.length > 0) {\n cleanedNumber = `0${cleanedNumber}`;\n }\n\n return cleanedNumber;\n};\n","import { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\nimport { IHash } from '../../sharedFlowTypes/StrategyTypes';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\nconst redirect = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n ip_range_name,\n search,\n extraParams,\n email,\n password\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn?: string;\n device: string;\n offer: string;\n rockmanId: string;\n ip_range_name?: string;\n search: string;\n extraParams: IHash;\n email?: string;\n password?: string;\n}): Promise<IMSISDNSubmissionResult> => {\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n const params = new URLSearchParams({\n action: 'redirect',\n slug,\n country,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n page: encodeURIComponent(window.location.href),\n\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n network_type: ip_range_name ? '' : 'wifi',\n ...(window.pac_analytics?.visitor?.page?.includes('agency') && { evinaTi: rockmanId }),\n ...(window.pac_analytics?.visitor?.ip && { client_ip: window.pac_analytics.visitor.ip }),\n ...(window.securityProcessId && { securityProcessId: window.securityProcessId }),\n ...(window.languageCode && { language_code: window.languageCode }),\n ...(email && password ? { email, password } : { msisdn })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n if (slug.includes('za-mtn-beyondvr-r7')) {\n return {\n success: true,\n rockman_id: rockmanId,\n redirect_url: url\n };\n }\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { redirect };\n","import { IError } from '../../common-types/IError';\nimport tryGetIPRangeName from '../../ips/tryGetIPRangeName';\nimport { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\nimport { IConfig, IStrategyIDentifyUserResult } from '../../sharedFlowTypes/StrategyTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { redirect } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<string> {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<string> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n\n const newExtraParams = extraParams || {};\n let isSkipValidation = false;\n const searchObj = searchToObject(window) as IStrategyIDentifyUserResult;\n if ((searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') || window.is_encrypted_msisdn === true) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams.encrypted_msisdn = '1';\n }\n\n if (newExtraParams.encrypted_msisdn === '1') {\n isSkipValidation = true;\n }\n const msisdn = isSkipValidation ? internationalMSISDN || window.msisdn : internationalMSISDN.match(/\\d+/gi).join(''); // tallyman API expects international msisdn without any special character\n\n const { visitor } = window.pac_analytics;\n const { rockmanId } = visitor;\n\n const ip_range_name = country === 'ci' ? await tryGetIPRangeName(visitor) : null;\n const result: IMSISDNSubmissionResult = await redirect({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n ip_range_name,\n search,\n extraParams: newExtraParams\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 };\n error.type = type;\n console.error(error);\n throw error;\n } else {\n return result.redirect_url;\n }\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n MoRedirFlowState,\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoRedirTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { normalizePhoneNumber } from '../../utilities/normalizePhoneNumber';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { updateUrlWithParams } from '../../utilities/updateUrlWithParams';\nimport { identifyStrategy } from '../strategy';\nimport submitMSISDN from './main';\n\nconst mockedMSISDNEntrySuccess: MoRedirFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n href: '/product'\n })\n }\n};\n\nconst mockedMSISDNEntryFailure: MoRedirFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n\nconst defaultInitialState: MoRedirFlowState = {\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 redirec api that returns a redirect url\n * Sets completed stated\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('moRedirFlow/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, skipRedirectCall, redirect_url } = state.strategy.currentState.data;\n\n try {\n // Start Redirect Api Call\n tracker.advancedInFlow('tallyman.v1-mo-redir', 'msisdn-submitted', { msisdn });\n const href =\n skipRedirectCall && redirect_url\n ? updateUrlWithParams(redirect_url, { msisdn: normalizePhoneNumber(msisdn, config?.country?.toUpperCase()) })\n : await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-mo-redir', 'msisdn-submission-success', { msisdn });\n // End Redirect Api Call\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>({ href })\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-redir', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('moRedirFlow/backToStartAction', async (_, { dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-mo-redir', 'mo-redir-state', 'requested to change phone number');\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\nconst moRedirFlowSlice = createSlice({\n name: 'moRedirFlow',\n initialState,\n reducers: {},\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: moRedirFlowReducer, actions: moRedirFlowActions } = moRedirFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectMoRedirFlowState = (state: any) => state.moRedirFlow;\n"],"names":["useMoRedirFlowState","useSelector","state","moRedirFlow","currentState","moRedirFlowMatch","_a","msisdnEntry","type","result","normalizePhoneNumber","phoneNumber","isoCountry","cleanedNumber","replace","countryToPhoneCode","countryCode","startsWith","substring","length","concat","redirect","window","slug","country","msisdn","device","offer","rockmanId","ip_range_name","search","extraParams","email","password","cleanSearchParams","extraParamsQs","Object","keys","map","k","filter","Boolean","join","params","URLSearchParams","__assign","action","offerId","toString","rockman_id","page","encodeURIComponent","location","href","antifraud_id","antifraud_id_js_code","antifraud_id_js_link","network_type","_d","_c","_b","pac_analytics","visitor","includes","evinaTi","_f","_e","ip","client_ip","securityProcessId","languageCode","language_code","host","DEV_BASE_URL","url","success","redirect_url","fetch","then","x","json","submitMSISDN","maybeConfig","internationalMSISDN","config","submitMSISDNWithConfig","substr","newExtraParams","isSkipValidation","searchObj","searchToObject","is_encrypted_msisdn","encrypted_msisdn","match","tryGetIPRangeName","sent","message","error","Error","console","mockedMSISDNEntrySuccess","RDS.Success","mockedMSISDNEntryFailure","RDS.Failure","errorType","defaultInitialState","RDS.NothingYet","initialState","setInitialState","submitMSISDNAction","createAsyncThunk","getState","rejectWithValue","_g","strategy","data","skipRedirectCall","tracker","advancedInFlow","updateUrlWithParams","_h","toUpperCase","_j","storeMsisdn","customEvent","catch","warn","ex_1","recedeInFlow","productUrl","backToStartAction","_","dispatch","identifyStrategy","ex","moRedirFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","moRedirFlowReducer","reducer","actions"],"mappings":"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"}
|
package/dist/oneClickFlow.js
CHANGED
|
@@ -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{c as v,f as p}from"./strategySlice-VjeKbch0.js";import{b as m}from"./bupperizeCountry-CEtt0MKz.js";import{l as _}from"./loadScriptInnerHtml-B6v2-IGn.js";import{c as y}from"./cleanSearchParams-Dl7ZDlew.js";import"pacman-client";import"uuid";import"./getConfig.js";import"./formatNumberToE164-Bd0VHMHJ.js";import"./api-CqJrSvqq.js";var w=function(r){return r((function(r){return r.oneClickFlow.currentState}))};function E(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 g(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 h=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;return e(this,(function(e){switch(e.label){case 0:i=y(i),r=(null==o?void 0:o.tid)||"",c=(null==o?void 0:o.shouldBlock)?"false":"true",s=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]),f=u,v=t({sam_evina_tid:r,antifraud_id:o.antifraud_id||"",antifraud_id_js_code:o.antifraud_id_js_code||"",antifraud_id_js_link:o.antifraud_id_js_link||"","is-clean-traffic":c},Object.fromEntries(new URLSearchParams(s))),p=new URLSearchParams(v).toString(),l="".concat(f,"&").concat(p),[4,fetch("".concat(l).concat(i?"&".concat(i):""))];case 2:return[4,e.sent().json()];case 3:return[2,e.sent()];case 4:throw d=e.sent(),console.error("Error fetching subscription:",d),d;case 5:return[2]}var f,v,p}))}))},R=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")))}}))},S=function(c){var o=c.window,a=c.maybeConfig,i=c.extraParams;return r(void 0,void 0,void 0,(function(){var r,c,u,s,l,d,v,p,y,w,E,g,h,S,U,k,C,I,j,T,A,F;return e(this,(function(e){switch(e.label){case 0:if(void 0!==o)return[3,1];throw"javascript: console.error('SSR'); void 6";case 1:return r=a.country,c=a.slug,u=a.queryString,s=a.apiAction,l=void 0!==o&&o.tid?o.tid:"",d=o.pac_analytics.visitor.offer,v=o.location.search.substr(1),p=(v&&v.length>0?[v]:[]).concat((u||[]).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(c)}))).join("&"),Object.keys(i).forEach((function(r,e){p.length>0&&(p+="&"),p="".concat(function(r,e,t){void 0===t&&(t="");var n=new RegExp("\\b(".concat(e,"=).*?(&|#|$)"));if(r.search(n)>=0)return r.replace(n,"$1".concat(t,"$2"));var c=r.replace(/[?#]$/,"");return"".concat(c+e,"=").concat(t,"&")}(p,r,i[r])).concat(1===e?"&":"")})),y=o.pac_analytics.visitor.rockmanId,"identify-user"!==s?[3,3]:(g=o.DEV_BASE_URL||"",S="".concat(g,"/tallyman/v1/?action=identify-user&country=").concat(m(r),"&slug=").concat(c,"&device=").concat("smart","&offerId=").concat(d,"&rockman_id=").concat(y,"&sam_evina_tid=").concat(l,"&").concat(p),[4,R(S)]);case 2:if(!1===(w=e.sent()).success)throw(k=new Error("Error in getRedirectUrl() identify-user action:\n".concat(w.message))).type="NotOn3g",k;return[2,{subscription_url:w.subscription_url||w.redirect_url,action:function(){return b(w.subscription_url,a)}}];case 3:return"he"!==s?[3,5]:(g=o.DEV_BASE_URL||"",S="".concat(g,"/tallyman/v1/?action=he&country=").concat(m(r),"&slug=").concat(c,"&device=").concat("smart","&offerId=").concat(d,"&rockman_id=").concat(y,"&sam_evina_tid=").concat(l,"&").concat(p),[4,fetch(S).then((function(r){return r.json()}))]);case 4:if(!1===(U=e.sent()).success)throw(k=new Error("Error in getRedirectUrl() identify-user action:\n".concat(U.message))).type="NotOn3g",k;return _(U.source),[2,{redirect_url:U.redirectUrlWithReplacedUniqid}];case 5:if("om"===r.toLowerCase()){if("false"===(E=f(o)).success)throw(k=new Error("Error in getRedirectUrl() identify-user")).type="NotOn3g",k;return[2,{redirect_url:E.redirect_url||E.url}]}return g=o.DEV_BASE_URL||"",h=new URLSearchParams(t(t({action:"redirect",device:"smart",slug:c,offerId:d,country:m(r),rockman_id:y,sam_evina_tid:l},(null===(C=null==o?void 0:o.location)||void 0===C?void 0:C.href)&&{page:encodeURIComponent(null===(I=null==o?void 0:o.location)||void 0===I?void 0:I.href)}),(null===(T=null===(j=null==o?void 0:o.pac_analytics)||void 0===j?void 0:j.visitor)||void 0===T?void 0:T.ip)&&{ip_address:null===(F=null===(A=null==o?void 0:o.pac_analytics)||void 0===A?void 0:A.visitor)||void 0===F?void 0:F.ip})),S="".concat(g,"/tallyman/v1/?").concat(h.toString()).concat(p?"&".concat(p):""),[4,fetch(S).then((function(r){return r.json()}))];case 6:if(!1===(U=e.sent()).success)throw(k=new Error("Error in getRedirectUrl() identify-user action:\n".concat(U.message))).type="NotOn3g",k;return[2,{redirect_url:U.redirect_url}];case 7:return[2]}}))}))},b=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,h({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]}}))}))},U=function(t,c,o){return r(void 0,void 0,void 0,(function(){var r,a,i,u,s,l,d,f,v,p,_,y,w,E,g;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],v=void 0!==t&&t.tid?t.tid:"",p=(null===(w=null===(y=null==t?void 0:t.pac_analytics)||void 0===y?void 0:y.visitor)||void 0===w?void 0:w.bupperRedirectHost)?t.atob(null===(g=null===(E=null==t?void 0:t.pac_analytics)||void 0===E?void 0:E.visitor)||void 0===g?void 0:g.bupperRedirectHost):null,_=p||t.DEV_BASE_URL_BUPPER||"",[2,"".concat(_,"/").concat(m(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(v,"&x-xcid=").concat(f).concat(d,"&").concat(l)])}))}))},k={currentState:{type:"GET_REDIRECT_URL",result:a({redirectUrl:"/product"})}},C={currentState:{type:"SUBCRIBE_AJAX",result:s()}},I={currentState:{type:"GET_REDIRECT_URL",result:s()}},j=function(r){var e=f(r);if(!e["mock-flow"])return I;switch(e["current-state"]){case"redirect-url-success-state":return k;case"subscribe-ajax-state":return C;default:return console.error("Mock Flow not supported"),I}}(window),T=c("oneClickFlow/getRedirectUrlAction",(function(n,c){var o=n.window,i=n.isGetRedirectBupperWay,u=n.extraParams,l=n.autoRedirect,m=c.getState,_=c.dispatch,y=c.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,n,c,w,E,h,R,b,k,C,I,T,A,F,B,L,x,P;return e(this,(function(e){switch(e.label){case 0:if(r=m(),f(o)["mock-flow"])return[2,j.currentState];if(!(null===(P=null===(x=null===(L=null==r?void 0:r.strategy)||void 0===L?void 0:L.currentState)||void 0===x?void 0:x.data)||void 0===P?void 0:P.config))return[2,y({errorType:"UnexpectedState"})];n=r.strategy.currentState.data,c=n.config,w=n.subscription_url,E=n.redirect_url,h=n.operator,R=n.strategy,b=n.defaultConfig,k=n.defaultFlowType,e.label=1;case 1:return e.trys.push([1,10,,11]),!0!==i?[3,4]:[4,U(o,c,t(t({},h&&{operator:h}),u))];case 2:return[4,g({currentRedirectUrl:e.sent(),country:c.country})];case 3:return C=e.sent(),d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:C}),!0!==o.isAutoFraudScreener?!0===l?(d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:C}),setTimeout((function(){o.location.href=C}),0),[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:C})}]):[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:C})}]:(I=setInterval((function(){o.isEvinaSessionChecked&&(clearInterval(I),d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:C}),setTimeout((function(){o.location.href=C}),0))}),100),[3,9]);case 4:return w&&null!=w?[2,{type:"SUBCRIBE_AJAX",result:s()}]:E?(d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:E}),[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:E})}]):(d.advancedInFlow("tallyman.v1-one-click","get-redirect-url"),[4,S({window:o,maybeConfig:c,extraParams:t(t({},h&&{operator:h}),u)})]);case 5:return T=e.sent().redirect_url,d.advancedInFlow("tallyman.v1-one-click","get-redirect-url-success"),T?[4,g({currentRedirectUrl:T,country:c.country})]:[3,7];case 6:return F=e.sent(),[3,8];case 7:F=null,e.label=8;case 8:if(!(A=F))return d.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),"one-click"!==R&&_(v({type:p[k],data:{config:b.flowConfig}})),[2,y({errorType:"UnknownError",message:"Could not get rediredt url",error:"Could not get rediredt url"})];if(d.customEvent("Flow","advance-auto","redirect-success",{updated_redirect_url:A}),!(!0===l||!0===o.isAutoFraudScreener&&A))return[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:A})}];d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{updated_redirect_url:A}),setTimeout((function(){o.location.href=A}),0),e.label=9;case 9:return[3,11];case 10:return B=e.sent(),console.warn(B),d.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),"one-click"!==R&&_(v({type:p[k],data:{config:b.flowConfig}})),[2,y({errorType:"UnknownError",message:B.message,error:B.toString()})];case 11:return[2]}}))}))})),A=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,b(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]}}))}))})),F=o({name:"oneClickFlow",initialState:j,reducers:{},extraReducers:function(r){r.addCase(T.pending,(function(r){r.currentState={type:"GET_REDIRECT_URL",result:i()}})).addCase(T.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(T.rejected,(function(r,e){r.currentState={type:"GET_REDIRECT_URL",result:u(e.payload)}})).addCase(A.pending,(function(r){r.currentState={type:"SUBCRIBE_AJAX",result:i()}})).addCase(A.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(A.rejected,(function(r,e){r.currentState={type:"SUBCRIBE_AJAX",result:u(e.payload)}}))}}),B=F.reducer;F.actions;export{T as getRedirectUrlAction,E as oneClickFlowMatch,B as oneClickFlowReducer,A as subscribeUrlAction,w 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{c as v,f as p}from"./strategySlice-BfNZvJIC.js";import{b as m}from"./api-geirVksI.js";import{l as _}from"./loadScriptInnerHtml-B6v2-IGn.js";import{c as y}from"./cleanSearchParams-Dl7ZDlew.js";import"pacman-client";import"uuid";import"./getConfig.js";import"./formatNumberToE164-DaAFvpKD.js";var w=function(r){return r((function(r){return r.oneClickFlow.currentState}))};function E(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 g(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 h=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;return e(this,(function(e){switch(e.label){case 0:i=y(i),r=(null==o?void 0:o.tid)||"",c=(null==o?void 0:o.shouldBlock)?"false":"true",s=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]),f=u,v=t({sam_evina_tid:r,antifraud_id:o.antifraud_id||"",antifraud_id_js_code:o.antifraud_id_js_code||"",antifraud_id_js_link:o.antifraud_id_js_link||"","is-clean-traffic":c},Object.fromEntries(new URLSearchParams(s))),p=new URLSearchParams(v).toString(),l="".concat(f,"&").concat(p),[4,fetch("".concat(l).concat(i?"&".concat(i):""))];case 2:return[4,e.sent().json()];case 3:return[2,e.sent()];case 4:throw d=e.sent(),console.error("Error fetching subscription:",d),d;case 5:return[2]}var f,v,p}))}))},R=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")))}}))},S=function(c){var o=c.window,a=c.maybeConfig,i=c.extraParams;return r(void 0,void 0,void 0,(function(){var r,c,u,s,l,d,v,p,y,w,E,g,h,S,U,k,C,I,j,T,A,F;return e(this,(function(e){switch(e.label){case 0:if(void 0!==o)return[3,1];throw"javascript: console.error('SSR'); void 6";case 1:return r=a.country,c=a.slug,u=a.queryString,s=a.apiAction,l=void 0!==o&&o.tid?o.tid:"",d=o.pac_analytics.visitor.offer,v=o.location.search.substr(1),p=(v&&v.length>0?[v]:[]).concat((u||[]).map((function(r){var e=n(r,2),t=e[0],c=e[1];return"".concat(t,"=").concat(c)}))).join("&"),Object.keys(i).forEach((function(r,e){p.length>0&&(p+="&"),p="".concat(function(r,e,t){void 0===t&&(t="");var n=new RegExp("\\b(".concat(e,"=).*?(&|#|$)"));if(r.search(n)>=0)return r.replace(n,"$1".concat(t,"$2"));var c=r.replace(/[?#]$/,"");return"".concat(c+e,"=").concat(t,"&")}(p,r,i[r])).concat(1===e?"&":"")})),y=o.pac_analytics.visitor.rockmanId,"identify-user"!==s?[3,3]:(g=o.DEV_BASE_URL||"",S="".concat(g,"/tallyman/v1/?action=identify-user&country=").concat(m(r),"&slug=").concat(c,"&device=").concat("smart","&offerId=").concat(d,"&rockman_id=").concat(y,"&sam_evina_tid=").concat(l,"&").concat(p),[4,R(S)]);case 2:if(!1===(w=e.sent()).success)throw(k=new Error("Error in getRedirectUrl() identify-user action:\n".concat(w.message))).type="NotOn3g",k;return[2,{subscription_url:w.subscription_url||w.redirect_url,action:function(){return b(w.subscription_url,a)}}];case 3:return"he"!==s?[3,5]:(g=o.DEV_BASE_URL||"",S="".concat(g,"/tallyman/v1/?action=he&country=").concat(m(r),"&slug=").concat(c,"&device=").concat("smart","&offerId=").concat(d,"&rockman_id=").concat(y,"&sam_evina_tid=").concat(l,"&").concat(p),[4,fetch(S).then((function(r){return r.json()}))]);case 4:if(!1===(U=e.sent()).success)throw(k=new Error("Error in getRedirectUrl() identify-user action:\n".concat(U.message))).type="NotOn3g",k;return _(U.source),[2,{redirect_url:U.redirectUrlWithReplacedUniqid}];case 5:if("om"===r.toLowerCase()){if("false"===(E=f(o)).success)throw(k=new Error("Error in getRedirectUrl() identify-user")).type="NotOn3g",k;return[2,{redirect_url:E.redirect_url||E.url}]}return g=o.DEV_BASE_URL||"",h=new URLSearchParams(t(t({action:"redirect",device:"smart",slug:c,offerId:d,country:m(r),rockman_id:y,sam_evina_tid:l},(null===(C=null==o?void 0:o.location)||void 0===C?void 0:C.href)&&{page:encodeURIComponent(null===(I=null==o?void 0:o.location)||void 0===I?void 0:I.href)}),(null===(T=null===(j=null==o?void 0:o.pac_analytics)||void 0===j?void 0:j.visitor)||void 0===T?void 0:T.ip)&&{ip_address:null===(F=null===(A=null==o?void 0:o.pac_analytics)||void 0===A?void 0:A.visitor)||void 0===F?void 0:F.ip})),S="".concat(g,"/tallyman/v1/?").concat(h.toString()).concat(p?"&".concat(p):""),[4,fetch(S).then((function(r){return r.json()}))];case 6:if(!1===(U=e.sent()).success)throw(k=new Error("Error in getRedirectUrl() identify-user action:\n".concat(U.message))).type="NotOn3g",k;return[2,{redirect_url:U.redirect_url}];case 7:return[2]}}))}))},b=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,h({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]}}))}))},U=function(t,c,o){return r(void 0,void 0,void 0,(function(){var r,a,i,u,s,l,d,f,v,p,_,y,w,E,g;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],v=void 0!==t&&t.tid?t.tid:"",p=(null===(w=null===(y=null==t?void 0:t.pac_analytics)||void 0===y?void 0:y.visitor)||void 0===w?void 0:w.bupperRedirectHost)?t.atob(null===(g=null===(E=null==t?void 0:t.pac_analytics)||void 0===E?void 0:E.visitor)||void 0===g?void 0:g.bupperRedirectHost):null,_=p||t.DEV_BASE_URL_BUPPER||"",[2,"".concat(_,"/").concat(m(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(v,"&x-xcid=").concat(f).concat(d,"&").concat(l)])}))}))},k={currentState:{type:"GET_REDIRECT_URL",result:a({redirectUrl:"/product"})}},C={currentState:{type:"SUBCRIBE_AJAX",result:s()}},I={currentState:{type:"GET_REDIRECT_URL",result:s()}},j=function(r){var e=f(r);if(!e["mock-flow"])return I;switch(e["current-state"]){case"redirect-url-success-state":return k;case"subscribe-ajax-state":return C;default:return console.error("Mock Flow not supported"),I}}(window),T=c("oneClickFlow/getRedirectUrlAction",(function(n,c){var o=n.window,i=n.isGetRedirectBupperWay,u=n.extraParams,l=n.autoRedirect,m=c.getState,_=c.dispatch,y=c.rejectWithValue;return r(void 0,void 0,void 0,(function(){var r,n,c,w,E,h,R,b,k,C,I,T,A,F,B,L,x,P;return e(this,(function(e){switch(e.label){case 0:if(r=m(),f(o)["mock-flow"])return[2,j.currentState];if(!(null===(P=null===(x=null===(L=null==r?void 0:r.strategy)||void 0===L?void 0:L.currentState)||void 0===x?void 0:x.data)||void 0===P?void 0:P.config))return[2,y({errorType:"UnexpectedState"})];n=r.strategy.currentState.data,c=n.config,w=n.subscription_url,E=n.redirect_url,h=n.operator,R=n.strategy,b=n.defaultConfig,k=n.defaultFlowType,e.label=1;case 1:return e.trys.push([1,10,,11]),!0!==i?[3,4]:[4,U(o,c,t(t({},h&&{operator:h}),u))];case 2:return[4,g({currentRedirectUrl:e.sent(),country:c.country})];case 3:return C=e.sent(),d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:C}),!0!==o.isAutoFraudScreener?!0===l?(d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:C}),setTimeout((function(){o.location.href=C}),0),[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:C})}]):[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:C})}]:(I=setInterval((function(){o.isEvinaSessionChecked&&(clearInterval(I),d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{redirect_url:C}),setTimeout((function(){o.location.href=C}),0))}),100),[3,9]);case 4:return w&&null!=w?[2,{type:"SUBCRIBE_AJAX",result:s()}]:E?(d.customEvent("Flow","advance-auto","redirect-success",{redirect_url:E}),[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:E})}]):(d.advancedInFlow("tallyman.v1-one-click","get-redirect-url"),[4,S({window:o,maybeConfig:c,extraParams:t(t({},h&&{operator:h}),u)})]);case 5:return T=e.sent().redirect_url,d.advancedInFlow("tallyman.v1-one-click","get-redirect-url-success"),T?[4,g({currentRedirectUrl:T,country:c.country})]:[3,7];case 6:return F=e.sent(),[3,8];case 7:F=null,e.label=8;case 8:if(!(A=F))return d.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),"one-click"!==R&&_(v({type:p[k],data:{config:b.flowConfig}})),[2,y({errorType:"UnknownError",message:"Could not get rediredt url",error:"Could not get rediredt url"})];if(d.customEvent("Flow","advance-auto","redirect-success",{updated_redirect_url:A}),!(!0===l||!0===o.isAutoFraudScreener&&A))return[2,{type:"GET_REDIRECT_URL",result:a({redirectUrl:A})}];d.advancedInFlow("tallyman.v1-one-click","click-redirect-url",{updated_redirect_url:A}),setTimeout((function(){o.location.href=A}),0),e.label=9;case 9:return[3,11];case 10:return B=e.sent(),console.warn(B),d.recedeInFlow("tallyman.v1-one-click","get-redirect-url-failure",{errorType:"UnknownError"}),"one-click"!==R&&_(v({type:p[k],data:{config:b.flowConfig}})),[2,y({errorType:"UnknownError",message:B.message,error:B.toString()})];case 11:return[2]}}))}))})),A=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,b(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]}}))}))})),F=o({name:"oneClickFlow",initialState:j,reducers:{},extraReducers:function(r){r.addCase(T.pending,(function(r){r.currentState={type:"GET_REDIRECT_URL",result:i()}})).addCase(T.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(T.rejected,(function(r,e){r.currentState={type:"GET_REDIRECT_URL",result:u(e.payload)}})).addCase(A.pending,(function(r){r.currentState={type:"SUBCRIBE_AJAX",result:i()}})).addCase(A.fulfilled,(function(r,e){r.currentState=e.payload})).addCase(A.rejected,(function(r,e){r.currentState={type:"SUBCRIBE_AJAX",result:u(e.payload)}}))}}),B=F.reducer;F.actions;export{T as getRedirectUrlAction,E as oneClickFlowMatch,B as oneClickFlowReducer,A as subscribeUrlAction,w as useOneClickFlowState};
|
|
2
2
|
//# sourceMappingURL=oneClickFlow.js.map
|