ouisys-engine 5.1.15 → 5.1.17

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.
Files changed (303) hide show
  1. package/dist/RemoteDataState-CwHLI23e.js +75 -0
  2. package/dist/RemoteDataState-CwHLI23e.js.map +1 -0
  3. package/dist/api-oPdBWsMC.js +65 -0
  4. package/dist/api-oPdBWsMC.js.map +1 -0
  5. package/dist/checkSubscriptionHander.js +140 -1
  6. package/dist/checkSubscriptionHander.js.map +1 -1
  7. package/dist/cleanSearchParams-B2jK3H1j.js +16 -0
  8. package/dist/cleanSearchParams-B2jK3H1j.js.map +1 -0
  9. package/dist/click2smsFlow.js +252 -1
  10. package/dist/click2smsFlow.js.map +1 -1
  11. package/dist/creditCardFlow.js +331 -1
  12. package/dist/creditCardFlow.js.map +1 -1
  13. package/dist/formatNumberToE164-oPCiETQk.js +476 -0
  14. package/dist/formatNumberToE164-oPCiETQk.js.map +1 -0
  15. package/dist/getConfig.js +13 -1
  16. package/dist/getConfig.js.map +1 -1
  17. package/dist/handleSubmitNumber.js +50 -1
  18. package/dist/handleSubmitNumber.js.map +1 -1
  19. package/dist/handleWaterfallRedirect-h5K2zX3N.js +21 -0
  20. package/dist/handleWaterfallRedirect-h5K2zX3N.js.map +1 -0
  21. package/dist/helpers-BIBpnXln.js +29 -0
  22. package/dist/helpers-BIBpnXln.js.map +1 -0
  23. package/dist/initTPay.js +98 -1
  24. package/dist/initTPay.js.map +1 -1
  25. package/dist/loadScriptInnerHtml-CstJVRED.js +30 -0
  26. package/dist/loadScriptInnerHtml-CstJVRED.js.map +1 -0
  27. package/dist/main-8gjJCdrT.js +448 -0
  28. package/dist/main-8gjJCdrT.js.map +1 -0
  29. package/dist/moFlow.js +322 -1
  30. package/dist/moFlow.js.map +1 -1
  31. package/dist/moRedirFlow.js +329 -1
  32. package/dist/moRedirFlow.js.map +1 -1
  33. package/dist/normaliseErrorCode-CBLYxW-a.js +44 -0
  34. package/dist/normaliseErrorCode-CBLYxW-a.js.map +1 -0
  35. package/dist/oneClickFlow.js +710 -1
  36. package/dist/oneClickFlow.js.map +1 -1
  37. package/dist/pinFlow.js +542 -1
  38. package/dist/pinFlow.js.map +1 -1
  39. package/dist/searchToObject.js +9 -1
  40. package/dist/searchToObject.js.map +1 -1
  41. package/dist/src/common-types/Either.d.ts +9 -0
  42. package/dist/src/common-types/Either.d.ts.map +1 -0
  43. package/dist/src/common-types/ICheckSubscriptionResult.d.ts +12 -0
  44. package/dist/src/common-types/ICheckSubscriptionResult.d.ts.map +1 -0
  45. package/dist/src/common-types/IError.d.ts +5 -0
  46. package/dist/src/common-types/IError.d.ts.map +1 -0
  47. package/dist/src/common-types/IHash.d.ts +4 -0
  48. package/dist/src/common-types/IHash.d.ts.map +1 -0
  49. package/dist/src/common-types/IOptInFlowName.d.ts +2 -0
  50. package/dist/src/common-types/IOptInFlowName.d.ts.map +1 -0
  51. package/dist/src/common-types/ITracker.d.ts +10 -0
  52. package/dist/src/common-types/ITracker.d.ts.map +1 -0
  53. package/dist/src/common-types/IVisitor.d.ts +51 -0
  54. package/dist/src/common-types/IVisitor.d.ts.map +1 -0
  55. package/dist/src/common-types/RemoteDataState.d.ts +39 -0
  56. package/dist/src/common-types/RemoteDataState.d.ts.map +1 -0
  57. package/dist/src/common-types/Strategy.d.ts +49 -0
  58. package/dist/src/common-types/Strategy.d.ts.map +1 -0
  59. package/dist/src/flows/click2smsFlow/api.d.ts +13 -0
  60. package/dist/src/flows/click2smsFlow/api.d.ts.map +1 -0
  61. package/dist/src/flows/click2smsFlow/click2smsFlowSlice.d.ts +18 -0
  62. package/dist/src/flows/click2smsFlow/click2smsFlowSlice.d.ts.map +1 -0
  63. package/dist/src/flows/click2smsFlow/hooks/useClick2smsFlowState.d.ts +3 -0
  64. package/dist/src/flows/click2smsFlow/hooks/useClick2smsFlowState.d.ts.map +1 -0
  65. package/dist/src/flows/click2smsFlow/hooks/useKeyWordShortCode.d.ts +4 -0
  66. package/dist/src/flows/click2smsFlow/hooks/useKeyWordShortCode.d.ts.map +1 -0
  67. package/dist/src/flows/click2smsFlow/index.d.ts +6 -0
  68. package/dist/src/flows/click2smsFlow/index.d.ts.map +1 -0
  69. package/dist/src/flows/click2smsFlow/main.d.ts +4 -0
  70. package/dist/src/flows/click2smsFlow/main.d.ts.map +1 -0
  71. package/dist/src/flows/click2smsFlow/match.d.ts +7 -0
  72. package/dist/src/flows/click2smsFlow/match.d.ts.map +1 -0
  73. package/dist/src/flows/creditCardFlow/api.d.ts +26 -0
  74. package/dist/src/flows/creditCardFlow/api.d.ts.map +1 -0
  75. package/dist/src/flows/creditCardFlow/creditCardFlowSlice.d.ts +26 -0
  76. package/dist/src/flows/creditCardFlow/creditCardFlowSlice.d.ts.map +1 -0
  77. package/dist/src/flows/creditCardFlow/hooks/useCreditCardFlowState.d.ts +3 -0
  78. package/dist/src/flows/creditCardFlow/hooks/useCreditCardFlowState.d.ts.map +1 -0
  79. package/dist/src/flows/creditCardFlow/index.d.ts +5 -0
  80. package/dist/src/flows/creditCardFlow/index.d.ts.map +1 -0
  81. package/dist/src/flows/creditCardFlow/main.d.ts +8 -0
  82. package/dist/src/flows/creditCardFlow/main.d.ts.map +1 -0
  83. package/dist/src/flows/creditCardFlow/match.d.ts +7 -0
  84. package/dist/src/flows/creditCardFlow/match.d.ts.map +1 -0
  85. package/dist/src/flows/moFlow/api.d.ts +15 -0
  86. package/dist/src/flows/moFlow/api.d.ts.map +1 -0
  87. package/dist/src/flows/moFlow/hooks/useMoFlowState.d.ts +3 -0
  88. package/dist/src/flows/moFlow/hooks/useMoFlowState.d.ts.map +1 -0
  89. package/dist/src/flows/moFlow/index.d.ts +5 -0
  90. package/dist/src/flows/moFlow/index.d.ts.map +1 -0
  91. package/dist/src/flows/moFlow/main.d.ts +13 -0
  92. package/dist/src/flows/moFlow/main.d.ts.map +1 -0
  93. package/dist/src/flows/moFlow/match.d.ts +7 -0
  94. package/dist/src/flows/moFlow/match.d.ts.map +1 -0
  95. package/dist/src/flows/moFlow/moFlowSlice.d.ts +47 -0
  96. package/dist/src/flows/moFlow/moFlowSlice.d.ts.map +1 -0
  97. package/dist/src/flows/moRedirFlow/api.d.ts +18 -0
  98. package/dist/src/flows/moRedirFlow/api.d.ts.map +1 -0
  99. package/dist/src/flows/moRedirFlow/hooks/useMoRedirFlowState.d.ts +3 -0
  100. package/dist/src/flows/moRedirFlow/hooks/useMoRedirFlowState.d.ts.map +1 -0
  101. package/dist/src/flows/moRedirFlow/index.d.ts +5 -0
  102. package/dist/src/flows/moRedirFlow/index.d.ts.map +1 -0
  103. package/dist/src/flows/moRedirFlow/main.d.ts +8 -0
  104. package/dist/src/flows/moRedirFlow/main.d.ts.map +1 -0
  105. package/dist/src/flows/moRedirFlow/match.d.ts +7 -0
  106. package/dist/src/flows/moRedirFlow/match.d.ts.map +1 -0
  107. package/dist/src/flows/moRedirFlow/moRedirFlowSlice.d.ts +38 -0
  108. package/dist/src/flows/moRedirFlow/moRedirFlowSlice.d.ts.map +1 -0
  109. package/dist/src/flows/oneClickFlow/api.d.ts +22 -0
  110. package/dist/src/flows/oneClickFlow/api.d.ts.map +1 -0
  111. package/dist/src/flows/oneClickFlow/hooks/useOneClickFlowState.d.ts +3 -0
  112. package/dist/src/flows/oneClickFlow/hooks/useOneClickFlowState.d.ts.map +1 -0
  113. package/dist/src/flows/oneClickFlow/index.d.ts +5 -0
  114. package/dist/src/flows/oneClickFlow/index.d.ts.map +1 -0
  115. package/dist/src/flows/oneClickFlow/main.d.ts +15 -0
  116. package/dist/src/flows/oneClickFlow/main.d.ts.map +1 -0
  117. package/dist/src/flows/oneClickFlow/match.d.ts +8 -0
  118. package/dist/src/flows/oneClickFlow/match.d.ts.map +1 -0
  119. package/dist/src/flows/oneClickFlow/oneClickFlowSlice.d.ts +45 -0
  120. package/dist/src/flows/oneClickFlow/oneClickFlowSlice.d.ts.map +1 -0
  121. package/dist/src/flows/pinFlow/IPinConstants.d.ts +3 -0
  122. package/dist/src/flows/pinFlow/IPinConstants.d.ts.map +1 -0
  123. package/dist/src/flows/pinFlow/api.d.ts +39 -0
  124. package/dist/src/flows/pinFlow/api.d.ts.map +1 -0
  125. package/dist/src/flows/pinFlow/hooks/usePinFlowState.d.ts +3 -0
  126. package/dist/src/flows/pinFlow/hooks/usePinFlowState.d.ts.map +1 -0
  127. package/dist/src/flows/pinFlow/index.d.ts +5 -0
  128. package/dist/src/flows/pinFlow/index.d.ts.map +1 -0
  129. package/dist/src/flows/pinFlow/main.d.ts +10 -0
  130. package/dist/src/flows/pinFlow/main.d.ts.map +1 -0
  131. package/dist/src/flows/pinFlow/match.d.ts +8 -0
  132. package/dist/src/flows/pinFlow/match.d.ts.map +1 -0
  133. package/dist/src/flows/pinFlow/pinFlowSlice.d.ts +60 -0
  134. package/dist/src/flows/pinFlow/pinFlowSlice.d.ts.map +1 -0
  135. package/dist/src/flows/strategy/api.d.ts +40 -0
  136. package/dist/src/flows/strategy/api.d.ts.map +1 -0
  137. package/dist/src/flows/strategy/hooks/useStrategyState.d.ts +3 -0
  138. package/dist/src/flows/strategy/hooks/useStrategyState.d.ts.map +1 -0
  139. package/dist/src/flows/strategy/index.d.ts +8 -0
  140. package/dist/src/flows/strategy/index.d.ts.map +1 -0
  141. package/dist/src/flows/strategy/main.d.ts +29 -0
  142. package/dist/src/flows/strategy/main.d.ts.map +1 -0
  143. package/dist/src/flows/strategy/match.d.ts +16 -0
  144. package/dist/src/flows/strategy/match.d.ts.map +1 -0
  145. package/dist/src/flows/strategy/mocks/index.d.ts +7 -0
  146. package/dist/src/flows/strategy/mocks/index.d.ts.map +1 -0
  147. package/dist/src/flows/strategy/strategies/askMobileNumber.d.ts +25 -0
  148. package/dist/src/flows/strategy/strategies/askMobileNumber.d.ts.map +1 -0
  149. package/dist/src/flows/strategy/strategies/askOperator.d.ts +14 -0
  150. package/dist/src/flows/strategy/strategies/askOperator.d.ts.map +1 -0
  151. package/dist/src/flows/strategy/strategies/callRedirectApi.d.ts +28 -0
  152. package/dist/src/flows/strategy/strategies/callRedirectApi.d.ts.map +1 -0
  153. package/dist/src/flows/strategy/strategies/detectOperatorByIp.d.ts +15 -0
  154. package/dist/src/flows/strategy/strategies/detectOperatorByIp.d.ts.map +1 -0
  155. package/dist/src/flows/strategy/strategies/headerEnrichment.d.ts +52 -0
  156. package/dist/src/flows/strategy/strategies/headerEnrichment.d.ts.map +1 -0
  157. package/dist/src/flows/strategy/strategies/injectHeaderEnrichmentScript.d.ts +11 -0
  158. package/dist/src/flows/strategy/strategies/injectHeaderEnrichmentScript.d.ts.map +1 -0
  159. package/dist/src/flows/strategy/strategySlice.d.ts +26 -0
  160. package/dist/src/flows/strategy/strategySlice.d.ts.map +1 -0
  161. package/dist/src/flows/ussdFlow/api.d.ts +4 -0
  162. package/dist/src/flows/ussdFlow/api.d.ts.map +1 -0
  163. package/dist/src/flows/ussdFlow/hooks/useUssdFlowState.d.ts +3 -0
  164. package/dist/src/flows/ussdFlow/hooks/useUssdFlowState.d.ts.map +1 -0
  165. package/dist/src/flows/ussdFlow/index.d.ts +5 -0
  166. package/dist/src/flows/ussdFlow/index.d.ts.map +1 -0
  167. package/dist/src/flows/ussdFlow/main.d.ts +10 -0
  168. package/dist/src/flows/ussdFlow/main.d.ts.map +1 -0
  169. package/dist/src/flows/ussdFlow/match.d.ts +7 -0
  170. package/dist/src/flows/ussdFlow/match.d.ts.map +1 -0
  171. package/dist/src/flows/ussdFlow/ussdFlowSlice.d.ts +38 -0
  172. package/dist/src/flows/ussdFlow/ussdFlowSlice.d.ts.map +1 -0
  173. package/dist/src/index.d.ts +2 -0
  174. package/dist/src/index.d.ts.map +1 -0
  175. package/dist/src/ips/tryGetIPRangeName.d.ts +3 -0
  176. package/dist/src/ips/tryGetIPRangeName.d.ts.map +1 -0
  177. package/dist/src/pacman/index.d.ts +7 -0
  178. package/dist/src/pacman/index.d.ts.map +1 -0
  179. package/dist/src/pacman/queryString.d.ts +4 -0
  180. package/dist/src/pacman/queryString.d.ts.map +1 -0
  181. package/dist/src/sharedApi/checkSubscription.d.ts +13 -0
  182. package/dist/src/sharedApi/checkSubscription.d.ts.map +1 -0
  183. package/dist/src/sharedApi/checkSubscriptionByRockmanIdOnly.d.ts +7 -0
  184. package/dist/src/sharedApi/checkSubscriptionByRockmanIdOnly.d.ts.map +1 -0
  185. package/dist/src/sharedApi/unblockUser.d.ts +13 -0
  186. package/dist/src/sharedApi/unblockUser.d.ts.map +1 -0
  187. package/dist/src/sharedFlowTypes/Click2smsTypes.d.ts +79 -0
  188. package/dist/src/sharedFlowTypes/Click2smsTypes.d.ts.map +1 -0
  189. package/dist/src/sharedFlowTypes/CreditCardTypes.d.ts +74 -0
  190. package/dist/src/sharedFlowTypes/CreditCardTypes.d.ts.map +1 -0
  191. package/dist/src/sharedFlowTypes/MoRedirTypes.d.ts +29 -0
  192. package/dist/src/sharedFlowTypes/MoRedirTypes.d.ts.map +1 -0
  193. package/dist/src/sharedFlowTypes/MoTypes.d.ts +45 -0
  194. package/dist/src/sharedFlowTypes/MoTypes.d.ts.map +1 -0
  195. package/dist/src/sharedFlowTypes/OneClickTypes.d.ts +78 -0
  196. package/dist/src/sharedFlowTypes/OneClickTypes.d.ts.map +1 -0
  197. package/dist/src/sharedFlowTypes/PinTypes.d.ts +135 -0
  198. package/dist/src/sharedFlowTypes/PinTypes.d.ts.map +1 -0
  199. package/dist/src/sharedFlowTypes/StrategyTypes.d.ts +285 -0
  200. package/dist/src/sharedFlowTypes/StrategyTypes.d.ts.map +1 -0
  201. package/dist/src/sharedFlowTypes/UssdTypes.d.ts +32 -0
  202. package/dist/src/sharedFlowTypes/UssdTypes.d.ts.map +1 -0
  203. package/dist/src/utilities/addEmpelloToken.d.ts +5 -0
  204. package/dist/src/utilities/addEmpelloToken.d.ts.map +1 -0
  205. package/dist/src/utilities/addUrlParamAndReload.d.ts +4 -0
  206. package/dist/src/utilities/addUrlParamAndReload.d.ts.map +1 -0
  207. package/dist/src/utilities/bupperizeCountry.d.ts +3 -0
  208. package/dist/src/utilities/bupperizeCountry.d.ts.map +1 -0
  209. package/dist/src/utilities/checkSubscriptionHander.d.ts +10 -0
  210. package/dist/src/utilities/checkSubscriptionHander.d.ts.map +1 -0
  211. package/dist/src/utilities/cleanSearchParams.d.ts +2 -0
  212. package/dist/src/utilities/cleanSearchParams.d.ts.map +1 -0
  213. package/dist/src/utilities/countryToPhoneCode.d.ts +2 -0
  214. package/dist/src/utilities/countryToPhoneCode.d.ts.map +1 -0
  215. package/dist/src/utilities/formatNumberToE164.d.ts +9 -0
  216. package/dist/src/utilities/formatNumberToE164.d.ts.map +1 -0
  217. package/dist/src/utilities/getConfig.d.ts +4 -0
  218. package/dist/src/utilities/getConfig.d.ts.map +1 -0
  219. package/dist/src/utilities/handleSubmitNumber.d.ts +24 -0
  220. package/dist/src/utilities/handleSubmitNumber.d.ts.map +1 -0
  221. package/dist/src/utilities/handleWaterfallRedirect.d.ts +2 -0
  222. package/dist/src/utilities/handleWaterfallRedirect.d.ts.map +1 -0
  223. package/dist/src/utilities/hasNumber.d.ts +2 -0
  224. package/dist/src/utilities/hasNumber.d.ts.map +1 -0
  225. package/dist/src/utilities/helpers.d.ts +6 -0
  226. package/dist/src/utilities/helpers.d.ts.map +1 -0
  227. package/dist/src/utilities/initTpay.d.ts +2 -0
  228. package/dist/src/utilities/initTpay.d.ts.map +1 -0
  229. package/dist/src/utilities/isCookieExists.d.ts +2 -0
  230. package/dist/src/utilities/isCookieExists.d.ts.map +1 -0
  231. package/dist/src/utilities/loadScriptInnerHtml.d.ts +3 -0
  232. package/dist/src/utilities/loadScriptInnerHtml.d.ts.map +1 -0
  233. package/dist/src/utilities/loadScriptSrc.d.ts +20 -0
  234. package/dist/src/utilities/loadScriptSrc.d.ts.map +1 -0
  235. package/dist/src/utilities/normaliseErrorCode.d.ts +8 -0
  236. package/dist/src/utilities/normaliseErrorCode.d.ts.map +1 -0
  237. package/dist/src/utilities/normalizePhoneNumber.d.ts +12 -0
  238. package/dist/src/utilities/normalizePhoneNumber.d.ts.map +1 -0
  239. package/dist/src/utilities/replaceUrlParam.d.ts +2 -0
  240. package/dist/src/utilities/replaceUrlParam.d.ts.map +1 -0
  241. package/dist/src/utilities/searchToObject.d.ts +3 -0
  242. package/dist/src/utilities/searchToObject.d.ts.map +1 -0
  243. package/dist/src/utilities/storeMsisdn.d.ts +4 -0
  244. package/dist/src/utilities/storeMsisdn.d.ts.map +1 -0
  245. package/dist/src/utilities/tracker.d.ts +2 -0
  246. package/dist/src/utilities/tracker.d.ts.map +1 -0
  247. package/dist/src/utilities/unblockUser.d.ts +7 -0
  248. package/dist/src/utilities/unblockUser.d.ts.map +1 -0
  249. package/dist/src/utilities/updateUrlWithParams.d.ts +2 -0
  250. package/dist/src/utilities/updateUrlWithParams.d.ts.map +1 -0
  251. package/dist/src/utilities/verifyAntifraudOnClick2Sms.d.ts +6 -0
  252. package/dist/src/utilities/verifyAntifraudOnClick2Sms.d.ts.map +1 -0
  253. package/dist/storeMsisdn-ChiBh8mI.js +58 -0
  254. package/dist/storeMsisdn-ChiBh8mI.js.map +1 -0
  255. package/dist/strategy.js +49 -1
  256. package/dist/strategy.js.map +1 -1
  257. package/dist/strategySlice-DEsw1xc-.js +1159 -0
  258. package/dist/strategySlice-DEsw1xc-.js.map +1 -0
  259. package/dist/tracker-B_zsMRN2.js +79 -0
  260. package/dist/tracker-B_zsMRN2.js.map +1 -0
  261. package/dist/tracker.js +4 -1
  262. package/dist/tracker.js.map +1 -1
  263. package/dist/types/{StrategyTypes-BlqY9peI.d.ts → StrategyTypes-LKeXDiPK.d.ts} +78 -2
  264. package/dist/types/click2smsFlow.d.ts +2 -2
  265. package/dist/types/oneClickFlow.d.ts +10 -2
  266. package/dist/types/searchToObject.d.ts +2 -2
  267. package/dist/types/strategy.d.ts +3 -3
  268. package/dist/unblockUser.js +107 -1
  269. package/dist/unblockUser.js.map +1 -1
  270. package/dist/updateUrlWithParams-ZaZt1BCf.js +15 -0
  271. package/dist/updateUrlWithParams-ZaZt1BCf.js.map +1 -0
  272. package/dist/ussdFlow.js +261 -1
  273. package/dist/ussdFlow.js.map +1 -1
  274. package/dist/verifyAntifraudOnClick2Sms.js +50 -1
  275. package/dist/verifyAntifraudOnClick2Sms.js.map +1 -1
  276. package/package.json +1 -1
  277. package/dist/RemoteDataState-lcf8PfJd.js +0 -2
  278. package/dist/RemoteDataState-lcf8PfJd.js.map +0 -1
  279. package/dist/api-geirVksI.js +0 -2
  280. package/dist/api-geirVksI.js.map +0 -1
  281. package/dist/cleanSearchParams-Dl7ZDlew.js +0 -2
  282. package/dist/cleanSearchParams-Dl7ZDlew.js.map +0 -1
  283. package/dist/formatNumberToE164-DaAFvpKD.js +0 -2
  284. package/dist/formatNumberToE164-DaAFvpKD.js.map +0 -1
  285. package/dist/handleWaterfallRedirect-DztqrthA.js +0 -2
  286. package/dist/handleWaterfallRedirect-DztqrthA.js.map +0 -1
  287. package/dist/helpers-CBmogWIZ.js +0 -2
  288. package/dist/helpers-CBmogWIZ.js.map +0 -1
  289. package/dist/loadScriptInnerHtml-B6v2-IGn.js +0 -2
  290. package/dist/loadScriptInnerHtml-B6v2-IGn.js.map +0 -1
  291. package/dist/main-CDmeQMF-.js +0 -2
  292. package/dist/main-CDmeQMF-.js.map +0 -1
  293. package/dist/normaliseErrorCode-CVpyJZ6_.js +0 -2
  294. package/dist/normaliseErrorCode-CVpyJZ6_.js.map +0 -1
  295. package/dist/storeMsisdn-Cjq8_qYH.js +0 -2
  296. package/dist/storeMsisdn-Cjq8_qYH.js.map +0 -1
  297. package/dist/strategySlice-BMNt18ck.js +0 -2
  298. package/dist/strategySlice-BMNt18ck.js.map +0 -1
  299. package/dist/tracker-DaaILhEr.js +0 -2
  300. package/dist/tracker-DaaILhEr.js.map +0 -1
  301. package/dist/types/OneClickTypes-BNg9Ru0u.d.ts +0 -71
  302. package/dist/updateUrlWithParams-C6-BX4TY.js +0 -2
  303. package/dist/updateUrlWithParams-C6-BX4TY.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"oneClickFlow.js","sources":["../src/flows/oneClickFlow/hooks/useOneClickFlowState.ts","../src/flows/oneClickFlow/match.ts","../src/utilities/addEmpelloToken.ts","../src/utilities/replaceUrlParam.ts","../src/flows/oneClickFlow/api.ts","../src/flows/oneClickFlow/main.ts","../src/flows/oneClickFlow/oneClickFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useOneClickFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.oneClickFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IGETREDIRECTURLFailure,\n IGETREDIRECTURLSuccess,\n OneClickFlowCurrentState,\n SubscribeFailure,\n SubscribeSuccess\n} from '../../sharedFlowTypes/OneClickTypes';\n\nfunction oneClickFlowMatch<R>({\n getRedirectUrl,\n subscribe\n}: {\n getRedirectUrl: (rds: RDS.RemoteDataState<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>) => R;\n subscribe?: (rds: RDS.RemoteDataState<SubscribeFailure, SubscribeSuccess>) => R;\n}): (state: OneClickFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'GET_REDIRECT_URL':\n return getRedirectUrl(state.result);\n case 'SUBCRIBE_AJAX':\n return subscribe(state.result);\n default:\n // TODO - this should be an error or something\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return getRedirectUrl(state.result);\n }\n };\n}\n\nexport { oneClickFlowMatch };\n","import { updateUrlParameter } from '../pacman/queryString';\n\nexport async function addEmpelloToken({\n currentRedirectUrl,\n country\n}: {\n currentRedirectUrl: string;\n country: string;\n}) {\n if (country.toLowerCase() === 'pe') {\n // Empello script is added on server\n\n await new Promise<void>((resolve) => {\n // check if empello script is loaded and available\n const checkEmpelloAvailability = setInterval(() => {\n if (window.Empello) {\n clearInterval((checkEmpelloAvailability as unknown) as number);\n resolve();\n }\n }, 100);\n });\n if (typeof window !== 'undefined' && window.Empello) {\n // call getToken function from empello\n const token = await new Promise<string>((resolve) => {\n window.Empello?.getToken((empelloToken: string) => {\n resolve(empelloToken);\n });\n });\n\n const url = updateUrlParameter(currentRedirectUrl, 'empello_token', token);\n return url;\n }\n }\n\n return currentRedirectUrl;\n}\n","export const replaceUrlParam = (url: string, paramName: string, paramValue = '') => {\n const pattern = new RegExp(`\\\\b(${paramName}=).*?(&|#|$)`);\n if (url.search(pattern) >= 0) {\n return url.replace(pattern, `$1${paramValue}$2`);\n }\n const newUrl = url.replace(/[?#]$/, '');\n return `${newUrl + paramName}=${paramValue}&`;\n};\n","import { IHash } from '../../common-types/IHash';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const getRedirectAPI = () => {};\n\nconst getUrlWithParams = (baseURL: string, params: IHash) => {\n const queryParams = new URLSearchParams(params).toString();\n return `${baseURL}&${queryParams}`;\n};\n\nexport const oneClickSubscribeByUrlFromParams = async ({\n window,\n extraParams,\n search,\n url\n}: {\n window: Window;\n extraParams?: IHash;\n search: string;\n url: string;\n}) => {\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const evinaTid = window?.tid || '';\n const isCleanTraffic = window?.shouldBlock ? 'false' : 'true';\n\n const extraParamsQs = Object.entries(extraParams || {})\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n try {\n const resultUrl = getUrlWithParams(url, {\n sam_evina_tid: evinaTid,\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n 'is-clean-traffic': isCleanTraffic,\n ...Object.fromEntries(new URLSearchParams(extraParamsQs))\n });\n\n const response = await fetch(`${resultUrl}${search ? `&${search}` : ''}`);\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Error fetching subscription:', error);\n throw error; // Rethrow or handle error as needed\n }\n};\n\nexport const oneClickSubscribe = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams,\n search,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n operator: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n evinaTid?: string;\n}): Promise<any> => {\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'one-click-subscribe',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n operator,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n return fetch(url).then((x) => x.json());\n};\n","import { IError } from '../../common-types/IError';\nimport { IHash } from '../../common-types/IHash';\nimport { IIDentifyUserResult, ILinkExtraParams, ISubscribeResult } from '../../sharedFlowTypes/OneClickTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { replaceUrlParam } from '../../utilities/replaceUrlParam';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { oneClickSubscribe, oneClickSubscribeByUrlFromParams } from './api';\n\nexport const additionalQueryString = `msisdnSubmitted=Y&legalCheckbox=Y&incentivizedCheckbox=Y&op_confirmCheckbox=N`;\n\nconst fetchJsonp: <T>(_url: string) => Promise<T> = (_url: string) => {\n let url = _url;\n const ouisys_callback_function = `ouisys_callback_function${Math.floor(Math.random() * 10000)}`;\n return new Promise((resolve, reject) => {\n // @ts-ignore\n window[ouisys_callback_function] = (arg) => {\n resolve(arg);\n };\n\n url += url.indexOf('?') === -1 ? '?' : '&';\n url += `jsonp=${ouisys_callback_function}`;\n const script = document.createElement('script');\n script.src = url;\n script.id = ouisys_callback_function;\n document.body.appendChild(script);\n\n // Caught if got 404/500\n script.onerror = () => {\n reject(new Error(`JSONP request to ${_url} failed`));\n };\n });\n};\n\nexport const getRedirectUrl = async ({\n window,\n maybeConfig,\n extraParams\n}: {\n window: Window;\n maybeConfig: IConfig;\n extraParams?: ILinkExtraParams;\n}): Promise<{\n subscription_url?: string;\n redirect_url?: string;\n action?: () => Promise<string>;\n}> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-throw-literal, no-script-url\n throw \"javascript: console.error('SSR'); void 6\";\n } else {\n const { country, slug, queryString, apiAction } = maybeConfig;\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n let search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n Object.keys(extraParams).forEach((element, index) => {\n // Check if search already has query parameters\n if (search.length > 0) {\n // If there are existing parameters, add '&' before appending the new one\n search += '&';\n }\n search = `${replaceUrlParam(search, element, extraParams[element])}${index === 1 ? '&' : ''}`;\n });\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (apiAction === 'identify-user') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=identify-user&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetchJsonp<IIDentifyUserResult>(url);\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return {\n subscription_url: result.subscription_url || result.redirect_url,\n action: () => subscribe(result.subscription_url, maybeConfig)\n };\n }\n } else if (apiAction === 'he') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=he&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetch(url).then((x) => x.json());\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n loadScriptInnerHtml(result.source);\n return { redirect_url: result.redirectUrlWithReplacedUniqid };\n }\n } else {\n if (country.toLowerCase() === 'om') {\n const searchObj = searchToObject(window) as {\n redirect_url: string;\n url: string;\n msisdn: string;\n success: 'true' | 'false';\n };\n if (searchObj.success === 'false') {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: searchObj.redirect_url || searchObj.url };\n }\n }\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = new URLSearchParams({\n action: 'redirect',\n device: 'smart',\n slug,\n offerId: offer,\n country: bupperizeCountry(country),\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n ...(window?.location?.href && { page: encodeURIComponent(window?.location?.href) }),\n ...(window?.pac_analytics?.visitor?.ip && { ip_address: window?.pac_analytics?.visitor?.ip }),\n ...(window?.pac_analytics?.visitor?.ipRangeOperator && {\n ip_range_operator: window?.pac_analytics?.visitor?.ipRangeOperator\n })\n });\n\n const url = `${host}/tallyman/v1/?${params.toString()}${search ? `&${search}` : ''}`;\n const result = await fetch(url).then((x) => x.json());\n\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: result.redirect_url };\n }\n }\n }\n};\n\nexport const subscribe: (url: string, maybeConfig: IConfig, extraParams?: IHash) => Promise<string> = async (\n url: string,\n maybeConfig: IConfig,\n extraParams?: IHash\n) => {\n let result: ISubscribeResult = null;\n\n if (url && url !== '') {\n const { queryString } = maybeConfig;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n await oneClickSubscribeByUrlFromParams({\n window,\n extraParams,\n search,\n url\n });\n } else {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n const newExtraParams = extraParams || {};\n const isSkipValidation = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.validateMsisdn === false;\n // @ts-ignore\n if (isSkipValidation) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n const msisdn = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.msisdn;\n const operator = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.operator;\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n result = await oneClickSubscribe({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams: newExtraParams,\n search,\n evinaTid\n });\n }\n\n if (result.success === false) {\n const subscribeError = new Error(`Error in subscribe() one-click-subscribe action:\\n${result.message}`) as {\n productUrl: string;\n } & IError;\n subscribeError.type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'SubscriptionError';\n subscribeError.productUrl = result.product_url ? result.product_url : '';\n subscribeError.message = result.message;\n throw subscribeError;\n } else {\n return result.product_url || result.redirect_url;\n }\n};\n\nexport const getRedirectUrlBupperWay = async (\n window: Window,\n maybeConfig: IConfig,\n extraParams?: ILinkExtraParams\n): Promise<string> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-script-url\n return \"javascript: console.error('SSR'); void 6\";\n }\n const { country, slug, queryString } = maybeConfig;\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n\n // one click flow must use http not https\n const xcid = window.location.href.split('/')[3].split('?')[0];\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const baseHostBupper = window?.pac_analytics?.visitor?.bupperRedirectHost\n ? window.atob(window?.pac_analytics?.visitor?.bupperRedirectHost)\n : null;\n const host = baseHostBupper || (window as Window).DEV_BASE_URL_BUPPER || '';\n\n return `${host}/${bupperizeCountry(country)}/${slug}?offer=${offer}&atmobirun=1&rockman_id=${\n window.pac_analytics.visitor.rockmanId\n }&redirPixels=${window.location.host}&sam_evina_tid=${evinaTid}&x-xcid=${xcid}${extraParamsQs}&${search}`;\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n AJAXSUBSCRIBEState,\n GETREDIRECTUrlState,\n IGETREDIRECTURLFailure,\n OneClickFlowState,\n SubscribeFailure\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { addEmpelloToken } from '../../utilities/addEmpelloToken';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { flowMapping } from '../strategy/main';\nimport { setStrategyExtraData } from '../strategy/strategySlice';\nimport { getRedirectUrl, getRedirectUrlBupperWay, subscribe } from './main';\n\nexport const mockedRedirectUrlSuccessState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n // @ts-ignore\n result: RDS.Success<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>({ redirectUrl: '/product' })\n }\n};\n\nexport const mockedSubscribeAjaxState: OneClickFlowState = {\n currentState: {\n type: 'SUBCRIBE_AJAX',\n // @ts-ignore\n result: RDS.NothingYet()\n }\n};\n\nconst defaultInitialState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'redirect-url-success-state':\n return mockedRedirectUrlSuccessState;\n case 'subscribe-ajax-state':\n return mockedSubscribeAjaxState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface GetRedirectUrlArgs {\n window: Window;\n extraParams?: IHash;\n autoRedirect?: boolean;\n isGetRedirectBupperWay?: boolean;\n ignoreUrlParams?: boolean;\n}\n/**\n * getRedirectUrlAction\n * @returns {type: ' 'oneClickFlow/getRedirectUrlAction', payload: {type: PossibleTypes, result: GETREDIRECTUrlState}}\n \n * Calls redirect api to get a redirect url for the user to be redirected to\n * Can also create a bupper redirect url\n */\nexport const getRedirectUrlAction = createAsyncThunk<\n GETREDIRECTUrlState,\n GetRedirectUrlArgs,\n {\n rejectValue: IGETREDIRECTURLFailure;\n }\n>(\n 'oneClickFlow/getRedirectUrlAction',\n // @ts-ignore\n async ({ window, isGetRedirectBupperWay, extraParams, autoRedirect }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n return initialState.currentState;\n }\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n\n const {\n config,\n subscription_url,\n redirect_url,\n operator,\n strategy,\n defaultConfig,\n defaultFlowType\n } = state.strategy.currentState.data;\n try {\n if (isGetRedirectBupperWay === true) {\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url');\n const redirectUrl = await getRedirectUrlBupperWay(window, config, {\n ...(operator && { operator }),\n ...extraParams\n });\n\n // add empellow token for specific country\n const updatedRedirectUrl = await addEmpelloToken({\n currentRedirectUrl: redirectUrl,\n country: config.country\n });\n\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url-success', {\n redirect_url: updatedRedirectUrl\n });\n\n if (window.isAutoFraudScreener === true) {\n // Wait for Evina to Check Fraud First\n const timer = setInterval(() => {\n if (window.isEvinaSessionChecked) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n\n clearInterval(timer);\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n }\n }, 100);\n } else if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n }\n } else {\n if (\n (subscription_url && subscription_url != null) ||\n window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.msisdn\n ) {\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.NothingYet()\n };\n }\n if (redirect_url) {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: redirect_url\n })\n };\n }\n\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url');\n const { redirect_url: newRedirectUrl } = await getRedirectUrl({\n window,\n maybeConfig: config,\n extraParams: {\n ...(operator && { operator }),\n ...extraParams\n }\n });\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url-success');\n\n // add empellow token for specific country\n const updated_redirect_url = newRedirectUrl\n ? await addEmpelloToken({\n currentRedirectUrl: newRedirectUrl,\n country: config.country\n })\n : null;\n\n if (updated_redirect_url) {\n if (autoRedirect === true || (window.isAutoFraudScreener === true && updated_redirect_url)) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updated_redirect_url });\n\n setTimeout(() => {\n // eslint-disable-next-line camelcase\n window.location.href = updated_redirect_url;\n }, 0);\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updated_redirect_url\n })\n };\n }\n } else {\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n\n return rejectWithValue({\n errorType: 'UnknownError',\n message: 'Could not get rediredt url',\n error: 'Could not get rediredt url'\n });\n }\n }\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n return rejectWithValue({\n errorType: 'UnknownError',\n message: ex.message,\n error: ex.toString()\n });\n }\n }\n);\n\n/**\n * subscribeUrlAction\n * @returns {type: ' 'oneClickFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls oneclick subscripe api to subscribe the user\n * Returns a product url\n */\ninterface OneClickSubscribeArgs {\n window: Window;\n autoRedirect?: boolean;\n extraParams?: IHash;\n}\nexport const subscribeUrlAction = createAsyncThunk<\n AJAXSUBSCRIBEState,\n OneClickSubscribeArgs,\n {\n rejectValue: SubscribeFailure;\n }\n>('oneClickFlow/subscribeUrlAction', async ({ window, autoRedirect, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { subscription_url, config } = state.strategy.currentState.data;\n try {\n // Start Call to Subscribe ajax\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe');\n const product_url = await subscribe(subscription_url, config, extraParams);\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe-success', { product_url });\n // End Call to Subscribe ajax\n\n if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'click-product-url', { product_url });\n window.location.href = product_url;\n }\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Success({\n productUrl: product_url\n })\n };\n } catch (ex) {\n console.warn(ex);\n\n tracker.recedeInFlow('tallyman.v1-one-click', 'click-subscribe-failure', { error: ex.toString() });\n\n return rejectWithValue({\n errorType: 'UnknownError',\n error: ex.toString(),\n productUrl: ex.productUrl,\n message: ex.message || ''\n });\n }\n});\n\nconst oneClickFlowSlice = createSlice({\n name: 'oneClickFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(getRedirectUrlAction.pending, (state) => {\n state.currentState = { type: 'GET_REDIRECT_URL', result: RDS.Loading() };\n })\n .addCase(getRedirectUrlAction.fulfilled, (state, action: PayloadAction<GETREDIRECTUrlState>) => {\n state.currentState = action.payload;\n })\n .addCase(getRedirectUrlAction.rejected, (state, action: PayloadAction<IGETREDIRECTURLFailure>) => {\n state.currentState = {\n type: 'GET_REDIRECT_URL',\n result: RDS.Failure(action.payload)\n };\n })\n .addCase(subscribeUrlAction.pending, (state) => {\n state.currentState = { type: 'SUBCRIBE_AJAX', result: RDS.Loading() };\n })\n .addCase(subscribeUrlAction.fulfilled, (state, action: PayloadAction<AJAXSUBSCRIBEState>) => {\n state.currentState = action.payload;\n })\n .addCase(subscribeUrlAction.rejected, (state, action: PayloadAction<SubscribeFailure>) => {\n state.currentState = {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: oneClickFlowReducer, actions: oneClickFlowActions } = oneClickFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectOneClickFlowState = (state: any) => state.oneClickFlow;\n"],"names":["useOneClickFlowState","useSelector","state","oneClickFlow","currentState","oneClickFlowMatch","_a","getRedirectUrl","subscribe","type","result","addEmpelloToken","currentRedirectUrl","country","toLowerCase","Promise","resolve","checkEmpelloAvailability","setInterval","window","Empello","clearInterval","_b","sent","getToken","empelloToken","token","updateUrlParameter","oneClickSubscribeByUrlFromParams","extraParams","search","url","cleanSearchParams","evinaTid","tid","isCleanTraffic","shouldBlock","extraParamsQs","Object","entries","map","__read","key","value","concat","encodeURIComponent","join","baseURL","params","sam_evina_tid","antifraud_id","antifraud_id_js_code","antifraud_id_js_link","fromEntries","URLSearchParams","queryParams","toString","resultUrl","fetch","json","console","error","error_1","oneClickSubscribe","slug","device","offer","msisdn","operator","rockmanId","keys","k","filter","Boolean","action","offerId","rockman_id","page","location","href","language_code","languageCode","partner_transaction_id","partner_timestamp","partner_cid","zain_antifraud_id","korek_antifraud_id","queryString","host","DEV_BASE_URL","then","x","fetchJsonp","_url","ouisys_callback_function","Math","floor","random","reject","arg","indexOf","script","document","createElement","src","id","body","appendChild","onerror","Error","maybeConfig","apiAction","pac_analytics","visitor","s","substr","search_1","length","v","forEach","element","index","paramName","paramValue","pattern","RegExp","replace","newUrl","replaceUrlParam","bupperizeCountry","result_1","_m","success","identifyError","message","subscription_url","redirect_url","loadScriptInnerHtml","source","redirectUrlWithReplacedUniqid","searchObj","searchToObject","__assign","_c","_e","_d","ip","ip_address","_g","_f","_h","_j","ipRangeOperator","ip_range_operator","_l","_k","__awaiter","config","newExtraParams","heMsisdnDecryptedByApiResult","validateMsisdn","subscribeError","productUrl","product_url","getRedirectUrlBupperWay","xcid","split","baseHostBupper","bupperRedirectHost","atob","DEV_BASE_URL_BUPPER","mockedRedirectUrlSuccessState","RDS.Success","redirectUrl","mockedSubscribeAjaxState","RDS.NothingYet","defaultInitialState","initialState","setInitialState","getRedirectUrlAction","createAsyncThunk","isGetRedirectBupperWay","autoRedirect","getState","dispatch","rejectWithValue","strategy","data","errorType","defaultConfig","defaultFlowType","tracker","customEvent","updatedRedirectUrl_1","isAutoFraudScreener","setTimeout","timer_1","isEvinaSessionChecked","newRedirectUrl","updated_redirect_url_1","recedeInFlow","setStrategyExtraData","flowMapping","flowConfig","warn","ex_1","subscribeUrlAction","advancedInFlow","ex_2","oneClickFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","RDS.Failure","oneClickFlowReducer","reducer","actions"],"mappings":"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"}
1
+ {"version":3,"file":"oneClickFlow.js","sources":["../../src/flows/oneClickFlow/hooks/useOneClickFlowState.ts","../../src/flows/oneClickFlow/match.ts","../../src/utilities/addEmpelloToken.ts","../../src/utilities/replaceUrlParam.ts","../../src/flows/oneClickFlow/api.ts","../../src/flows/oneClickFlow/main.ts","../../src/flows/oneClickFlow/oneClickFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useOneClickFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.oneClickFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IGETREDIRECTURLFailure,\n IGETREDIRECTURLSuccess,\n OneClickFlowCurrentState,\n SubscribeFailure,\n SubscribeSuccess\n} from '../../sharedFlowTypes/OneClickTypes';\n\nfunction oneClickFlowMatch<R>({\n getRedirectUrl,\n subscribe\n}: {\n getRedirectUrl: (rds: RDS.RemoteDataState<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>) => R;\n subscribe?: (rds: RDS.RemoteDataState<SubscribeFailure, SubscribeSuccess>) => R;\n}): (state: OneClickFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'GET_REDIRECT_URL':\n return getRedirectUrl(state.result);\n case 'SUBCRIBE_AJAX':\n return subscribe(state.result);\n default:\n // TODO - this should be an error or something\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return getRedirectUrl(state.result);\n }\n };\n}\n\nexport { oneClickFlowMatch };\n","import { updateUrlParameter } from '../pacman/queryString';\n\nexport async function addEmpelloToken({\n currentRedirectUrl,\n country\n}: {\n currentRedirectUrl: string;\n country: string;\n}) {\n if (country.toLowerCase() === 'pe') {\n // Empello script is added on server\n\n await new Promise<void>((resolve) => {\n // check if empello script is loaded and available\n const checkEmpelloAvailability = setInterval(() => {\n if (window.Empello) {\n clearInterval((checkEmpelloAvailability as unknown) as number);\n resolve();\n }\n }, 100);\n });\n if (typeof window !== 'undefined' && window.Empello) {\n // call getToken function from empello\n const token = await new Promise<string>((resolve) => {\n window.Empello?.getToken((empelloToken: string) => {\n resolve(empelloToken);\n });\n });\n\n const url = updateUrlParameter(currentRedirectUrl, 'empello_token', token);\n return url;\n }\n }\n\n return currentRedirectUrl;\n}\n","export const replaceUrlParam = (url: string, paramName: string, paramValue = '') => {\n const pattern = new RegExp(`\\\\b(${paramName}=).*?(&|#|$)`);\n if (url.search(pattern) >= 0) {\n return url.replace(pattern, `$1${paramValue}$2`);\n }\n const newUrl = url.replace(/[?#]$/, '');\n return `${newUrl + paramName}=${paramValue}&`;\n};\n","import { IHash } from '../../common-types/IHash';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport const getRedirectAPI = () => {};\n\nconst getUrlWithParams = (baseURL: string, params: IHash) => {\n const queryParams = new URLSearchParams(params).toString();\n return `${baseURL}&${queryParams}`;\n};\n\nexport const oneClickSubscribeByUrlFromParams = async ({\n window,\n extraParams,\n search,\n url\n}: {\n window: Window;\n extraParams?: IHash;\n search: string;\n url: string;\n}) => {\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const evinaTid = window?.tid || '';\n const isCleanTraffic = window?.shouldBlock ? 'false' : 'true';\n\n const extraParamsQs = Object.entries(extraParams || {})\n .map(([key, value]) => `${key}=${encodeURIComponent(value)}`)\n .join('&');\n\n try {\n const resultUrl = getUrlWithParams(url, {\n sam_evina_tid: evinaTid,\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n 'is-clean-traffic': isCleanTraffic,\n ...Object.fromEntries(new URLSearchParams(extraParamsQs))\n });\n\n const response = await fetch(`${resultUrl}${search ? `&${search}` : ''}`);\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Error fetching subscription:', error);\n throw error; // Rethrow or handle error as needed\n }\n};\n\nexport const oneClickSubscribe = async ({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams,\n search,\n evinaTid\n}: {\n window?: Window;\n country: string;\n slug: string;\n device: 'smart' | 'feature';\n offer: string;\n msisdn: string;\n operator: string;\n rockmanId: string;\n extraParams: IHash;\n search: string;\n evinaTid?: string;\n}): Promise<any> => {\n const extraParamsQs = `&${Object.keys(extraParams)\n .map((k) => (extraParams[k] ? `${k}=${extraParams[k]}` : ''))\n .filter(Boolean)\n .join('&')}`;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n\n // Base parameters object\n const params = {\n action: 'one-click-subscribe',\n country,\n slug,\n device,\n offerId: offer,\n msisdn,\n operator,\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n page: encodeURIComponent(window?.location?.href),\n language_code: window.languageCode || '',\n partner_transaction_id: window.partner_transaction_id || '',\n partner_timestamp: window.partner_timestamp || '',\n partner_cid: window.partner_cid || '',\n\n antifraud_id: window.antifraud_id || '',\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || '',\n zain_antifraud_id: window.zain_antifraud_id || '',\n korek_antifraud_id: window.korek_antifraud_id || ''\n };\n\n // Convert params object to query string\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${extraParamsQs}${search ? `&${search}` : ''}`;\n\n return fetch(url).then((x) => x.json());\n};\n","import { IError } from '../../common-types/IError';\nimport {\n IIDentifyUserResult,\n ILinkExtraParams,\n ISubscribeParams,\n ISubscribeResult\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { bupperizeCountry } from '../../utilities/bupperizeCountry';\nimport { loadScriptInnerHtml } from '../../utilities/loadScriptInnerHtml';\nimport { replaceUrlParam } from '../../utilities/replaceUrlParam';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { oneClickSubscribe, oneClickSubscribeByUrlFromParams } from './api';\n\nexport const additionalQueryString = `msisdnSubmitted=Y&legalCheckbox=Y&incentivizedCheckbox=Y&op_confirmCheckbox=N`;\n\nconst fetchJsonp: <T>(_url: string) => Promise<T> = (_url: string) => {\n let url = _url;\n const ouisys_callback_function = `ouisys_callback_function${Math.floor(Math.random() * 10000)}`;\n return new Promise((resolve, reject) => {\n // @ts-ignore\n window[ouisys_callback_function] = (arg) => {\n resolve(arg);\n };\n\n url += url.indexOf('?') === -1 ? '?' : '&';\n url += `jsonp=${ouisys_callback_function}`;\n const script = document.createElement('script');\n script.src = url;\n script.id = ouisys_callback_function;\n document.body.appendChild(script);\n\n // Caught if got 404/500\n script.onerror = () => {\n reject(new Error(`JSONP request to ${_url} failed`));\n };\n });\n};\n\nexport const getRedirectUrl = async ({\n window,\n maybeConfig,\n extraParams\n}: {\n window: Window;\n maybeConfig: IConfig;\n extraParams?: ILinkExtraParams;\n}): Promise<{\n subscription_url?: string;\n redirect_url?: string;\n action?: () => Promise<string>;\n}> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-throw-literal, no-script-url\n throw \"javascript: console.error('SSR'); void 6\";\n } else {\n const { country, slug, queryString, apiAction } = maybeConfig;\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n let search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n Object.keys(extraParams).forEach((element, index) => {\n // Check if search already has query parameters\n if (search.length > 0) {\n // If there are existing parameters, add '&' before appending the new one\n search += '&';\n }\n search = `${replaceUrlParam(search, element, extraParams[element])}${index === 1 ? '&' : ''}`;\n });\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n if (apiAction === 'identify-user') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=identify-user&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetchJsonp<IIDentifyUserResult>(url);\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return {\n subscription_url: result.subscription_url || result.redirect_url,\n action: () => subscribe({ url: result.subscription_url, config: maybeConfig })\n };\n }\n } else if (apiAction === 'he') {\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?action=he&country=${bupperizeCountry(\n country\n )}&slug=${slug}&device=${'smart'}&offerId=${offer}&rockman_id=${rockmanId}&sam_evina_tid=${evinaTid}&${search}`;\n const result = await fetch(url).then((x) => x.json());\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n loadScriptInnerHtml(result.source);\n return { redirect_url: result.redirectUrlWithReplacedUniqid };\n }\n } else {\n if (country.toLowerCase() === 'om') {\n const searchObj = searchToObject(window) as {\n redirect_url: string;\n url: string;\n msisdn: string;\n success: 'true' | 'false';\n };\n if (searchObj.success === 'false') {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: searchObj.redirect_url || searchObj.url };\n }\n }\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = new URLSearchParams({\n action: 'redirect',\n device: 'smart',\n slug,\n offerId: offer,\n country: bupperizeCountry(country),\n rockman_id: rockmanId,\n sam_evina_tid: evinaTid,\n ...(window?.location?.href && { page: encodeURIComponent(window?.location?.href) }),\n ...(window?.pac_analytics?.visitor?.ip && { ip_address: window?.pac_analytics?.visitor?.ip }),\n ...(window?.pac_analytics?.visitor?.ipRangeOperator && {\n ip_range_operator: window?.pac_analytics?.visitor?.ipRangeOperator\n })\n });\n\n const url = `${host}/tallyman/v1/?${params.toString()}${search ? `&${search}` : ''}`;\n const result = await fetch(url).then((x) => x.json());\n\n if (result.success === false) {\n const identifyError = new Error(`Error in getRedirectUrl() identify-user action:\\n${result.message}`) as IError;\n identifyError.type = 'NotOn3g';\n throw identifyError;\n } else {\n return { redirect_url: result.redirect_url };\n }\n }\n }\n};\n\nexport const subscribe = async ({ url, config: maybeConfig, msisdn, operator, extraParams }: ISubscribeParams) => {\n let result: ISubscribeResult = null;\n\n if (url && url !== '') {\n const { queryString } = maybeConfig;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n\n await oneClickSubscribeByUrlFromParams({\n window,\n extraParams,\n search,\n url\n });\n } else {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n const newExtraParams = extraParams || {};\n const isSkipValidation = window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.validateMsisdn === false;\n // @ts-ignore\n if (isSkipValidation) {\n // Search param is set to 1 for header enrichment when the msisdn is masked\n newExtraParams['skip-validation'] = '1';\n }\n\n const { rockmanId } = window.pac_analytics.visitor;\n\n const { slug, country, device, offer } = config;\n\n const search = window.location.search.substr(1) || '';\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n result = await oneClickSubscribe({\n window,\n country,\n slug,\n device,\n offer,\n msisdn,\n operator,\n rockmanId,\n extraParams: newExtraParams,\n search,\n evinaTid\n });\n }\n\n if (result.success === false) {\n const subscribeError = new Error(`Error in subscribe() one-click-subscribe action:\\n${result.message}`) as {\n productUrl: string;\n } & IError;\n subscribeError.type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'SubscriptionError';\n subscribeError.productUrl = result.product_url ? result.product_url : '';\n subscribeError.message = result.message;\n throw subscribeError;\n } else {\n return result.product_url || result.redirect_url;\n }\n};\n\nexport const getRedirectUrlBupperWay = async (\n window: Window,\n maybeConfig: IConfig,\n extraParams?: ILinkExtraParams\n): Promise<string> => {\n if (typeof window === 'undefined') {\n // eslint-disable-next-line no-script-url\n return \"javascript: console.error('SSR'); void 6\";\n }\n const { country, slug, queryString } = maybeConfig;\n const { offer } = window.pac_analytics.visitor;\n const s = window.location.search.substr(1);\n // @ts-ignore\n const search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(([k, v]) => `${k}=${v}`)).join('&');\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n\n // one click flow must use http not https\n const xcid = window.location.href.split('/')[3].split('?')[0];\n const evinaTid = typeof window !== 'undefined' && window.tid ? window.tid : '';\n\n const baseHostBupper = window?.pac_analytics?.visitor?.bupperRedirectHost\n ? window.atob(window?.pac_analytics?.visitor?.bupperRedirectHost)\n : null;\n const host = baseHostBupper || (window as Window).DEV_BASE_URL_BUPPER || '';\n\n return `${host}/${bupperizeCountry(country)}/${slug}?offer=${offer}&atmobirun=1&rockman_id=${\n window.pac_analytics.visitor.rockmanId\n }&redirPixels=${window.location.host}&sam_evina_tid=${evinaTid}&x-xcid=${xcid}${extraParamsQs}&${search}`;\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n AJAXSUBSCRIBEState,\n GETREDIRECTUrlState,\n IGETREDIRECTURLFailure,\n OneClickFlowState,\n SubscribeFailure\n} from '../../sharedFlowTypes/OneClickTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { addEmpelloToken } from '../../utilities/addEmpelloToken';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { tracker } from '../../utilities/tracker';\nimport { flowMapping } from '../strategy/main';\nimport { setStrategyExtraData } from '../strategy/strategySlice';\nimport { getRedirectUrl, getRedirectUrlBupperWay, subscribe } from './main';\n\nexport const mockedRedirectUrlSuccessState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n // @ts-ignore\n result: RDS.Success<IGETREDIRECTURLFailure, IGETREDIRECTURLSuccess>({ redirectUrl: '/product' })\n }\n};\n\nexport const mockedSubscribeAjaxState: OneClickFlowState = {\n currentState: {\n type: 'SUBCRIBE_AJAX',\n // @ts-ignore\n result: RDS.NothingYet()\n }\n};\n\nconst defaultInitialState: OneClickFlowState = {\n currentState: {\n type: 'GET_REDIRECT_URL',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'redirect-url-success-state':\n return mockedRedirectUrlSuccessState;\n case 'subscribe-ajax-state':\n return mockedSubscribeAjaxState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface GetRedirectUrlArgs {\n window: Window;\n extraParams?: IHash;\n autoRedirect?: boolean;\n isGetRedirectBupperWay?: boolean;\n ignoreUrlParams?: boolean;\n}\n/**\n * getRedirectUrlAction\n * @returns {type: ' 'oneClickFlow/getRedirectUrlAction', payload: {type: PossibleTypes, result: GETREDIRECTUrlState}}\n \n * Calls redirect api to get a redirect url for the user to be redirected to\n * Can also create a bupper redirect url\n */\nexport const getRedirectUrlAction = createAsyncThunk<\n GETREDIRECTUrlState,\n GetRedirectUrlArgs,\n {\n rejectValue: IGETREDIRECTURLFailure;\n }\n>(\n 'oneClickFlow/getRedirectUrlAction',\n // @ts-ignore\n async ({ window, isGetRedirectBupperWay, extraParams, autoRedirect }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n return initialState.currentState;\n }\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n\n const {\n config,\n subscription_url,\n redirect_url,\n operator,\n strategy,\n defaultConfig,\n defaultFlowType\n } = state.strategy.currentState.data;\n const visitor = (window.pac_analytics?.visitor ?? {}) as any;\n\n try {\n if (isGetRedirectBupperWay === true) {\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url');\n const redirectUrl = await getRedirectUrlBupperWay(window, config, {\n ...(operator && { operator }),\n ...extraParams\n });\n\n // add empellow token for specific country\n const updatedRedirectUrl = await addEmpelloToken({\n currentRedirectUrl: redirectUrl,\n country: config.country\n });\n\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url-success', {\n redirect_url: updatedRedirectUrl\n });\n\n if (window.isAutoFraudScreener === true) {\n // Wait for Evina to Check Fraud First\n const timer = setInterval(() => {\n if (window.isEvinaSessionChecked) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n\n clearInterval(timer);\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n }\n }, 100);\n } else if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updatedRedirectUrl });\n setTimeout(() => {\n window.location.href = updatedRedirectUrl;\n }, 0);\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updatedRedirectUrl\n })\n };\n }\n } else {\n const candidates: (string | undefined)[] = [\n visitor.heMsisdnDecryptedByApiResult?.msisdn,\n visitor.heMsisdnResult?.msisdn\n ];\n\n const msisdn = candidates.find((s) => !!s) ?? null;\n if ((subscription_url && subscription_url != null) || msisdn) {\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.NothingYet()\n };\n }\n if (redirect_url) {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: redirect_url\n })\n };\n }\n\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url');\n const { redirect_url: newRedirectUrl } = await getRedirectUrl({\n window,\n maybeConfig: config,\n extraParams: {\n ...(operator && { operator }),\n ...extraParams\n }\n });\n tracker.customEvent('Flow', 'advance-auto', 'get-redirect-url-success');\n\n // add empellow token for specific country\n const updated_redirect_url = newRedirectUrl\n ? await addEmpelloToken({\n currentRedirectUrl: newRedirectUrl,\n country: config.country\n })\n : null;\n\n if (updated_redirect_url) {\n if (autoRedirect === true || (window.isAutoFraudScreener === true && updated_redirect_url)) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: updated_redirect_url });\n\n setTimeout(() => {\n // eslint-disable-next-line camelcase\n window.location.href = updated_redirect_url;\n }, 0);\n } else {\n return {\n type: 'GET_REDIRECT_URL',\n result: RDS.Success({\n redirectUrl: updated_redirect_url\n })\n };\n }\n } else {\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n\n return rejectWithValue({\n errorType: 'UnknownError',\n message: 'Could not get rediredt url',\n error: 'Could not get rediredt url'\n });\n }\n }\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-one-click', 'get-redirect-url-failure', {\n errorType: 'UnknownError'\n });\n if (strategy !== 'one-click') {\n dispatch(\n setStrategyExtraData({\n type: flowMapping[defaultFlowType],\n data: {\n config: defaultConfig.flowConfig\n }\n })\n );\n }\n return rejectWithValue({\n errorType: 'UnknownError',\n message: ex.message,\n error: ex.toString()\n });\n }\n }\n);\n\n/**\n * subscribeUrlAction\n * @returns {type: ' 'oneClickFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls oneclick subscripe api to subscribe the user\n * Returns a product url\n */\ninterface OneClickSubscribeArgs {\n window: Window;\n autoRedirect?: boolean;\n extraParams?: IHash;\n}\nexport const subscribeUrlAction = createAsyncThunk<\n AJAXSUBSCRIBEState,\n OneClickSubscribeArgs,\n {\n rejectValue: SubscribeFailure;\n }\n>('oneClickFlow/subscribeUrlAction', async ({ window, autoRedirect, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { subscription_url, config, msisdn, operator, apn } = state.strategy.currentState.data;\n try {\n // Start Call to Subscribe ajax\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe', {\n msisdn,\n operator,\n extraParams,\n subscription_url\n });\n const product_url = await subscribe({\n url: subscription_url,\n config,\n extraParams: { ...extraParams, apn },\n msisdn,\n operator\n });\n tracker.advancedInFlow('tallyman.v1-one-click', 'click-subscribe-success', { product_url });\n // End Call to Subscribe ajax\n\n if (autoRedirect === true) {\n tracker.customEvent('Flow', 'advance-auto', 'click-product-url', { product_url });\n window.location.href = product_url;\n }\n return {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Success({\n productUrl: product_url\n })\n };\n } catch (ex) {\n console.warn(ex);\n\n tracker.recedeInFlow('tallyman.v1-one-click', 'click-subscribe-failure', { error: ex.toString() });\n\n return rejectWithValue({\n errorType: 'UnknownError',\n error: ex.toString(),\n productUrl: ex.productUrl,\n message: ex.message || ''\n });\n }\n});\n\nconst oneClickFlowSlice = createSlice({\n name: 'oneClickFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(getRedirectUrlAction.pending, (state) => {\n state.currentState = { type: 'GET_REDIRECT_URL', result: RDS.Loading() };\n })\n .addCase(getRedirectUrlAction.fulfilled, (state, action: PayloadAction<GETREDIRECTUrlState>) => {\n state.currentState = action.payload;\n })\n .addCase(getRedirectUrlAction.rejected, (state, action: PayloadAction<IGETREDIRECTURLFailure>) => {\n state.currentState = {\n type: 'GET_REDIRECT_URL',\n result: RDS.Failure(action.payload)\n };\n })\n .addCase(subscribeUrlAction.pending, (state) => {\n state.currentState = { type: 'SUBCRIBE_AJAX', result: RDS.Loading() };\n })\n .addCase(subscribeUrlAction.fulfilled, (state, action: PayloadAction<AJAXSUBSCRIBEState>) => {\n state.currentState = action.payload;\n })\n .addCase(subscribeUrlAction.rejected, (state, action: PayloadAction<SubscribeFailure>) => {\n state.currentState = {\n type: 'SUBCRIBE_AJAX',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: oneClickFlowReducer, actions: oneClickFlowActions } = oneClickFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectOneClickFlowState = (state: any) => state.oneClickFlow;\n"],"names":["RDS.Success","RDS.NothingYet","RDS.Loading","RDS.Failure"],"mappings":"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"}