ouisys-engine 5.0.140 → 5.0.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- import{__awaiter as e,__generator as r,__assign as t}from"tslib";import{createAsyncThunk as a,createSlice as n}from"@reduxjs/toolkit";import{S as o,L as i,F as c,N as s}from"./RemoteDataState-lcf8PfJd.js";import{l as d}from"./loadScriptInnerHtml-B6v2-IGn.js";import{searchToObject as l}from"./searchToObject.js";import{t as u}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var v=function(a){var n=a.window,o=a.slug,i=a.country,c=a.msisdn,s=a.device,d=a.offer,l=a.rockmanId,u=a.ip_range_name,v=a.search,m=a.extraParamsQs,p=a.email,y=a.password;return e(void 0,void 0,void 0,(function(){var e,a,f,g,w,_;return r(this,(function(r){return e=new URLSearchParams(t(t(t(t(t(t({action:"redirect",slug:o,country:i,device:s,offerId:d.toString(),rockman_id:l,page:encodeURIComponent(n.location.href),network_type:u?"":"wifi"},v&&{search:v}),(null===(_=null===(w=null===(g=n.pac_analytics)||void 0===g?void 0:g.visitor)||void 0===w?void 0:w.page)||void 0===_?void 0:_.includes("agency"))&&{evinaTi:l}),n.securityProcessId&&{securityProcessId:n.securityProcessId}),n.languageCode&&{language_code:n.languageCode}),p&&y?{email:p,password:y}:{msisdn:c}),m&&{extraParams:m})).toString(),a=n.DEV_BASE_URL||"",f="".concat(a,"/tallyman/v1/?").concat(e),[2,fetch(f).then((function(e){return e.json()}))]}))}))},m=function(a){var n=a.window,o=a.userDetails,i=a.extraConfig;return e(void 0,void 0,void 0,(function(){var e,a,c,s,d,u,v,m,p,y,f,g,w,_;return r(this,(function(r){return e="cc_number"in o,a=n.DEV_BASE_URL_CREDIT_CARD||"",c="".concat(a,"/api/v1"),"/frontend/initiate-payment-generic",s=l(n),d={timezone:(new Date).getTimezoneOffset(),browserColorDepth:n.screen.colorDepth,browserLanguage:navigator.language,browserScreenHeight:n.screen.height,browserScreenWidth:n.screen.width,userAgent:navigator.userAgent,browserJavaEnabled:!!navigator.javaEnabled&&navigator.javaEnabled(),browserJavascriptEnabled:!0},u=(null==i?void 0:i.slug)||"",v=(null==s?void 0:s.d_country)||"",m=(null==s?void 0:s.d_currency)||"",p="",y=["cc_celerispay-xracademy50_099-","cc_celerispay-xracademy50_001-","cc_maxpay-xracademy50_001-","cc_ecardon-movio50_001-","cc_maxpay-movio50_001-","cc_maxpay-funbox50_001-","cc_maxpay-entertainu50_099-"],f=["sek","nok","gbp","dkk","usd","sar","cad","pln"].some((function(e){return e===m.toLowerCase()})),y.some((function(e){return e===u.toLowerCase()}))&&m&&f&&(p="".concat(u.slice(0,-1),":").concat(m.toLowerCase(),"-").concat(v.toLowerCase())),g=t(t(t(t({rockman_id:null===(_=n.pac_analytics.visitor)||void 0===_?void 0:_.rockmanId,landing_page_url:n.location.href,service_id:e?null==i?void 0:i.serviceId:"2"},u?{slug:p||"".concat(u).concat(v.toLowerCase())}:{}),e?{}:{user_agent:n.navigator.userAgent,ip:n.pac_analytics.visitor.ip}),{browserFingerprint:d}),o),w={method:"POST",headers:new Headers({"Content-Type":"application/json"}),body:JSON.stringify(g)},[2,fetch("".concat(c).concat("/frontend/initiate-payment-generic"),w).then((function(e){return e.json()}))]}))}))};function p(t,a,n){var o,i,c,s,d;return e(this,void 0,void 0,(function(){var e,l,u,p,y,f,g,w,_,h,S,b;return r(this,(function(r){switch(r.label){case 0:return e=a.slug,l=a.country,u=a.device,p=a.serviceId,y=t.location.search.substr(1)||"",f=t.pac_analytics.visitor,g=f.rockmanId,w={serviceId:p,slug:e},(null===(c=null===(i=null===(o=null==t?void 0:t.pac_analytics)||void 0===o?void 0:o.visitor)||void 0===i?void 0:i.page)||void 0===c?void 0:c.includes("agency"))?[4,v({window:t,slug:e,country:l,device:u,offer:null===(d=null===(s=null==t?void 0:t.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===d?void 0:d.offer,rockmanId:g,email:null==n?void 0:n.email,password:null==n?void 0:n.password,search:y})]:[3,2];case 1:return h=r.sent(),[3,4];case 2:return[4,m({window:t,userDetails:n,extraConfig:w})];case 3:h=r.sent(),r.label=4;case 4:if(!1===(_=h).success)throw S="ALREADY SUBSCRIBED"===_.message?"AlreadySubscribed":_.message,(b=new Error("".concat(S,":\n").concat(_.message))).type=S,b.errorId=_.errorId,console.error(b),b;return[2,{gateway_url:_.gateway_url||_.redirect_url,method:_.redirect_url?"redirection":_.method,html:_.html}]}}))}))}var y={currentState:{type:"USER_DETAILS_ENTRY",result:o({gateway_url:"https://www.google.com",method:"jslink"})}},f={currentState:{type:"USER_DETAILS_ENTRY",result:c({errorType:"AlreadySubscribed",error:"Already Subscribed"})}},g={currentState:{type:"USER_DETAILS_ENTRY",result:s()}},w=function(e){var r=l(e);if(!r["mock-flow"])return g;switch(r["current-state"]){case"user-details-entry-failure-state":return f;case"user-details-entry-success-state":return y;default:return console.error("Mock Flow not supported"),g}}(window),_=a("creditCardFlow/submitUserDetailsAction",(function(t,a){var n=t.window,i=t.userDetails,c=a.getState,s=a.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,t,a,l,v,m,y,f,g,w,_;return r(this,(function(r){switch(r.label){case 0:if(e=c(),!(null===(_=null===(w=null===(g=null==e?void 0:e.strategy)||void 0===g?void 0:g.currentState)||void 0===w?void 0:w.data)||void 0===_?void 0:_.config))return[2,s({errorType:"UnexpectedState"})];t=e.strategy.currentState.data.config,r.label=1;case 1:return r.trys.push([1,3,,4]),u.advancedInFlow("tallyman.v1-credit-card","cc-form-submitted",{email:null==i?void 0:i.email}),[4,p(n,t,i)];case 2:return a=r.sent(),l=a.gateway_url,v=a.method,m=a.html,u.advancedInFlow("tallyman.v1-credit-card","cc-form-submission-success",{email:null==i?void 0:i.email,gateway_url:l}),"jslink"===v&&l&&(u.advancedInFlow("tallyman.v1-credit-card","load-script-start",{gateway_url:l}),function(e){var r=e.url,t=e.key,a=e.isRecaptcha,n=void 0!==a&&a,o=e.callBack,i=e.id,c=void 0===i?"":i,s=document.createElement("script");s.type="text/javascript",s.src=r,s.id="injected_script_".concat(c);var l=document.getElementsByTagName("head")[0];l.insertBefore(s,l.firstChild),n&&(s.onload=function(){var e='\n grecaptcha.ready(function() {\n grecaptcha.execute("'.concat(t,'", {action: \'submit\'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log("-------" + token);\n });\n });\n ');d(e,!0)}),s.onerror=function(){console.error("Error loading script",r),o&&o()}}({id:"ecardon-credit-card",url:l,callBack:function(){u.advancedInFlow("tallyman.v1-credit-card","load-script-success",{gateway_url:l})}})),"redirection"===v&&l&&(u.customEvent("Flow","advance-auto","redirect-success",{redirect_url:l}),n.location.href=l),"html"===v&&m&&u.advancedInFlow("tallyman.v1-credit-card","get-html-success"),[2,{type:"USER_DETAILS_ENTRY",result:o({gateway_url:l,method:v,html:m})}];case 3:switch(y=r.sent(),console.warn(y),f=void 0,y.type){case"AlreadySubscribed":f="AlreadySubscribed";break;case"InvalidUserDetails":f="InvalidUserDetails";break;default:f="UnknownError"}return u.recedeInFlow("tallyman.v1-credit-card","cc-form-submission-failure",{email:null==i?void 0:i.email,errorType:f||y.type,errorId:(null==y?void 0:y.errorId)||""}),[2,s({errorType:f,error:y.toString(),errorId:(null==y?void 0:y.errorId)||""})];case 4:return[2]}}))}))})),h=n({name:"creditCardFlow",initialState:w,reducers:{},extraReducers:function(e){e.addCase(_.pending,(function(e){e.currentState={type:"USER_DETAILS_ENTRY",result:i()}})).addCase(_.fulfilled,(function(e,r){e.currentState=r.payload})).addCase(_.rejected,(function(e,r){e.currentState={type:"USER_DETAILS_ENTRY",result:c(r.payload)}}))}}),S=h.reducer;h.actions;var b=function(e){return e((function(e){return e.creditCardFlow.currentState}))};function E(e){var r=e.userDetailsEntry;return function(e){return e.type,r(e.result)}}export{E as creditCardFlowMatch,S as creditCardFlowReducer,_ as submitUserDetailsAction,b as useCreditCardFlowState};
1
+ import{__awaiter as e,__generator as r,__assign as t}from"tslib";import{createAsyncThunk as a,createSlice as n}from"@reduxjs/toolkit";import{S as o,L as i,F as c,N as s}from"./RemoteDataState-lcf8PfJd.js";import{l as d}from"./loadScriptInnerHtml-B6v2-IGn.js";import{searchToObject as l}from"./searchToObject.js";import{t as u}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var v=function(a){var n=a.window,o=a.slug,i=a.country,c=a.msisdn,s=a.device,d=a.offer,l=a.rockmanId,u=a.ip_range_name,v=a.search,m=a.extraParamsQs,p=a.email,y=a.password;return e(void 0,void 0,void 0,(function(){var e,a,f,g,w,_;return r(this,(function(r){return e=new URLSearchParams(t(t(t(t(t(t({action:"redirect",slug:o,country:i,device:s,offerId:d.toString(),rockman_id:l,page:encodeURIComponent(n.location.href),network_type:u?"":"wifi"},v&&{search:v}),(null===(_=null===(w=null===(g=n.pac_analytics)||void 0===g?void 0:g.visitor)||void 0===w?void 0:w.page)||void 0===_?void 0:_.includes("agency"))&&{evinaTi:l}),n.securityProcessId&&{securityProcessId:n.securityProcessId}),n.languageCode&&{language_code:n.languageCode}),p&&y?{email:p,password:y}:{msisdn:c}),m&&{extraParams:m})).toString(),a=n.DEV_BASE_URL||"",f="".concat(a,"/tallyman/v1/?").concat(e),[2,fetch(f).then((function(e){return e.json()}))]}))}))},m=function(a){var n=a.window,o=a.userDetails,i=a.extraConfig;return e(void 0,void 0,void 0,(function(){var e,a,c,s,d,u,v,m,p,y,f,g,w,_;return r(this,(function(r){return e="cc_number"in o,a=n.DEV_BASE_URL_CREDIT_CARD||"",c="".concat(a,"/api/v1"),"/frontend/initiate-payment-generic",s=l(n),d={timezone:(new Date).getTimezoneOffset(),browserColorDepth:n.screen.colorDepth,browserLanguage:navigator.language,browserScreenHeight:n.screen.height,browserScreenWidth:n.screen.width,userAgent:navigator.userAgent,browserJavaEnabled:!!navigator.javaEnabled&&navigator.javaEnabled(),browserJavascriptEnabled:!0},u=(null==i?void 0:i.slug)||"",v=(null==s?void 0:s.d_country)||"",m=(null==s?void 0:s.d_currency)||"",p="",y=["cc_celerispay-xracademy50_099-","cc_celerispay-xracademy50_001-","cc_maxpay-xracademy50_001-","cc_ecardon-movio50_001-","cc_maxpay-movio50_001-","cc_maxpay-funbox50_001-","cc_maxpay-entertainu50_099-"],f=["sek","nok","gbp","dkk","usd","sar","cad","pln","aed"].some((function(e){return e===m.toLowerCase()})),y.some((function(e){return e===u.toLowerCase()}))&&m&&f&&(p="".concat(u.slice(0,-1),":").concat(m.toLowerCase(),"-").concat(v.toLowerCase())),g=t(t(t(t({rockman_id:null===(_=n.pac_analytics.visitor)||void 0===_?void 0:_.rockmanId,landing_page_url:n.location.href,service_id:e?null==i?void 0:i.serviceId:"2"},u?{slug:p||"".concat(u).concat(v.toLowerCase())}:{}),e?{}:{user_agent:n.navigator.userAgent,ip:n.pac_analytics.visitor.ip}),{browserFingerprint:d}),o),w={method:"POST",headers:new Headers({"Content-Type":"application/json"}),body:JSON.stringify(g)},[2,fetch("".concat(c).concat("/frontend/initiate-payment-generic"),w).then((function(e){return e.json()}))]}))}))};function p(t,a,n){var o,i,c,s,d;return e(this,void 0,void 0,(function(){var e,l,u,p,y,f,g,w,_,h,S,b;return r(this,(function(r){switch(r.label){case 0:return e=a.slug,l=a.country,u=a.device,p=a.serviceId,y=t.location.search.substr(1)||"",f=t.pac_analytics.visitor,g=f.rockmanId,w={serviceId:p,slug:e},(null===(c=null===(i=null===(o=null==t?void 0:t.pac_analytics)||void 0===o?void 0:o.visitor)||void 0===i?void 0:i.page)||void 0===c?void 0:c.includes("agency"))?[4,v({window:t,slug:e,country:l,device:u,offer:null===(d=null===(s=null==t?void 0:t.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===d?void 0:d.offer,rockmanId:g,email:null==n?void 0:n.email,password:null==n?void 0:n.password,search:y})]:[3,2];case 1:return h=r.sent(),[3,4];case 2:return[4,m({window:t,userDetails:n,extraConfig:w})];case 3:h=r.sent(),r.label=4;case 4:if(!1===(_=h).success)throw S="ALREADY SUBSCRIBED"===_.message?"AlreadySubscribed":_.message,(b=new Error("".concat(S,":\n").concat(_.message))).type=S,b.errorId=_.errorId,console.error(b),b;return[2,{gateway_url:_.gateway_url||_.redirect_url,method:_.redirect_url?"redirection":_.method,html:_.html}]}}))}))}var y={currentState:{type:"USER_DETAILS_ENTRY",result:o({gateway_url:"https://www.google.com",method:"jslink"})}},f={currentState:{type:"USER_DETAILS_ENTRY",result:c({errorType:"AlreadySubscribed",error:"Already Subscribed"})}},g={currentState:{type:"USER_DETAILS_ENTRY",result:s()}},w=function(e){var r=l(e);if(!r["mock-flow"])return g;switch(r["current-state"]){case"user-details-entry-failure-state":return f;case"user-details-entry-success-state":return y;default:return console.error("Mock Flow not supported"),g}}(window),_=a("creditCardFlow/submitUserDetailsAction",(function(t,a){var n=t.window,i=t.userDetails,c=a.getState,s=a.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,t,a,l,v,m,y,f,g,w,_;return r(this,(function(r){switch(r.label){case 0:if(e=c(),!(null===(_=null===(w=null===(g=null==e?void 0:e.strategy)||void 0===g?void 0:g.currentState)||void 0===w?void 0:w.data)||void 0===_?void 0:_.config))return[2,s({errorType:"UnexpectedState"})];t=e.strategy.currentState.data.config,r.label=1;case 1:return r.trys.push([1,3,,4]),u.advancedInFlow("tallyman.v1-credit-card","cc-form-submitted",{email:null==i?void 0:i.email}),[4,p(n,t,i)];case 2:return a=r.sent(),l=a.gateway_url,v=a.method,m=a.html,u.advancedInFlow("tallyman.v1-credit-card","cc-form-submission-success",{email:null==i?void 0:i.email,gateway_url:l}),"jslink"===v&&l&&(u.advancedInFlow("tallyman.v1-credit-card","load-script-start",{gateway_url:l}),function(e){var r=e.url,t=e.key,a=e.isRecaptcha,n=void 0!==a&&a,o=e.callBack,i=e.id,c=void 0===i?"":i,s=document.createElement("script");s.type="text/javascript",s.src=r,s.id="injected_script_".concat(c);var l=document.getElementsByTagName("head")[0];l.insertBefore(s,l.firstChild),n&&(s.onload=function(){var e='\n grecaptcha.ready(function() {\n grecaptcha.execute("'.concat(t,'", {action: \'submit\'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log("-------" + token);\n });\n });\n ');d(e,!0)}),s.onerror=function(){console.error("Error loading script",r),o&&o()}}({id:"ecardon-credit-card",url:l,callBack:function(){u.advancedInFlow("tallyman.v1-credit-card","load-script-success",{gateway_url:l})}})),"redirection"===v&&l&&(u.customEvent("Flow","advance-auto","redirect-success",{redirect_url:l}),n.location.href=l),"html"===v&&m&&u.advancedInFlow("tallyman.v1-credit-card","get-html-success"),[2,{type:"USER_DETAILS_ENTRY",result:o({gateway_url:l,method:v,html:m})}];case 3:switch(y=r.sent(),console.warn(y),f=void 0,y.type){case"AlreadySubscribed":f="AlreadySubscribed";break;case"InvalidUserDetails":f="InvalidUserDetails";break;default:f="UnknownError"}return u.recedeInFlow("tallyman.v1-credit-card","cc-form-submission-failure",{email:null==i?void 0:i.email,errorType:f||y.type,errorId:(null==y?void 0:y.errorId)||""}),[2,s({errorType:f,error:y.toString(),errorId:(null==y?void 0:y.errorId)||""})];case 4:return[2]}}))}))})),h=n({name:"creditCardFlow",initialState:w,reducers:{},extraReducers:function(e){e.addCase(_.pending,(function(e){e.currentState={type:"USER_DETAILS_ENTRY",result:i()}})).addCase(_.fulfilled,(function(e,r){e.currentState=r.payload})).addCase(_.rejected,(function(e,r){e.currentState={type:"USER_DETAILS_ENTRY",result:c(r.payload)}}))}}),S=h.reducer;h.actions;var b=function(e){return e((function(e){return e.creditCardFlow.currentState}))};function E(e){var r=e.userDetailsEntry;return function(e){return e.type,r(e.result)}}export{E as creditCardFlowMatch,S as creditCardFlowReducer,_ as submitUserDetailsAction,b as useCreditCardFlowState};
2
2
  //# sourceMappingURL=creditCardFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"creditCardFlow.js","sources":["../src/utilities/loadScriptSrc.ts","../src/flows/creditCardFlow/api.ts","../src/flows/creditCardFlow/main.ts","../src/flows/creditCardFlow/creditCardFlowSlice.ts","../src/flows/creditCardFlow/hooks/useCreditCardFlowState.ts","../src/flows/creditCardFlow/match.ts"],"sourcesContent":["import { loadScriptInnerHtml } from './loadScriptInnerHtml';\n\n/**\n * Loads a script from the specified URL and optionally executes a reCAPTCHA if the `isRecaptcha` flag is set.\n *\n * @param {Object} options - An object containing the following properties:\n * - {string} url: The URL of the script to load.\n * - {string} [key]: The reCAPTCHA key to use for execution. (Optional)\n * - {boolean} [isRecaptcha]: Flag indicating whether to execute a reCAPTCHA. Defaults to false.\n * - {function} [callBack]: A callback function to be called if there is an error loading the script. (Optional)\n * - {string} [id]: The ID to assign to the injected script. Defaults to an empty string.\n * @return {void}\n */\nconst loadScriptSrc = ({\n url,\n key,\n isRecaptcha = false,\n callBack,\n id = ''\n}: {\n url: string;\n key?: string;\n isRecaptcha?: boolean;\n callBack?: () => void;\n id?: string;\n}) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.id = `injected_script_${id}`;\n const headElem = document.getElementsByTagName('head')[0];\n headElem.insertBefore(script, headElem.firstChild);\n\n if (isRecaptcha) {\n script.onload = () => {\n const scriptInner = `\n grecaptcha.ready(function() {\n grecaptcha.execute(\"${key}\", {action: 'submit'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log(\"-------\" + token);\n });\n });\n `;\n loadScriptInnerHtml(scriptInner, true);\n };\n }\n\n script.onerror = () => {\n console.error('Error loading script', url);\n if (callBack) {\n callBack();\n }\n };\n};\n\nexport default loadScriptSrc;\n","import { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\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 extraParamsQs,\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 extraParamsQs?: string;\n email?: string;\n password?: string;\n}): Promise<IMSISDNSubmissionResult> => {\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 network_type: ip_range_name ? '' : 'wifi',\n ...(search && { search }),\n ...(window.pac_analytics?.visitor?.page?.includes('agency') && { evinaTi: rockmanId }),\n ...(window.securityProcessId && { securityProcessId: window.securityProcessId }),\n ...(window.languageCode && { language_code: window.languageCode }),\n ...(email && password ? { email, password } : { msisdn }),\n ...(extraParamsQs && { extraParams: extraParamsQs })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nconst creditCardPayment = async ({\n window,\n userDetails,\n extraConfig\n}: {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n extraConfig?: { serviceId: string; slug: string };\n}): Promise<IUserDetailsSubmissionResult> => {\n const isMaxPay = 'cc_number' in userDetails;\n const host = window.DEV_BASE_URL_CREDIT_CARD || '';\n const apiBaseURL = `${host}/api/v1`;\n const apiPath = '/frontend/initiate-payment-generic';\n const search = searchToObject(window) as any;\n // Common userDetails properties\n\n const browserFingerprint = {\n timezone: new Date().getTimezoneOffset(),\n browserColorDepth: window.screen.colorDepth,\n browserLanguage: navigator.language,\n browserScreenHeight: window.screen.height,\n browserScreenWidth: window.screen.width,\n userAgent: navigator.userAgent,\n browserJavaEnabled: navigator.javaEnabled ? navigator.javaEnabled() : false,\n browserJavascriptEnabled: true\n };\n\n const slug = extraConfig?.slug || '';\n const country = search?.d_country || '';\n const currency = search?.d_currency || '';\n let currencySlug = '';\n const allowedCurrencies = ['sek', 'nok', 'gbp', 'dkk', 'usd', 'sar', 'cad', 'pln'];\n const localCurrencySupportedSlugs = [\n 'cc_celerispay-xracademy50_099-',\n 'cc_celerispay-xracademy50_001-',\n 'cc_maxpay-xracademy50_001-',\n 'cc_ecardon-movio50_001-',\n 'cc_maxpay-movio50_001-',\n 'cc_maxpay-funbox50_001-',\n 'cc_maxpay-entertainu50_099-'\n ];\n const isAllowedCurrency = allowedCurrencies.some((c) => c === currency.toLowerCase());\n const isLocalCurrencySupported = localCurrencySupportedSlugs.some((s) => s === slug.toLowerCase());\n\n if (isLocalCurrencySupported && currency && isAllowedCurrency) {\n currencySlug = `${slug.slice(0, -1)}:${currency.toLowerCase()}-${country.toLowerCase()}`;\n }\n\n const commonDetails = {\n rockman_id: window.pac_analytics.visitor?.rockmanId,\n landing_page_url: window.location.href,\n // Use conditional operation for service_id as it varies\n service_id: isMaxPay ? extraConfig?.serviceId : '2',\n ...(slug ? { slug: currencySlug || `${slug}${country.toLowerCase()}` } : {}),\n ...(isMaxPay ? {} : { user_agent: window.navigator.userAgent, ip: window.pac_analytics.visitor.ip }),\n browserFingerprint,\n ...userDetails\n };\n\n const requestOptions = {\n method: 'POST',\n headers: new Headers({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(commonDetails)\n };\n\n return fetch(`${apiBaseURL}${apiPath}`, requestOptions).then((response) => response.json());\n};\n\nexport { redirect, creditCardPayment };\n","import { IError } from '../../common-types/IError';\nimport { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { creditCardPayment, redirect } from './api';\n\nexport async function submitUserDetails(\n window: Window,\n config: IConfig,\n userDetails: IUserDetails | IUserDetailsEcardon\n): Promise<{\n method: string;\n gateway_url?: string;\n html?: string;\n}> {\n const { slug, country, device, serviceId } = config;\n const search = window.location.search.substr(1) || '';\n const { visitor } = window.pac_analytics;\n\n const { rockmanId } = visitor;\n const extraConfig = { serviceId, slug };\n const result: IUserDetailsSubmissionResult = window?.pac_analytics?.visitor?.page?.includes('agency')\n ? await redirect({\n window,\n slug,\n country,\n device,\n offer: window?.pac_analytics?.visitor?.offer,\n rockmanId,\n email: userDetails?.email,\n password: userDetails?.password,\n search\n })\n : await creditCardPayment({ window, userDetails, extraConfig });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : result.message;\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n error.errorId = result.errorId;\n console.error(error);\n throw error;\n } else {\n return {\n gateway_url: result.gateway_url || result.redirect_url,\n method: result.redirect_url ? 'redirection' : result.method,\n html: result.html\n };\n }\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowState,\n IUserDetails,\n IUserDetailsEcardon,\n SubmitUserDetailsErrorTypes,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess,\n USERDETAILSEntryState\n} from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { submitUserDetails } from './main';\n\nconst mockedUserDetailsEntrySuccess: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n gateway_url: 'https://www.google.com',\n method: 'jslink'\n })\n }\n};\n\nconst mockedUserDetailsEntryFailure: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n errorType: 'AlreadySubscribed',\n error: 'Already Subscribed'\n })\n }\n};\n\nconst defaultInitialState: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\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 'user-details-entry-failure-state':\n return mockedUserDetailsEntryFailure;\n case 'user-details-entry-success-state':\n return mockedUserDetailsEntrySuccess;\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 SubmitUserDetailsArgs {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n}\n/**\n * submitUserDetailsAction\n * @returns {type: ' 'pinFlow/submitUserDetailsAction', payload: {type: PossibleTypes, result: USERDETAILSEntryState}}\n \n * Calls redirect or max api and returns a url\n * \n */\nexport const submitUserDetailsAction = createAsyncThunk<\n USERDETAILSEntryState,\n SubmitUserDetailsArgs,\n {\n rejectValue: SubmitUserDetailsFailure;\n }\n>('creditCardFlow/submitUserDetailsAction', async ({ window, userDetails }, { 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 Credit Card API\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submitted', { email: userDetails?.email });\n const { gateway_url, method, html } = await submitUserDetails(window, config, userDetails);\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submission-success', {\n email: userDetails?.email,\n gateway_url\n });\n // Start Credit Card API\n\n if (method === 'jslink' && gateway_url) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-start', { gateway_url });\n loadScriptSrc({\n id: 'ecardon-credit-card',\n url: gateway_url,\n callBack: () => {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-success', { gateway_url });\n }\n });\n }\n\n if (method === 'redirection' && gateway_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: gateway_url });\n window.location.href = gateway_url;\n }\n\n if (method === 'html' && html) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'get-html-success');\n }\n return {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({ gateway_url, method, html })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: SubmitUserDetailsErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidUserDetails':\n errorType = 'InvalidUserDetails';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-credit-card', 'cc-form-submission-failure', {\n email: userDetails?.email,\n errorType: errorType || ex.type,\n errorId: ex?.errorId || ''\n });\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n errorId: ex?.errorId || ''\n });\n }\n});\n\nconst creditCardFlowSlice = createSlice({\n name: 'creditCardFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitUserDetailsAction.pending, (state) => {\n state.currentState = { type: 'USER_DETAILS_ENTRY', result: RDS.Loading() };\n })\n .addCase(submitUserDetailsAction.fulfilled, (state, action: PayloadAction<USERDETAILSEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitUserDetailsAction.rejected, (state, action: PayloadAction<SubmitUserDetailsFailure>) => {\n state.currentState = {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: creditCardFlowReducer, actions: creditCardFlowActions } = creditCardFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectCreditCardFlowState = (state: any) => state.creditCardFlow;\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useCreditCardFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.creditCardFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowCurrentState,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess\n} from '../../sharedFlowTypes/CreditCardTypes';\n\nfunction creditCardFlowMatch<R>({\n userDetailsEntry\n}: {\n userDetailsEntry: (rds: RDS.RemoteDataState<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>) => R;\n}): (state: CreditCardFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'USER_DETAILS_ENTRY':\n return userDetailsEntry(state.result);\n default:\n // TODO - this should be an error or something\n return userDetailsEntry(state.result);\n }\n };\n}\n\nexport { creditCardFlowMatch };\n"],"names":["redirect","_a","window","slug","country","msisdn","device","offer","rockmanId","ip_range_name","search","extraParamsQs","email","password","params","URLSearchParams","__assign","action","offerId","toString","rockman_id","page","encodeURIComponent","location","href","network_type","_d","_c","_b","pac_analytics","visitor","includes","evinaTi","securityProcessId","languageCode","language_code","extraParams","host","DEV_BASE_URL","url","concat","fetch","then","x","json","creditCardPayment","userDetails","extraConfig","isMaxPay","DEV_BASE_URL_CREDIT_CARD","apiBaseURL","searchToObject","browserFingerprint","timezone","Date","getTimezoneOffset","browserColorDepth","screen","colorDepth","browserLanguage","navigator","language","browserScreenHeight","height","browserScreenWidth","width","userAgent","browserJavaEnabled","javaEnabled","browserJavascriptEnabled","d_country","currency","d_currency","currencySlug","localCurrencySupportedSlugs","isAllowedCurrency","some","c","toLowerCase","s","slice","commonDetails","landing_page_url","service_id","serviceId","user_agent","ip","requestOptions","method","headers","Headers","body","JSON","stringify","response","submitUserDetails","config","substr","_e","_f","_g","result","success","type","message","error","Error","errorId","console","gateway_url","redirect_url","html","mockedUserDetailsEntrySuccess","currentState","RDS.Success","mockedUserDetailsEntryFailure","RDS.Failure","errorType","defaultInitialState","RDS.NothingYet","initialState","setInitialState","submitUserDetailsAction","createAsyncThunk","getState","rejectWithValue","state","strategy","data","tracker","advancedInFlow","sent","gateway_url_1","key","isRecaptcha","callBack","id","script","document","createElement","src","headElem","getElementsByTagName","insertBefore","firstChild","onload","scriptInner","loadScriptInnerHtml","onerror","loadScriptSrc","customEvent","warn","ex_1","recedeInFlow","creditCardFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","creditCardFlowReducer","reducer","actions","useCreditCardFlowState","useSelector","creditCardFlow","creditCardFlowMatch","userDetailsEntry"],"mappings":"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"}
1
+ {"version":3,"file":"creditCardFlow.js","sources":["../src/utilities/loadScriptSrc.ts","../src/flows/creditCardFlow/api.ts","../src/flows/creditCardFlow/main.ts","../src/flows/creditCardFlow/creditCardFlowSlice.ts","../src/flows/creditCardFlow/hooks/useCreditCardFlowState.ts","../src/flows/creditCardFlow/match.ts"],"sourcesContent":["import { loadScriptInnerHtml } from './loadScriptInnerHtml';\n\n/**\n * Loads a script from the specified URL and optionally executes a reCAPTCHA if the `isRecaptcha` flag is set.\n *\n * @param {Object} options - An object containing the following properties:\n * - {string} url: The URL of the script to load.\n * - {string} [key]: The reCAPTCHA key to use for execution. (Optional)\n * - {boolean} [isRecaptcha]: Flag indicating whether to execute a reCAPTCHA. Defaults to false.\n * - {function} [callBack]: A callback function to be called if there is an error loading the script. (Optional)\n * - {string} [id]: The ID to assign to the injected script. Defaults to an empty string.\n * @return {void}\n */\nconst loadScriptSrc = ({\n url,\n key,\n isRecaptcha = false,\n callBack,\n id = ''\n}: {\n url: string;\n key?: string;\n isRecaptcha?: boolean;\n callBack?: () => void;\n id?: string;\n}) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.id = `injected_script_${id}`;\n const headElem = document.getElementsByTagName('head')[0];\n headElem.insertBefore(script, headElem.firstChild);\n\n if (isRecaptcha) {\n script.onload = () => {\n const scriptInner = `\n grecaptcha.ready(function() {\n grecaptcha.execute(\"${key}\", {action: 'submit'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log(\"-------\" + token);\n });\n });\n `;\n loadScriptInnerHtml(scriptInner, true);\n };\n }\n\n script.onerror = () => {\n console.error('Error loading script', url);\n if (callBack) {\n callBack();\n }\n };\n};\n\nexport default loadScriptSrc;\n","import { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\nimport { searchToObject } from '../../utilities/searchToObject';\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 extraParamsQs,\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 extraParamsQs?: string;\n email?: string;\n password?: string;\n}): Promise<IMSISDNSubmissionResult> => {\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 network_type: ip_range_name ? '' : 'wifi',\n ...(search && { search }),\n ...(window.pac_analytics?.visitor?.page?.includes('agency') && { evinaTi: rockmanId }),\n ...(window.securityProcessId && { securityProcessId: window.securityProcessId }),\n ...(window.languageCode && { language_code: window.languageCode }),\n ...(email && password ? { email, password } : { msisdn }),\n ...(extraParamsQs && { extraParams: extraParamsQs })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nconst creditCardPayment = async ({\n window,\n userDetails,\n extraConfig\n}: {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n extraConfig?: { serviceId: string; slug: string };\n}): Promise<IUserDetailsSubmissionResult> => {\n const isMaxPay = 'cc_number' in userDetails;\n const host = window.DEV_BASE_URL_CREDIT_CARD || '';\n const apiBaseURL = `${host}/api/v1`;\n const apiPath = '/frontend/initiate-payment-generic';\n const search = searchToObject(window) as any;\n // Common userDetails properties\n\n const browserFingerprint = {\n timezone: new Date().getTimezoneOffset(),\n browserColorDepth: window.screen.colorDepth,\n browserLanguage: navigator.language,\n browserScreenHeight: window.screen.height,\n browserScreenWidth: window.screen.width,\n userAgent: navigator.userAgent,\n browserJavaEnabled: navigator.javaEnabled ? navigator.javaEnabled() : false,\n browserJavascriptEnabled: true\n };\n\n const slug = extraConfig?.slug || '';\n const country = search?.d_country || '';\n const currency = search?.d_currency || '';\n let currencySlug = '';\n const allowedCurrencies = ['sek', 'nok', 'gbp', 'dkk', 'usd', 'sar', 'cad', 'pln', 'aed'];\n const localCurrencySupportedSlugs = [\n 'cc_celerispay-xracademy50_099-',\n 'cc_celerispay-xracademy50_001-',\n 'cc_maxpay-xracademy50_001-',\n 'cc_ecardon-movio50_001-',\n 'cc_maxpay-movio50_001-',\n 'cc_maxpay-funbox50_001-',\n 'cc_maxpay-entertainu50_099-'\n ];\n const isAllowedCurrency = allowedCurrencies.some((c) => c === currency.toLowerCase());\n const isLocalCurrencySupported = localCurrencySupportedSlugs.some((s) => s === slug.toLowerCase());\n\n if (isLocalCurrencySupported && currency && isAllowedCurrency) {\n currencySlug = `${slug.slice(0, -1)}:${currency.toLowerCase()}-${country.toLowerCase()}`;\n }\n\n const commonDetails = {\n rockman_id: window.pac_analytics.visitor?.rockmanId,\n landing_page_url: window.location.href,\n // Use conditional operation for service_id as it varies\n service_id: isMaxPay ? extraConfig?.serviceId : '2',\n ...(slug ? { slug: currencySlug || `${slug}${country.toLowerCase()}` } : {}),\n ...(isMaxPay ? {} : { user_agent: window.navigator.userAgent, ip: window.pac_analytics.visitor.ip }),\n browserFingerprint,\n ...userDetails\n };\n\n const requestOptions = {\n method: 'POST',\n headers: new Headers({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(commonDetails)\n };\n\n return fetch(`${apiBaseURL}${apiPath}`, requestOptions).then((response) => response.json());\n};\n\nexport { redirect, creditCardPayment };\n","import { IError } from '../../common-types/IError';\nimport { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { creditCardPayment, redirect } from './api';\n\nexport async function submitUserDetails(\n window: Window,\n config: IConfig,\n userDetails: IUserDetails | IUserDetailsEcardon\n): Promise<{\n method: string;\n gateway_url?: string;\n html?: string;\n}> {\n const { slug, country, device, serviceId } = config;\n const search = window.location.search.substr(1) || '';\n const { visitor } = window.pac_analytics;\n\n const { rockmanId } = visitor;\n const extraConfig = { serviceId, slug };\n const result: IUserDetailsSubmissionResult = window?.pac_analytics?.visitor?.page?.includes('agency')\n ? await redirect({\n window,\n slug,\n country,\n device,\n offer: window?.pac_analytics?.visitor?.offer,\n rockmanId,\n email: userDetails?.email,\n password: userDetails?.password,\n search\n })\n : await creditCardPayment({ window, userDetails, extraConfig });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : result.message;\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n error.errorId = result.errorId;\n console.error(error);\n throw error;\n } else {\n return {\n gateway_url: result.gateway_url || result.redirect_url,\n method: result.redirect_url ? 'redirection' : result.method,\n html: result.html\n };\n }\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowState,\n IUserDetails,\n IUserDetailsEcardon,\n SubmitUserDetailsErrorTypes,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess,\n USERDETAILSEntryState\n} from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { submitUserDetails } from './main';\n\nconst mockedUserDetailsEntrySuccess: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n gateway_url: 'https://www.google.com',\n method: 'jslink'\n })\n }\n};\n\nconst mockedUserDetailsEntryFailure: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n errorType: 'AlreadySubscribed',\n error: 'Already Subscribed'\n })\n }\n};\n\nconst defaultInitialState: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\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 'user-details-entry-failure-state':\n return mockedUserDetailsEntryFailure;\n case 'user-details-entry-success-state':\n return mockedUserDetailsEntrySuccess;\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 SubmitUserDetailsArgs {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n}\n/**\n * submitUserDetailsAction\n * @returns {type: ' 'pinFlow/submitUserDetailsAction', payload: {type: PossibleTypes, result: USERDETAILSEntryState}}\n \n * Calls redirect or max api and returns a url\n * \n */\nexport const submitUserDetailsAction = createAsyncThunk<\n USERDETAILSEntryState,\n SubmitUserDetailsArgs,\n {\n rejectValue: SubmitUserDetailsFailure;\n }\n>('creditCardFlow/submitUserDetailsAction', async ({ window, userDetails }, { 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 Credit Card API\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submitted', { email: userDetails?.email });\n const { gateway_url, method, html } = await submitUserDetails(window, config, userDetails);\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submission-success', {\n email: userDetails?.email,\n gateway_url\n });\n // Start Credit Card API\n\n if (method === 'jslink' && gateway_url) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-start', { gateway_url });\n loadScriptSrc({\n id: 'ecardon-credit-card',\n url: gateway_url,\n callBack: () => {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-success', { gateway_url });\n }\n });\n }\n\n if (method === 'redirection' && gateway_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: gateway_url });\n window.location.href = gateway_url;\n }\n\n if (method === 'html' && html) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'get-html-success');\n }\n return {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({ gateway_url, method, html })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: SubmitUserDetailsErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidUserDetails':\n errorType = 'InvalidUserDetails';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-credit-card', 'cc-form-submission-failure', {\n email: userDetails?.email,\n errorType: errorType || ex.type,\n errorId: ex?.errorId || ''\n });\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n errorId: ex?.errorId || ''\n });\n }\n});\n\nconst creditCardFlowSlice = createSlice({\n name: 'creditCardFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitUserDetailsAction.pending, (state) => {\n state.currentState = { type: 'USER_DETAILS_ENTRY', result: RDS.Loading() };\n })\n .addCase(submitUserDetailsAction.fulfilled, (state, action: PayloadAction<USERDETAILSEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitUserDetailsAction.rejected, (state, action: PayloadAction<SubmitUserDetailsFailure>) => {\n state.currentState = {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: creditCardFlowReducer, actions: creditCardFlowActions } = creditCardFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectCreditCardFlowState = (state: any) => state.creditCardFlow;\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useCreditCardFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.creditCardFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowCurrentState,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess\n} from '../../sharedFlowTypes/CreditCardTypes';\n\nfunction creditCardFlowMatch<R>({\n userDetailsEntry\n}: {\n userDetailsEntry: (rds: RDS.RemoteDataState<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>) => R;\n}): (state: CreditCardFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'USER_DETAILS_ENTRY':\n return userDetailsEntry(state.result);\n default:\n // TODO - this should be an error or something\n return userDetailsEntry(state.result);\n }\n };\n}\n\nexport { creditCardFlowMatch };\n"],"names":["redirect","_a","window","slug","country","msisdn","device","offer","rockmanId","ip_range_name","search","extraParamsQs","email","password","params","URLSearchParams","__assign","action","offerId","toString","rockman_id","page","encodeURIComponent","location","href","network_type","_d","_c","_b","pac_analytics","visitor","includes","evinaTi","securityProcessId","languageCode","language_code","extraParams","host","DEV_BASE_URL","url","concat","fetch","then","x","json","creditCardPayment","userDetails","extraConfig","isMaxPay","DEV_BASE_URL_CREDIT_CARD","apiBaseURL","searchToObject","browserFingerprint","timezone","Date","getTimezoneOffset","browserColorDepth","screen","colorDepth","browserLanguage","navigator","language","browserScreenHeight","height","browserScreenWidth","width","userAgent","browserJavaEnabled","javaEnabled","browserJavascriptEnabled","d_country","currency","d_currency","currencySlug","localCurrencySupportedSlugs","isAllowedCurrency","some","c","toLowerCase","s","slice","commonDetails","landing_page_url","service_id","serviceId","user_agent","ip","requestOptions","method","headers","Headers","body","JSON","stringify","response","submitUserDetails","config","substr","_e","_f","_g","result","success","type","message","error","Error","errorId","console","gateway_url","redirect_url","html","mockedUserDetailsEntrySuccess","currentState","RDS.Success","mockedUserDetailsEntryFailure","RDS.Failure","errorType","defaultInitialState","RDS.NothingYet","initialState","setInitialState","submitUserDetailsAction","createAsyncThunk","getState","rejectWithValue","state","strategy","data","tracker","advancedInFlow","sent","gateway_url_1","key","isRecaptcha","callBack","id","script","document","createElement","src","headElem","getElementsByTagName","insertBefore","firstChild","onload","scriptInner","loadScriptInnerHtml","onerror","loadScriptSrc","customEvent","warn","ex_1","recedeInFlow","creditCardFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","creditCardFlowReducer","reducer","actions","useCreditCardFlowState","useSelector","creditCardFlow","creditCardFlowMatch","userDetailsEntry"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ouisys-engine",
3
- "version": "5.0.140",
3
+ "version": "5.0.141",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "directories": "dist dev-tools",