ouisys-engine 4.7.0-alpha.1 → 4.7.0-alpha.4

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 (61) hide show
  1. package/dist/RemoteDataState-lcf8PfJd.js +2 -0
  2. package/dist/{RemoteDataState-CwHLI23e.js.map → RemoteDataState-lcf8PfJd.js.map} +1 -1
  3. package/dist/bupperizeCountry-CEtt0MKz.js +2 -0
  4. package/dist/bupperizeCountry-CEtt0MKz.js.map +1 -0
  5. package/dist/checkSubscriptionByRockmanIdOnly-BwR1un1L.js +2 -0
  6. package/dist/{checkSubscriptionByRockmanIdOnly-C89Ph9cV.js.map → checkSubscriptionByRockmanIdOnly-BwR1un1L.js.map} +1 -1
  7. package/dist/checkSubscriptionHander.js +1 -52
  8. package/dist/checkSubscriptionHander.js.map +1 -1
  9. package/dist/click2smsFlow.js +1 -245
  10. package/dist/click2smsFlow.js.map +1 -1
  11. package/dist/creditCardFlow.js +1 -247
  12. package/dist/creditCardFlow.js.map +1 -1
  13. package/dist/getConfig.js +1 -13
  14. package/dist/getConfig.js.map +1 -1
  15. package/dist/handleClickChainFlow.js +1 -31
  16. package/dist/handleClickChainFlow.js.map +1 -1
  17. package/dist/handleSubmitNumber.js +1 -64
  18. package/dist/handleSubmitNumber.js.map +1 -1
  19. package/dist/helpers-xPhGBX-B.js +2 -0
  20. package/dist/helpers-xPhGBX-B.js.map +1 -0
  21. package/dist/loadScriptInnerHtml-BzQm-AFb.js +2 -0
  22. package/dist/loadScriptInnerHtml-BzQm-AFb.js.map +1 -0
  23. package/dist/moFlow.js +1 -274
  24. package/dist/moFlow.js.map +1 -1
  25. package/dist/moRedirFlow.js +1 -224
  26. package/dist/moRedirFlow.js.map +1 -1
  27. package/dist/oneClickFlow.js +1 -463
  28. package/dist/oneClickFlow.js.map +1 -1
  29. package/dist/pinFlow.js +1 -696
  30. package/dist/pinFlow.js.map +1 -1
  31. package/dist/searchToObject.js +1 -18
  32. package/dist/searchToObject.js.map +1 -1
  33. package/dist/storeMsisdn-Cjq8_qYH.js +2 -0
  34. package/dist/{storeMsisdn-ChiBh8mI.js.map → storeMsisdn-Cjq8_qYH.js.map} +1 -1
  35. package/dist/strategy.js +1 -49
  36. package/dist/strategy.js.map +1 -1
  37. package/dist/strategySlice-CtjrhCrS.js +2 -0
  38. package/dist/{strategySlice-bF74rxDK.js.map → strategySlice-CtjrhCrS.js.map} +1 -1
  39. package/dist/tracker-DaaILhEr.js +2 -0
  40. package/dist/tracker-DaaILhEr.js.map +1 -0
  41. package/dist/tracker.js +1 -4
  42. package/dist/tracker.js.map +1 -1
  43. package/dist/tryGetIPRangeName-QW-9NgzE.js +2 -0
  44. package/dist/tryGetIPRangeName-QW-9NgzE.js.map +1 -0
  45. package/dist/ussdFlow.js +1 -210
  46. package/dist/ussdFlow.js.map +1 -1
  47. package/package.json +2 -6
  48. package/dist/RemoteDataState-CwHLI23e.js +0 -75
  49. package/dist/bupperizeCountry-CCDIOHP6.js +0 -4
  50. package/dist/bupperizeCountry-CCDIOHP6.js.map +0 -1
  51. package/dist/checkSubscriptionByRockmanIdOnly-C89Ph9cV.js +0 -27
  52. package/dist/helpers-J_h-ZgxH.js +0 -29
  53. package/dist/helpers-J_h-ZgxH.js.map +0 -1
  54. package/dist/loadScriptInnerHtml-DPcoY467.js +0 -26
  55. package/dist/loadScriptInnerHtml-DPcoY467.js.map +0 -1
  56. package/dist/storeMsisdn-ChiBh8mI.js +0 -58
  57. package/dist/strategySlice-bF74rxDK.js +0 -842
  58. package/dist/tracker-B_zsMRN2.js +0 -79
  59. package/dist/tracker-B_zsMRN2.js.map +0 -1
  60. package/dist/tryGetIPRangeName-C69HEG5W.js +0 -42
  61. package/dist/tryGetIPRangeName-C69HEG5W.js.map +0 -1
package/dist/moFlow.js CHANGED
@@ -1,275 +1,2 @@
1
- import { __awaiter, __generator, __read, __assign } from 'tslib';
2
- import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
3
- import { S as Success, N as NothingYet, L as Loading, F as Failure } from './RemoteDataState-CwHLI23e.js';
4
- import { s as storeMsisdn } from './storeMsisdn-ChiBh8mI.js';
5
- import { t as tracker } from './tracker-B_zsMRN2.js';
6
- import { c as checkSubscriptionByRockmanIdOnly } from './checkSubscriptionByRockmanIdOnly-C89Ph9cV.js';
7
- import { a as loop } from './helpers-J_h-ZgxH.js';
8
- import 'pacman-client';
9
- import 'uuid';
10
-
11
- var useMoFlowState = function (useSelector) {
12
- var currentState = useSelector(function (state) { return state.moFlow.currentState; });
13
- return currentState;
14
- };
15
-
16
- function moFlowMatch(_a) {
17
- var msisdnEntry = _a.msisdnEntry;
18
- return function (state) {
19
- switch (state.type) {
20
- case 'MSISDNEntry':
21
- return msisdnEntry(state.result);
22
- default:
23
- // TODO - this should be an error or something
24
- return msisdnEntry(state.result);
25
- }
26
- };
27
- }
28
-
29
- var triggerMessage = function (_a) {
30
- var window = _a.window, slug = _a.slug, country = _a.country, msisdn = _a.msisdn, device = _a.device, offer = _a.offer, rockmanId = _a.rockmanId, extraParamsQs = _a.extraParamsQs;
31
- return __awaiter(void 0, void 0, void 0, function () {
32
- var partnerAjaxResopnse, _b, params, queryString, host, url;
33
- var _c;
34
- return __generator(this, function (_d) {
35
- switch (_d.label) {
36
- case 0:
37
- if (!window.api_ajax_url) return [3 /*break*/, 2];
38
- return [4 /*yield*/, fetch(window.api_ajax_url).then(function (x) { return x.json(); })];
39
- case 1:
40
- _b = _d.sent();
41
- return [3 /*break*/, 3];
42
- case 2:
43
- _b = null;
44
- _d.label = 3;
45
- case 3:
46
- partnerAjaxResopnse = _b;
47
- params = {
48
- action: 'trigger-message',
49
- slug: slug,
50
- country: country,
51
- msisdn: msisdn,
52
- device: device,
53
- offerId: offer,
54
- rockman_id: rockmanId,
55
- page: encodeURIComponent((_c = window === null || window === void 0 ? void 0 : window.location) === null || _c === void 0 ? void 0 : _c.href),
56
- sam_g_token: window.reCaptchaToken || '',
57
- antifraud_id: window.antifraud_id || '',
58
- language_code: window.languageCode || '',
59
- partner_form_action: (partnerAjaxResopnse === null || partnerAjaxResopnse === void 0 ? void 0 : partnerAjaxResopnse.form_action) ? encodeURIComponent(partnerAjaxResopnse === null || partnerAjaxResopnse === void 0 ? void 0 : partnerAjaxResopnse.form_action) : ''
60
- };
61
- queryString = Object.entries(params)
62
- .filter(function (_a) {
63
- var _b = __read(_a, 2); _b[0]; var value = _b[1];
64
- return value;
65
- })
66
- .map(function (_a) {
67
- var _b = __read(_a, 2), key = _b[0], value = _b[1];
68
- return "".concat(key, "=").concat(value);
69
- })
70
- .join('&');
71
- host = window.DEV_BASE_URL || '';
72
- url = "".concat(host, "/tallyman/v1/?").concat(queryString, "&").concat(extraParamsQs);
73
- return [2 /*return*/, fetch(url).then(function (x) { return x.json(); })];
74
- }
75
- });
76
- });
77
- };
78
-
79
- function submitMSISDN(window, maybeConfig, internationalMSISDN, extraParams) {
80
- var _a, _b;
81
- return __awaiter(this, void 0, void 0, function () {
82
- var config;
83
- return __generator(this, function (_c) {
84
- config = __assign(__assign({}, (maybeConfig || {})), { offer: (_b = (_a = window.pac_analytics) === null || _a === void 0 ? void 0 : _a.visitor) === null || _b === void 0 ? void 0 : _b.offer });
85
- return [2 /*return*/, submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams)];
86
- });
87
- });
88
- }
89
- function submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams) {
90
- var _a;
91
- return __awaiter(this, void 0, void 0, function () {
92
- var slug, country, device, offer, search, extraParamsQs, msisdn, rockmanId, result, type, error;
93
- return __generator(this, function (_b) {
94
- switch (_b.label) {
95
- case 0:
96
- slug = config.slug, country = config.country, device = config.device, offer = config.offer;
97
- search = window.location.search.substr(1) || '';
98
- extraParamsQs = !extraParams
99
- ? ''
100
- : "&".concat(Object.keys(extraParams)
101
- .map(function (k) { return "".concat(k, "=").concat(extraParams[k]); })
102
- .join('&'));
103
- msisdn = ((_a = internationalMSISDN.match(/\d+/gi)) === null || _a === void 0 ? void 0 : _a.join('')) || '';
104
- rockmanId = window.pac_analytics.visitor.rockmanId;
105
- return [4 /*yield*/, triggerMessage({
106
- window: window,
107
- slug: slug,
108
- country: country,
109
- msisdn: msisdn,
110
- device: device,
111
- offer: offer,
112
- rockmanId: rockmanId,
113
- search: search,
114
- extraParamsQs: extraParamsQs
115
- })];
116
- case 1:
117
- result = _b.sent();
118
- if (result.success === false) {
119
- type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';
120
- error = new Error("".concat(type, ":\n").concat(result.message));
121
- error.type = type;
122
- error.productUrl = result.product_url ? result.product_url : '';
123
- console.error(error);
124
- throw error;
125
- }
126
- else {
127
- return [2 /*return*/, __assign(__assign({}, result), { keyword: result.displayKeyword })]; // based on discussion with Chanaka to avoid confusion in set up on bupper. Click2sms and mo will use display keyword
128
- }
129
- }
130
- });
131
- });
132
- }
133
- function moCheckSubscription(window) {
134
- return __awaiter(this, void 0, void 0, function () {
135
- var rockmanId, check, checkResult, error;
136
- return __generator(this, function (_a) {
137
- switch (_a.label) {
138
- case 0:
139
- rockmanId = window.pac_analytics.visitor.rockmanId;
140
- check = function () { return checkSubscriptionByRockmanIdOnly({ window: window, rockmanId: rockmanId }); };
141
- return [4 /*yield*/, loop(check, 60, function (r) { return r.success; }, 0)];
142
- case 1:
143
- checkResult = _a.sent();
144
- if (checkResult.success === true && checkResult.product_url && checkResult.product_url !== '') {
145
- window.location.href = checkResult.product_url;
146
- return [2 /*return*/, checkResult.product_url];
147
- }
148
- error = new Error("".concat('SubscriptionFailed', ":\n").concat(checkResult.message));
149
- error.type = 'SubscriptionFailed';
150
- throw error;
151
- }
152
- });
153
- });
154
- }
155
-
156
- var initialState = {
157
- currentState: {
158
- type: 'MSISDNEntry',
159
- result: NothingYet()
160
- }
161
- };
162
- /**
163
- * submitMSISDNAction
164
- * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}
165
-
166
- * Calls trigger-message api that returns a short code and key word
167
- * Sets completed stated
168
- */
169
- var submitMSISDNAction = createAsyncThunk('moFlow/submitMSISDNAction', function (_a, _b) {
170
- var window = _a.window, msisdn = _a.msisdn, extraParams = _a.extraParams;
171
- var getState = _b.getState, rejectWithValue = _b.rejectWithValue;
172
- return __awaiter(void 0, void 0, void 0, function () {
173
- var state, config, keywordAndShortcode, ex_1, errorType;
174
- return __generator(this, function (_c) {
175
- switch (_c.label) {
176
- case 0:
177
- state = getState();
178
- config = state.strategy.currentState.data.config;
179
- _c.label = 1;
180
- case 1:
181
- _c.trys.push([1, 5, , 6]);
182
- // Start Trigger Message
183
- tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submitted', { msisdn: msisdn });
184
- return [4 /*yield*/, submitMSISDN(window, config, msisdn, extraParams)];
185
- case 2:
186
- keywordAndShortcode = _c.sent();
187
- tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submission-success', { msisdn: msisdn });
188
- if (!(extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true')) return [3 /*break*/, 4];
189
- return [4 /*yield*/, storeMsisdn(msisdn)
190
- .then(function (data) {
191
- if (data && data.data && data.data.success) {
192
- tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');
193
- }
194
- else {
195
- tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');
196
- }
197
- })
198
- .catch(function (error) {
199
- tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);
200
- })];
201
- case 3:
202
- _c.sent();
203
- _c.label = 4;
204
- case 4:
205
- // End Store Msisdn
206
- // Check For Subscription by rockman id and redirect to product url
207
- moCheckSubscription(window).then(function (product_url) {
208
- tracker.advancedInFlow('tallyman.v1-mo', 'sale', { msisdn: msisdn });
209
- setTimeout(function () {
210
- window.location.href = product_url;
211
- }, 1000);
212
- });
213
- return [2 /*return*/, {
214
- type: 'MSISDNEntry',
215
- result: Success(__assign({}, keywordAndShortcode))
216
- }];
217
- case 5:
218
- ex_1 = _c.sent();
219
- console.warn(ex_1);
220
- errorType = void 0;
221
- switch (ex_1.type) {
222
- case 'AlreadySubscribed':
223
- errorType = 'AlreadySubscribed';
224
- break;
225
- case 'InvalidMSISDN':
226
- errorType = 'InvalidMSISDN';
227
- break;
228
- default:
229
- errorType = 'UnknownError';
230
- }
231
- tracker.recedeInFlow('tallyman.v1-mo', 'msisdn-submission-failure', {
232
- msisdn: msisdn,
233
- errorType: errorType || 'UnknownError'
234
- });
235
- return [2 /*return*/, rejectWithValue({
236
- errorType: errorType,
237
- productUrl: ex_1.productUrl
238
- })];
239
- case 6: return [2 /*return*/];
240
- }
241
- });
242
- });
243
- });
244
- var moFlowSlice = createSlice({
245
- name: 'moFlow',
246
- initialState: initialState,
247
- reducers: {
248
- backToStartAction: function (state) {
249
- tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');
250
- // TODO GO BACK TO IDENTIFY BY MSISDN BASED ON STRATEGY
251
- state.currentState = { type: 'MSISDNEntry', result: NothingYet() };
252
- }
253
- },
254
- extraReducers: function (builder) {
255
- builder
256
- .addCase(submitMSISDNAction.pending, function (state) {
257
- state.currentState = { type: 'MSISDNEntry', result: Loading() };
258
- })
259
- .addCase(submitMSISDNAction.fulfilled, function (state, action) {
260
- state.currentState = action.payload;
261
- })
262
- .addCase(submitMSISDNAction.rejected, function (state, action) {
263
- state.currentState = {
264
- type: 'MSISDNEntry',
265
- result: Failure(action.payload)
266
- };
267
- });
268
- }
269
- });
270
- // Export reducers and actions
271
- var moFlowReducer = moFlowSlice.reducer, moFlowActions = moFlowSlice.actions;
272
- var backToStartAction = moFlowActions.backToStartAction;
273
-
274
- export { backToStartAction, moFlowMatch, moFlowReducer, submitMSISDNAction, useMoFlowState };
1
+ import{__awaiter as t,__generator as n,__read as r,__assign as e}from"tslib";import{createAsyncThunk as o,createSlice as a}from"@reduxjs/toolkit";import{S as c,N as s,L as i,F as u}from"./RemoteDataState-lcf8PfJd.js";import{s as d}from"./storeMsisdn-Cjq8_qYH.js";import{t as l}from"./tracker-DaaILhEr.js";import{c as m}from"./checkSubscriptionByRockmanIdOnly-BwR1un1L.js";import{a as f}from"./helpers-xPhGBX-B.js";import"pacman-client";import"uuid";var v=function(t){return t((function(t){return t.moFlow.currentState}))};function p(t){var n=t.msisdnEntry;return function(t){return t.type,n(t.result)}}var y=function(e){var o=e.window,a=e.slug,c=e.country,s=e.msisdn,i=e.device,u=e.offer,d=e.rockmanId,l=e.extraParamsQs;return t(void 0,void 0,void 0,(function(){var t,e,m,f,v,p,y;return n(this,(function(n){switch(n.label){case 0:return o.api_ajax_url?[4,fetch(o.api_ajax_url).then((function(t){return t.json()}))]:[3,2];case 1:return e=n.sent(),[3,3];case 2:e=null,n.label=3;case 3:return t=e,m={action:"trigger-message",slug:a,country:c,msisdn:s,device:i,offerId:u,rockman_id:d,page:encodeURIComponent(null===(y=null==o?void 0:o.location)||void 0===y?void 0:y.href),sam_g_token:o.reCaptchaToken||"",antifraud_id:o.antifraud_id||"",language_code:o.languageCode||"",partner_form_action:(null==t?void 0:t.form_action)?encodeURIComponent(null==t?void 0:t.form_action):""},f=Object.entries(m).filter((function(t){var n=r(t,2);return n[0],n[1]})).map((function(t){var n=r(t,2),e=n[0],o=n[1];return"".concat(e,"=").concat(o)})).join("&"),v=o.DEV_BASE_URL||"",p="".concat(v,"/tallyman/v1/?").concat(f,"&").concat(l),[2,fetch(p).then((function(t){return t.json()}))]}}))}))};function S(r,o,a,c){var s,i;return t(this,void 0,void 0,(function(){var t;return n(this,(function(n){return t=e(e({},o||{}),{offer:null===(i=null===(s=r.pac_analytics)||void 0===s?void 0:s.visitor)||void 0===i?void 0:i.offer}),[2,h(r,t,a,c)]}))}))}function h(r,o,a,c){var s;return t(this,void 0,void 0,(function(){var t,i,u,d,l,m,f,v,p,S,h;return n(this,(function(n){switch(n.label){case 0:return t=o.slug,i=o.country,u=o.device,d=o.offer,l=r.location.search.substr(1)||"",m=c?"&".concat(Object.keys(c).map((function(t){return"".concat(t,"=").concat(c[t])})).join("&")):"",f=(null===(s=a.match(/\d+/gi))||void 0===s?void 0:s.join(""))||"",v=r.pac_analytics.visitor.rockmanId,[4,y({window:r,slug:t,country:i,msisdn:f,device:u,offer:d,rockmanId:v,search:l,extraParamsQs:m})];case 1:if(!1===(p=n.sent()).success)throw S="ALREADY SUBSCRIBED"===p.message?"AlreadySubscribed":"InvalidMSISDN",(h=new Error("".concat(S,":\n").concat(p.message))).type=S,h.productUrl=p.product_url?p.product_url:"",console.error(h),h;return[2,e(e({},p),{keyword:p.displayKeyword})]}}))}))}var w={currentState:{type:"MSISDNEntry",result:s()}},b=o("moFlow/submitMSISDNAction",(function(r,o){var a=r.window,s=r.msisdn,i=r.extraParams,u=o.getState,v=o.rejectWithValue;return t(void 0,void 0,void 0,(function(){var r,o,p,y,h;return n(this,(function(w){switch(w.label){case 0:r=u(),o=r.strategy.currentState.data.config,w.label=1;case 1:return w.trys.push([1,5,,6]),l.advancedInFlow("tallyman.v1-mo","msisdn-submitted",{msisdn:s}),[4,S(a,o,s,i)];case 2:return p=w.sent(),l.advancedInFlow("tallyman.v1-mo","msisdn-submission-success",{msisdn:s}),i&&i.storeMsisdn&&"true"===i.storeMsisdn?[4,d(s).then((function(t){t&&t.data&&t.data.success?l.customEvent("Flow","advance-auto","msisdn-stored-success"):l.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(t){l.customEvent("Flow","advance-auto","msisdn-stored-error",t)}))]:[3,4];case 3:w.sent(),w.label=4;case 4:return function(r){return t(this,void 0,void 0,(function(){var t,e,o;return n(this,(function(n){switch(n.label){case 0:return t=r.pac_analytics.visitor.rockmanId,[4,f((function(){return m({window:r,rockmanId:t})}),60,(function(t){return t.success}),0)];case 1:if(!0===(e=n.sent()).success&&e.product_url&&""!==e.product_url)return r.location.href=e.product_url,[2,e.product_url];throw(o=new Error("".concat("SubscriptionFailed",":\n").concat(e.message))).type="SubscriptionFailed",o}}))}))}(a).then((function(t){l.advancedInFlow("tallyman.v1-mo","sale",{msisdn:s}),setTimeout((function(){a.location.href=t}),1e3)})),[2,{type:"MSISDNEntry",result:c(e({},p))}];case 5:switch(y=w.sent(),console.warn(y),h=void 0,y.type){case"AlreadySubscribed":h="AlreadySubscribed";break;case"InvalidMSISDN":h="InvalidMSISDN";break;default:h="UnknownError"}return l.recedeInFlow("tallyman.v1-mo","msisdn-submission-failure",{msisdn:s,errorType:h||"UnknownError"}),[2,v({errorType:h,productUrl:y.productUrl})];case 6:return[2]}}))}))})),I=a({name:"moFlow",initialState:w,reducers:{backToStartAction:function(t){l.recedeInFlow("tallyman.v1-mo","mo-state","requested to change phone number"),t.currentState={type:"MSISDNEntry",result:s()}}},extraReducers:function(t){t.addCase(b.pending,(function(t){t.currentState={type:"MSISDNEntry",result:i()}})).addCase(b.fulfilled,(function(t,n){t.currentState=n.payload})).addCase(b.rejected,(function(t,n){t.currentState={type:"MSISDNEntry",result:u(n.payload)}}))}}),_=I.reducer,g=I.actions.backToStartAction;export{g as backToStartAction,p as moFlowMatch,_ as moFlowReducer,b as submitMSISDNAction,v as useMoFlowState};
275
2
  //# sourceMappingURL=moFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"moFlow.js","sources":["../src/flows/moFlow/hooks/useMoFlowState.ts","../src/flows/moFlow/match.ts","../src/flows/moFlow/api.ts","../src/flows/moFlow/main.ts","../src/flows/moFlow/moFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useMoFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.moFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MoFlowCurrentState, MSISDNEntryFailure, MSISDNEntrySuccess } from '../../sharedFlowTypes/MoTypes';\n\nfunction moFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: MoFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { moFlowMatch };\n","import { IGoogleReCaptcha, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\n\nconst getGoogleCaptcha = async (\n window: Window,\n country: string,\n slug: string,\n device: string,\n domain: string\n): Promise<IGoogleReCaptcha> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n return fetch(\n `${host}/tallyman/helper/?action=google-captcha-v3-config&country=${country}&slug=${slug}&device=${device}&domain=${domain}`\n ).then((x) => x.json());\n};\n\nconst triggerMessage = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n extraParamsQs\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn: string;\n device: string;\n offer: string;\n rockmanId: string;\n search: string;\n extraParamsQs: string;\n}): Promise<IMSISDNSubmissionResult> => {\n // introduced https://www.notion.so/sammedia/CH-Agency-Bodkinco-Integration-ea1600ad175f451a9d351b6763ad7992\n const partnerAjaxResopnse: {\n form_action: string;\n } = window.api_ajax_url ? await fetch(window.api_ajax_url).then((x) => x.json()) : null;\n\n const params = {\n action: 'trigger-message',\n slug,\n country,\n msisdn,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n page: encodeURIComponent(window?.location?.href),\n sam_g_token: window.reCaptchaToken || '',\n antifraud_id: window.antifraud_id || '',\n language_code: window.languageCode || '',\n partner_form_action: partnerAjaxResopnse?.form_action ? encodeURIComponent(partnerAjaxResopnse?.form_action) : ''\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}&${extraParamsQs}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { getGoogleCaptcha, triggerMessage };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { IConfig } from '../../common-types/Strategy';\nimport { checkSubscriptionByRockmanIdOnly } from '../../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport {\n IGoogleReCaptcha,\n IKeywordShortcode,\n IMSISDNSubmissionResult,\n MoFlowState,\n MSISDNEntryFailure,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoTypes';\nimport { loop } from '../../utilities/helpers';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { getGoogleCaptcha, triggerMessage } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: any = { ...(maybeConfig || {}), offer: window.pac_analytics?.visitor?.offer };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport const getGoogleReCaptchaConfig = async ({\n window,\n slug,\n country,\n device\n}: IConfig & { window: Window }): Promise<IGoogleReCaptcha> => {\n const domain = window.location.hostname;\n const result: IGoogleReCaptcha = await getGoogleCaptcha(window, country, slug, device, domain);\n if (result.success === true) {\n const srcUrl = `https://www.google.com/recaptcha/api.js?render=${result.site_key}`;\n loadScriptSrc({ url: srcUrl, key: result.site_key, isRecaptcha: true });\n }\n return result;\n};\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi)?.join('') || '';\n const { rockmanId } = window.pac_analytics.visitor;\n\n const result: IMSISDNSubmissionResult = await triggerMessage({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string; productUrl: string };\n error.type = type;\n error.productUrl = result.product_url ? result.product_url : '';\n\n console.error(error);\n throw error;\n } else {\n return { ...result, keyword: result.displayKeyword }; // based on discussion with Chanaka to avoid confusion in set up on bupper. Click2sms and mo will use display keyword\n }\n}\n\nexport async function moCheckSubscription(window: Window): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const check: () => Promise<ICheckSubscriptionResult> = () => checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true && checkResult.product_url && checkResult.product_url !== '') {\n window.location.href = checkResult.product_url;\n return checkResult.product_url;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n\n// export const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n// !!window.pac_analytics.visitor['x-requested-with'] &&\n// window.pac_analytics.visitor['x-requested-with'] !== null &&\n// window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n// ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n// : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n// ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n// : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n\nexport const mockedMSISDNEntrySuccess: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n keyword: 'TEST OK',\n shortcode: '777'\n })\n }\n};\n\nexport const mockedMSISDNEntryFailure: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoTypes';\nimport { RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport submitMSISDN, { moCheckSubscription } from './main';\n\nexport interface MoFlowState {\n currentState: {\n type: 'MSISDNEntry';\n result: RDS.RemoteDataState<any, any>; // Replace any with your specific error and data types\n };\n}\n\nconst initialState: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls trigger-message api that returns a short code and key word\n * Sets completed stated\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('moFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Trigger Message\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submission-success', { msisdn });\n // End Trigger Message\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n // Check For Subscription by rockman id and redirect to product url\n moCheckSubscription(window).then((product_url) => {\n tracker.advancedInFlow('tallyman.v1-mo', 'sale', { msisdn });\n setTimeout(() => {\n window.location.href = product_url;\n }, 1000);\n });\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: MSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-mo', 'msisdn-submission-failure', {\n msisdn,\n errorType: errorType || 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nconst moFlowSlice = createSlice({\n name: 'moFlow',\n initialState,\n reducers: {\n backToStartAction(state) {\n tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');\n\n // TODO GO BACK TO IDENTIFY BY MSISDN BASED ON STRATEGY\n state.currentState = { type: 'MSISDNEntry', result: RDS.NothingYet() };\n }\n },\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: moFlowReducer, actions: moFlowActions } = moFlowSlice;\nexport const { backToStartAction } = moFlowActions;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectMoFlowState = (state: any) => state.moFlow;\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Loading","RDS.Failure"],"mappings":";;;;;;;;;;AAGO,IAAM,cAAc,GAAG,UAAC,WAAgC,EAAA;AAC7D,IAAA,IAAM,YAAY,GAAG,WAAW,CAAC,UAAC,KAAgB,EAAK,EAAA,OAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAzB,EAAyB,CAAC,CAAC;AAClF,IAAA,OAAO,YAAY,CAAC;AACtB;;ACHA,SAAS,WAAW,CAAI,EAIvB,EAAA;AAHC,IAAA,IAAA,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA;AAIX,IAAA,OAAO,UAAC,KAAK,EAAA;QACX,QAAQ,KAAK,CAAC,IAAI;AAChB,YAAA,KAAK,aAAa;AAChB,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnC,YAAA;;AAEE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;AACH,KAAC,CAAC;AACJ;;ACDA,IAAM,cAAc,GAAG,UAAO,EAmB7B,EAAA;QAlBC,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,aAAa,GAAA,EAAA,CAAA,aAAA,CAAA;;;;;;;yBAeT,MAAM,CAAC,YAAY,EAAnB,OAAmB,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;oBAAG,OAAM,CAAA,CAAA,YAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,IAAI,EAAE,CAAR,EAAQ,CAAC,CAAA,CAAA;;AAAtD,oBAAA,EAAA,GAAA,SAAsD,CAAA;;;AAAG,oBAAA,EAAA,GAAA,IAAI,CAAA;;;AAFjF,oBAAA,mBAAmB,GAE8D,EAAA,CAAA;AAEjF,oBAAA,MAAM,GAAG;AACb,wBAAA,MAAM,EAAE,iBAAiB;AACzB,wBAAA,IAAI,EAAA,IAAA;AACJ,wBAAA,OAAO,EAAA,OAAA;AACP,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,UAAU,EAAE,SAAS;AACrB,wBAAA,IAAI,EAAE,kBAAkB,CAAC,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC;AAChD,wBAAA,WAAW,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;AACxC,wBAAA,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;AACvC,wBAAA,aAAa,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;wBACxC,mBAAmB,EAAE,CAAA,mBAAmB,KAAnB,IAAA,IAAA,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,IAAG,kBAAkB,CAAC,mBAAmB,KAAnB,IAAA,IAAA,mBAAmB,KAAnB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,mBAAmB,CAAE,WAAW,CAAC,GAAG,EAAE;qBAClH,CAAC;AAEI,oBAAA,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;yBACvC,MAAM,CAAC,UAAC,EAAU,EAAA;AAAV,wBAAA,IAAA,EAAA,GAAA,aAAU,CAAT,CAAC,EAAA,CAAA,CAAA,CAAA,CAAA,KAAE,KAAK,GAAA,EAAA,CAAA,CAAA,EAAA;AAAM,wBAAA,OAAA,KAAK,CAAA;AAAL,qBAAK,CAAC;yBAC7B,GAAG,CAAC,UAAC,EAAY,EAAA;AAAZ,wBAAA,IAAA,EAAA,GAAA,aAAY,EAAX,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAM,wBAAA,OAAA,EAAG,CAAA,MAAA,CAAA,GAAG,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,KAAK,CAAE,CAAA;AAAjB,qBAAiB,CAAC;yBACxC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEP,oBAAA,IAAI,GAAI,MAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;oBAC7C,GAAG,GAAG,UAAG,IAAI,EAAA,gBAAA,CAAA,CAAA,MAAA,CAAiB,WAAW,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,aAAa,CAAE,CAAC;AAEnE,oBAAA,OAAA,CAAA,CAAA,aAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,IAAI,EAAE,CAAR,EAAQ,CAAC,CAAC,CAAA;;;;CACzC;;AChDa,SAAgB,YAAY,CACxC,MAAc,EACd,WAAoB,EACpB,mBAA2B,EAC3B,WAAuC,EAAA;;;;;AAEjC,YAAA,MAAM,0BAAc,WAAW,IAAI,EAAE,MAAG,KAAK,EAAE,MAAA,CAAA,EAAA,GAAA,MAAM,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,GAAE,CAAC;YAC5F,OAAO,CAAA,CAAA,aAAA,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAA;;;AACjF,CAAA;AAiBK,SAAgB,sBAAsB,CAC1C,MAAc,EACd,MAAe,EACf,mBAA2B,EAC3B,WAAuC,EAAA;;;;;;;AAE/B,oBAAA,IAAI,GAA6B,MAAM,CAAA,IAAnC,EAAE,OAAO,GAAoB,MAAM,CAA1B,OAAA,EAAE,MAAM,GAAY,MAAM,CAAlB,MAAA,EAAE,KAAK,GAAK,MAAM,MAAX,CAAY;AAC1C,oBAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,aAAa,GAAG,CAAC,WAAW;AAChC,0BAAE,EAAE;AACJ,0BAAE,GAAI,CAAA,MAAA,CAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AACzB,6BAAA,GAAG,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,EAAG,CAAA,MAAA,CAAA,CAAC,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,WAAW,CAAC,CAAC,CAAC,CAAE,CAAA,EAAA,CAAC;AACpC,6BAAA,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;AACb,oBAAA,MAAM,GAAG,CAAA,CAAA,EAAA,GAAA,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,EAAE,CAAC,KAAI,EAAE,CAAC;AAC1D,oBAAA,SAAS,GAAK,MAAM,CAAC,aAAa,CAAC,OAAO,UAAjC,CAAkC;AAEX,oBAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AAC3D,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,IAAI,EAAA,IAAA;AACJ,4BAAA,OAAO,EAAA,OAAA;AACP,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,KAAK,EAAA,KAAA;AACL,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,aAAa,EAAA,aAAA;AACd,yBAAA,CAAC,CAAA,CAAA;;AAVI,oBAAA,MAAM,GAA4B,EAUtC,CAAA,IAAA,EAAA,CAAA;AAEF,oBAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;AACtB,wBAAA,IAAI,GAAG,MAAM,CAAC,OAAO,KAAK,oBAAoB,GAAG,mBAAmB,GAAG,eAAe,CAAC;AACvF,wBAAA,KAAK,GAAG,IAAI,KAAK,CAAC,EAAG,CAAA,MAAA,CAAA,IAAI,EAAM,KAAA,CAAA,CAAA,MAAA,CAAA,MAAM,CAAC,OAAO,CAAE,CAAkD,CAAC;AACxG,wBAAA,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB,wBAAA,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,GAAG,EAAE,CAAC;AAEhE,wBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,wBAAA,MAAM,KAAK,CAAC;AACb,qBAAA;AAAM,yBAAA;wBACL,OAAY,CAAA,CAAA,aAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,MAAM,KAAE,OAAO,EAAE,MAAM,CAAC,cAAc,EAAG,CAAA,CAAA,CAAA;AACtD,qBAAA;;;;AACF,CAAA;AAEK,SAAgB,mBAAmB,CAAC,MAAc,EAAA;;;;;;AAC9C,oBAAA,SAAS,GAAK,MAAM,CAAC,aAAa,CAAC,OAAO,UAAjC,CAAkC;AAC7C,oBAAA,KAAK,GAA4C,YAAA,EAAM,OAAA,gCAAgC,CAAC,EAAE,MAAM,EAAA,MAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC,CAAA,EAAA,CAAC;AAEvE,oBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,OAAO,CAAA,EAAA,EAAE,CAAC,CAAC,CAAA,CAAA;;AAAlF,oBAAA,WAAW,GAA6B,EAA0C,CAAA,IAAA,EAAA,CAAA;AAExF,oBAAA,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,EAAE,EAAE;wBAC7F,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC;wBAC/C,OAAO,CAAA,CAAA,aAAA,WAAW,CAAC,WAAW,CAAC,CAAA;AAChC,qBAAA;AACK,oBAAA,KAAK,GAAG,IAAI,KAAK,CAAC,EAAG,CAAA,MAAA,CAAA,oBAAoB,EAAM,KAAA,CAAA,CAAA,MAAA,CAAA,WAAW,CAAC,OAAO,CAAE,CAA8B,CAAC;AACzG,oBAAA,KAAK,CAAC,IAAI,GAAG,oBAAoB,CAAC;AAClC,oBAAA,MAAM,KAAK,CAAC;;;;AACb;;AC3ED,IAAM,YAAY,GAAgB;AAChC,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,MAAM,EAAEA,UAAc,EAAE;AACzB,KAAA;CACF,CAAC;AAOF;;;;;;AAMG;AACU,IAAA,kBAAkB,GAAG,gBAAgB,CAMhD,2BAA2B,EAAE,UAAO,EAA+B,EAAE,EAA6B,EAAA;AAA5D,IAAA,IAAA,MAAM,YAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA;QAAM,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAAA,CAAA;;;;;;oBAC1F,KAAK,GAAc,QAAQ,EAAE,CAAC;oBAE5B,MAAM,GAAK,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAA,MAArC,CAAsC;;;;;AAIlD,oBAAA,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;oBAC7C,OAAM,CAAA,CAAA,YAAA,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA,CAAA;;AAA7E,oBAAA,mBAAmB,GAAG,EAAuD,CAAA,IAAA,EAAA,CAAA;AACnF,oBAAA,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;AAK9E,oBAAA,IAAA,EAAA,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,MAAM,CAAA,EAA5E,OAA4E,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;oBAC9E,OAAM,CAAA,CAAA,YAAA,WAAW,CAAC,MAAM,CAAC;6BACtB,IAAI,CAAC,UAAC,IAAS,EAAA;4BACd,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gCAC1C,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;AACtE,6BAAA;AAAM,iCAAA;gCACL,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;AACrE,6BAAA;AACH,yBAAC,CAAC;6BACD,KAAK,CAAC,UAAC,KAAK,EAAA;4BACX,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC5E,yBAAC,CAAC,CAAA,CAAA;;AAVJ,oBAAA,EAAA,CAAA,IAAA,EAUI,CAAC;;;;;AAKP,oBAAA,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAC,WAAW,EAAA;AAC3C,wBAAA,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;AAC7D,wBAAA,UAAU,CAAC,YAAA;AACT,4BAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;yBACpC,EAAE,IAAI,CAAC,CAAC;AACX,qBAAC,CAAC,CAAC;oBAEH,OAAO,CAAA,CAAA,aAAA;AACL,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAEC,OAAW,CAAA,QAAA,CAAA,EAAA,EAA8C,mBAAmB,CAAG,CAAA;yBACxF,CAAC,CAAA;;;AAEF,oBAAA,OAAO,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC;AACb,oBAAA,SAAS,SAAuB,CAAC;oBACrC,QAAQ,IAAE,CAAC,IAAI;AACb,wBAAA,KAAK,mBAAmB;4BACtB,SAAS,GAAG,mBAAmB,CAAC;4BAChC,MAAM;AACR,wBAAA,KAAK,eAAe;4BAClB,SAAS,GAAG,eAAe,CAAC;4BAC5B,MAAM;AACR,wBAAA;4BACE,SAAS,GAAG,cAAc,CAAC;AAC9B,qBAAA;AAED,oBAAA,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,2BAA2B,EAAE;AAClE,wBAAA,MAAM,EAAA,MAAA;wBACN,SAAS,EAAE,SAAS,IAAI,cAAc;AACvC,qBAAA,CAAC,CAAC;AAEH,oBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,4BAAA,SAAS,EAAA,SAAA;4BACT,UAAU,EAAE,IAAE,CAAC,UAAU;AAC1B,yBAAA,CAAC,CAAC,CAAA;;;;;AAEN,CAAA,EAAE;AAEH,IAAM,WAAW,GAAG,WAAW,CAAC;AAC9B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,YAAY,EAAA,YAAA;AACZ,IAAA,QAAQ,EAAE;AACR,QAAA,iBAAiB,YAAC,KAAK,EAAA;YACrB,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAU,EAAE,kCAAkC,CAAC,CAAC;;AAGvF,YAAA,KAAK,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAED,UAAc,EAAE,EAAE,CAAC;SACxE;AACF,KAAA;IACD,aAAa,EAAE,UAAC,OAAO,EAAA;QACrB,OAAO;AACJ,aAAA,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAC,KAAK,EAAA;AACzC,YAAA,KAAK,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAEE,OAAW,EAAE,EAAE,CAAC;AACtE,SAAC,CAAC;aACD,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAC,KAAK,EAAE,MAAuC,EAAA;AACpF,YAAA,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;AACtC,SAAC,CAAC;aACD,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAC,KAAK,EAAE,MAAyC,EAAA;YACrF,KAAK,CAAC,YAAY,GAAG;AACnB,gBAAA,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAEC,OAAW,CAAC,MAAM,CAAC,OAAO,CAAC;aACpC,CAAC;AACJ,SAAC,CAAC,CAAC;KACN;AACF,CAAA,CAAC,CAAC;AAEH;AACwB,IAAA,aAAa,GAA6B,WAAW,CAAxC,OAAA,CAAA,CAAW,aAAa,GAAK,WAAW,CAAA,QAAC;AAC/D,IAAA,iBAAiB,GAAK,aAAa;;;;"}
1
+ {"version":3,"file":"moFlow.js","sources":["../src/flows/moFlow/hooks/useMoFlowState.ts","../src/flows/moFlow/match.ts","../src/flows/moFlow/api.ts","../src/flows/moFlow/main.ts","../src/flows/moFlow/moFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useMoFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.moFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MoFlowCurrentState, MSISDNEntryFailure, MSISDNEntrySuccess } from '../../sharedFlowTypes/MoTypes';\n\nfunction moFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: MoFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { moFlowMatch };\n","import { IGoogleReCaptcha, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\n\nconst getGoogleCaptcha = async (\n window: Window,\n country: string,\n slug: string,\n device: string,\n domain: string\n): Promise<IGoogleReCaptcha> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n return fetch(\n `${host}/tallyman/helper/?action=google-captcha-v3-config&country=${country}&slug=${slug}&device=${device}&domain=${domain}`\n ).then((x) => x.json());\n};\n\nconst triggerMessage = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n extraParamsQs\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn: string;\n device: string;\n offer: string;\n rockmanId: string;\n search: string;\n extraParamsQs: string;\n}): Promise<IMSISDNSubmissionResult> => {\n // introduced https://www.notion.so/sammedia/CH-Agency-Bodkinco-Integration-ea1600ad175f451a9d351b6763ad7992\n const partnerAjaxResopnse: {\n form_action: string;\n } = window.api_ajax_url ? await fetch(window.api_ajax_url).then((x) => x.json()) : null;\n\n const params = {\n action: 'trigger-message',\n slug,\n country,\n msisdn,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n page: encodeURIComponent(window?.location?.href),\n sam_g_token: window.reCaptchaToken || '',\n antifraud_id: window.antifraud_id || '',\n language_code: window.languageCode || '',\n partner_form_action: partnerAjaxResopnse?.form_action ? encodeURIComponent(partnerAjaxResopnse?.form_action) : ''\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}&${extraParamsQs}`;\n\n return fetch(url).then((x) => x.json());\n};\n\nexport { getGoogleCaptcha, triggerMessage };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { IConfig } from '../../common-types/Strategy';\nimport { checkSubscriptionByRockmanIdOnly } from '../../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport {\n IGoogleReCaptcha,\n IKeywordShortcode,\n IMSISDNSubmissionResult,\n MoFlowState,\n MSISDNEntryFailure,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoTypes';\nimport { loop } from '../../utilities/helpers';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { getGoogleCaptcha, triggerMessage } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: any = { ...(maybeConfig || {}), offer: window.pac_analytics?.visitor?.offer };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport const getGoogleReCaptchaConfig = async ({\n window,\n slug,\n country,\n device\n}: IConfig & { window: Window }): Promise<IGoogleReCaptcha> => {\n const domain = window.location.hostname;\n const result: IGoogleReCaptcha = await getGoogleCaptcha(window, country, slug, device, domain);\n if (result.success === true) {\n const srcUrl = `https://www.google.com/recaptcha/api.js?render=${result.site_key}`;\n loadScriptSrc({ url: srcUrl, key: result.site_key, isRecaptcha: true });\n }\n return result;\n};\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi)?.join('') || '';\n const { rockmanId } = window.pac_analytics.visitor;\n\n const result: IMSISDNSubmissionResult = await triggerMessage({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string; productUrl: string };\n error.type = type;\n error.productUrl = result.product_url ? result.product_url : '';\n\n console.error(error);\n throw error;\n } else {\n return { ...result, keyword: result.displayKeyword }; // based on discussion with Chanaka to avoid confusion in set up on bupper. Click2sms and mo will use display keyword\n }\n}\n\nexport async function moCheckSubscription(window: Window): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const check: () => Promise<ICheckSubscriptionResult> = () => checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true && checkResult.product_url && checkResult.product_url !== '') {\n window.location.href = checkResult.product_url;\n return checkResult.product_url;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n\n// export const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n// !!window.pac_analytics.visitor['x-requested-with'] &&\n// window.pac_analytics.visitor['x-requested-with'] !== null &&\n// window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n// ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n// : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n// ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n// : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n\nexport const mockedMSISDNEntrySuccess: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n keyword: 'TEST OK',\n shortcode: '777'\n })\n }\n};\n\nexport const mockedMSISDNEntryFailure: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoTypes';\nimport { RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport submitMSISDN, { moCheckSubscription } from './main';\n\nexport interface MoFlowState {\n currentState: {\n type: 'MSISDNEntry';\n result: RDS.RemoteDataState<any, any>; // Replace any with your specific error and data types\n };\n}\n\nconst initialState: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls trigger-message api that returns a short code and key word\n * Sets completed stated\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('moFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Trigger Message\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submission-success', { msisdn });\n // End Trigger Message\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n // Check For Subscription by rockman id and redirect to product url\n moCheckSubscription(window).then((product_url) => {\n tracker.advancedInFlow('tallyman.v1-mo', 'sale', { msisdn });\n setTimeout(() => {\n window.location.href = product_url;\n }, 1000);\n });\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: MSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-mo', 'msisdn-submission-failure', {\n msisdn,\n errorType: errorType || 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nconst moFlowSlice = createSlice({\n name: 'moFlow',\n initialState,\n reducers: {\n backToStartAction(state) {\n tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');\n\n // TODO GO BACK TO IDENTIFY BY MSISDN BASED ON STRATEGY\n state.currentState = { type: 'MSISDNEntry', result: RDS.NothingYet() };\n }\n },\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: moFlowReducer, actions: moFlowActions } = moFlowSlice;\nexport const { backToStartAction } = moFlowActions;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectMoFlowState = (state: any) => state.moFlow;\n"],"names":["useMoFlowState","useSelector","state","moFlow","currentState","moFlowMatch","_a","msisdnEntry","type","result","triggerMessage","window","slug","country","msisdn","device","offer","rockmanId","extraParamsQs","api_ajax_url","fetch","then","x","json","_b","_d","partnerAjaxResopnse","params","action","offerId","rockman_id","page","encodeURIComponent","_c","location","href","sam_g_token","reCaptchaToken","antifraud_id","language_code","languageCode","partner_form_action","form_action","queryString","Object","entries","filter","__read","map","key","value","concat","join","host","DEV_BASE_URL","url","submitMSISDN","maybeConfig","internationalMSISDN","extraParams","config","pac_analytics","visitor","submitMSISDNWithConfig","search","substr","keys","k","match","sent","success","message","error","Error","productUrl","product_url","console","__assign","keyword","displayKeyword","initialState","RDS.NothingYet","submitMSISDNAction","createAsyncThunk","getState","rejectWithValue","strategy","data","tracker","advancedInFlow","keywordAndShortcode","storeMsisdn","customEvent","catch","loop","checkSubscriptionByRockmanIdOnly","r","checkResult","moCheckSubscription","setTimeout","RDS.Success","warn","ex_1","errorType","recedeInFlow","moFlowSlice","createSlice","name","reducers","backToStartAction","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","RDS.Failure","moFlowReducer","reducer","actions"],"mappings":"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"}
@@ -1,225 +1,2 @@
1
- import { __awaiter, __generator, __assign } from 'tslib';
2
- import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
3
- import { S as Success, N as NothingYet, L as Loading, F as Failure } from './RemoteDataState-CwHLI23e.js';
4
- import { s as storeMsisdn } from './storeMsisdn-ChiBh8mI.js';
5
- import { t as tracker } from './tracker-B_zsMRN2.js';
6
- import { t as tryGetIPRangeName } from './tryGetIPRangeName-C69HEG5W.js';
7
- import 'pacman-client';
8
- import 'uuid';
9
-
10
- var useMoRedirFlowState = function (useSelector) {
11
- var currentState = useSelector(function (state) { return state.moRedirFlow.currentState; });
12
- return currentState;
13
- };
14
-
15
- function moRedirFlowMatch(_a) {
16
- var msisdnEntry = _a.msisdnEntry;
17
- return function (state) {
18
- switch (state.type) {
19
- case 'MSISDNEntry':
20
- return msisdnEntry(state.result);
21
- default:
22
- // TODO - this should be an error or something
23
- return msisdnEntry(state.result);
24
- }
25
- };
26
- }
27
-
28
- var redirect = function (_a) {
29
- var window = _a.window, slug = _a.slug, country = _a.country, msisdn = _a.msisdn, device = _a.device, offer = _a.offer, rockmanId = _a.rockmanId, ip_range_name = _a.ip_range_name, search = _a.search, extraParamsQs = _a.extraParamsQs, email = _a.email, password = _a.password;
30
- return __awaiter(void 0, void 0, void 0, function () {
31
- var params, host, url;
32
- var _b, _c, _d;
33
- return __generator(this, function (_e) {
34
- params = new URLSearchParams(__assign(__assign(__assign(__assign(__assign(__assign({ action: 'redirect', slug: slug, country: country, device: device, offerId: offer.toString(), rockman_id: rockmanId, page: encodeURIComponent(window.location.href), network_type: ip_range_name ? '' : 'wifi' }, (search && { search: search })), (((_d = (_c = (_b = window.pac_analytics) === null || _b === void 0 ? void 0 : _b.visitor) === null || _c === void 0 ? void 0 : _c.page) === null || _d === void 0 ? void 0 : _d.includes('agency')) && { evinaTi: rockmanId })), (window.securityProcessId && { securityProcessId: window.securityProcessId })), (window.languageCode && { language_code: window.languageCode })), (email && password ? { email: email, password: password } : { msisdn: msisdn })), (extraParamsQs && { extraParams: extraParamsQs }))).toString();
35
- host = window.DEV_BASE_URL || '';
36
- url = "".concat(host, "/tallyman/v1/?").concat(params);
37
- if (slug.includes('za-mtn-beyondvr-r7')) {
38
- return [2 /*return*/, {
39
- success: true,
40
- rockman_id: rockmanId,
41
- redirect_url: url
42
- }];
43
- }
44
- return [2 /*return*/, fetch(url).then(function (x) { return x.json(); })];
45
- });
46
- });
47
- };
48
-
49
- function submitMSISDN(window, maybeConfig, internationalMSISDN, extraParams) {
50
- return __awaiter(this, void 0, void 0, function () {
51
- var config;
52
- return __generator(this, function (_a) {
53
- config = __assign({ offer: window.pac_analytics.visitor.offer }, (maybeConfig || {}));
54
- return [2 /*return*/, submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams)];
55
- });
56
- });
57
- }
58
- function submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams) {
59
- return __awaiter(this, void 0, void 0, function () {
60
- var slug, country, device, offer, search, extraParamsQs, msisdn, visitor, rockmanId, ip_range_name, _a, result, type, error;
61
- return __generator(this, function (_b) {
62
- switch (_b.label) {
63
- case 0:
64
- slug = config.slug, country = config.country, device = config.device, offer = config.offer;
65
- search = window.location.search.substr(1) || '';
66
- extraParamsQs = !extraParams
67
- ? ''
68
- : "&".concat(Object.keys(extraParams)
69
- .map(function (k) { return "".concat(k, "=").concat(extraParams[k]); })
70
- .join('&'));
71
- msisdn = internationalMSISDN.match(/\d+/gi).join('');
72
- visitor = window.pac_analytics.visitor;
73
- rockmanId = visitor.rockmanId;
74
- if (!(country === 'ci')) return [3 /*break*/, 2];
75
- return [4 /*yield*/, tryGetIPRangeName(visitor)];
76
- case 1:
77
- _a = _b.sent();
78
- return [3 /*break*/, 3];
79
- case 2:
80
- _a = null;
81
- _b.label = 3;
82
- case 3:
83
- ip_range_name = _a;
84
- return [4 /*yield*/, redirect({
85
- window: window,
86
- slug: slug,
87
- country: country,
88
- msisdn: msisdn,
89
- device: device,
90
- offer: offer,
91
- rockmanId: rockmanId,
92
- ip_range_name: ip_range_name,
93
- search: search,
94
- extraParamsQs: extraParamsQs
95
- })];
96
- case 4:
97
- result = _b.sent();
98
- if (result.success === false) {
99
- type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';
100
- error = new Error("".concat(type, ":\n").concat(result.message));
101
- error.type = type;
102
- console.error(error);
103
- throw error;
104
- }
105
- else {
106
- return [2 /*return*/, result.redirect_url];
107
- }
108
- }
109
- });
110
- });
111
- }
112
-
113
- var initialState = {
114
- currentState: {
115
- type: 'MSISDNEntry',
116
- result: NothingYet()
117
- }
118
- };
119
- /**
120
- * submitMSISDNAction
121
- * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}
122
-
123
- * Calls redirec api that returns a redirect url
124
- * Sets completed stated
125
- */
126
- var submitMSISDNAction = createAsyncThunk('moRedirFlow/submitMSISDNAction', function (_a, _b) {
127
- var window = _a.window, msisdn = _a.msisdn, extraParams = _a.extraParams;
128
- var getState = _b.getState, rejectWithValue = _b.rejectWithValue;
129
- return __awaiter(void 0, void 0, void 0, function () {
130
- var state, config, href, ex_1, errorType;
131
- return __generator(this, function (_c) {
132
- switch (_c.label) {
133
- case 0:
134
- state = getState();
135
- config = state.strategy.currentState.data.config;
136
- _c.label = 1;
137
- case 1:
138
- _c.trys.push([1, 5, , 6]);
139
- // Start Redirect Api Call
140
- tracker.advancedInFlow('tallyman.v1-mo-redir', 'msisdn-submitted', { msisdn: msisdn });
141
- return [4 /*yield*/, submitMSISDN(window, config, msisdn, extraParams)];
142
- case 2:
143
- href = _c.sent();
144
- tracker.advancedInFlow('tallyman.v1-mo-redir', 'msisdn-submission-success', { msisdn: msisdn });
145
- if (!(extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true')) return [3 /*break*/, 4];
146
- return [4 /*yield*/, storeMsisdn(msisdn)
147
- .then(function (data) {
148
- if (data && data.data && data.data.success) {
149
- tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');
150
- }
151
- else {
152
- tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');
153
- }
154
- })
155
- .catch(function (error) {
156
- tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);
157
- })];
158
- case 3:
159
- _c.sent();
160
- _c.label = 4;
161
- case 4:
162
- // End Store Msisdn
163
- return [2 /*return*/, {
164
- type: 'MSISDNEntry',
165
- result: Success({ href: href })
166
- }];
167
- case 5:
168
- ex_1 = _c.sent();
169
- console.warn(ex_1);
170
- errorType = void 0;
171
- switch (ex_1.type) {
172
- case 'AlreadySubscribed':
173
- errorType = 'AlreadySubscribed';
174
- break;
175
- case 'InvalidMSISDN':
176
- errorType = 'InvalidMSISDN';
177
- break;
178
- default:
179
- errorType = 'UnknownError';
180
- }
181
- tracker.recedeInFlow('tallyman.v1-mo-redir', 'msisdn-submission-failure', {
182
- msisdn: msisdn,
183
- errorType: 'UnknownError'
184
- });
185
- return [2 /*return*/, rejectWithValue({
186
- errorType: errorType,
187
- productUrl: ex_1.productUrl
188
- })];
189
- case 6: return [2 /*return*/];
190
- }
191
- });
192
- });
193
- });
194
- var moRedirFlowSlice = createSlice({
195
- name: 'moRedirFlow',
196
- initialState: initialState,
197
- reducers: {
198
- backToStartAction: function (state) {
199
- tracker.recedeInFlow('tallyman.v1-mo-redir', 'mo-redir-state', 'requested to change phone number');
200
- // TODO GO BACK TO IDENTIFY BY MSISDN BASED ON STRATEGY
201
- state.currentState = { type: 'MSISDNEntry', result: NothingYet() };
202
- }
203
- },
204
- extraReducers: function (builder) {
205
- builder
206
- .addCase(submitMSISDNAction.pending, function (state) {
207
- state.currentState = { type: 'MSISDNEntry', result: Loading() };
208
- })
209
- .addCase(submitMSISDNAction.fulfilled, function (state, action) {
210
- state.currentState = action.payload;
211
- })
212
- .addCase(submitMSISDNAction.rejected, function (state, action) {
213
- state.currentState = {
214
- type: 'MSISDNEntry',
215
- result: Failure(action.payload)
216
- };
217
- });
218
- }
219
- });
220
- // Export reducers and actions
221
- var moRedirFlowReducer = moRedirFlowSlice.reducer, moRedirFlowActions = moRedirFlowSlice.actions;
222
- var backToStartAction = moRedirFlowActions.backToStartAction;
223
-
224
- export { backToStartAction, moRedirFlowMatch, moRedirFlowReducer, submitMSISDNAction, useMoRedirFlowState };
1
+ import{__awaiter as e,__generator as r,__assign as t}from"tslib";import{createAsyncThunk as n,createSlice as a}from"@reduxjs/toolkit";import{S as s,N as o,L as i,F as c}from"./RemoteDataState-lcf8PfJd.js";import{s as u}from"./storeMsisdn-Cjq8_qYH.js";import{t as d}from"./tracker-DaaILhEr.js";import{t as l}from"./tryGetIPRangeName-QW-9NgzE.js";import"pacman-client";import"uuid";var m=function(e){return e((function(e){return e.moRedirFlow.currentState}))};function f(e){var r=e.msisdnEntry;return function(e){return e.type,r(e.result)}}var v=function(n){var a=n.window,s=n.slug,o=n.country,i=n.msisdn,c=n.device,u=n.offer,d=n.rockmanId,l=n.ip_range_name,m=n.search,f=n.extraParamsQs,v=n.email,y=n.password;return e(void 0,void 0,void 0,(function(){var e,n,S,p,w,g;return r(this,(function(r){return e=new URLSearchParams(t(t(t(t(t(t({action:"redirect",slug:s,country:o,device:c,offerId:u.toString(),rockman_id:d,page:encodeURIComponent(a.location.href),network_type:l?"":"wifi"},m&&{search:m}),(null===(g=null===(w=null===(p=a.pac_analytics)||void 0===p?void 0:p.visitor)||void 0===w?void 0:w.page)||void 0===g?void 0:g.includes("agency"))&&{evinaTi:d}),a.securityProcessId&&{securityProcessId:a.securityProcessId}),a.languageCode&&{language_code:a.languageCode}),v&&y?{email:v,password:y}:{msisdn:i}),f&&{extraParams:f})).toString(),n=a.DEV_BASE_URL||"",S="".concat(n,"/tallyman/v1/?").concat(e),s.includes("za-mtn-beyondvr-r7")?[2,{success:!0,rockman_id:d,redirect_url:S}]:[2,fetch(S).then((function(e){return e.json()}))]}))}))};function y(n,a,s,o){return e(this,void 0,void 0,(function(){var e;return r(this,(function(r){return e=t({offer:n.pac_analytics.visitor.offer},a||{}),[2,S(n,e,s,o)]}))}))}function S(t,n,a,s){return e(this,void 0,void 0,(function(){var e,o,i,c,u,d,m,f,y,S,p,w,g;return r(this,(function(r){switch(r.label){case 0:return e=n.slug,o=n.country,i=n.device,c=n.offer,u=t.location.search.substr(1)||"",d=s?"&".concat(Object.keys(s).map((function(e){return"".concat(e,"=").concat(s[e])})).join("&")):"",m=a.match(/\d+/gi).join(""),f=t.pac_analytics.visitor,y=f.rockmanId,"ci"!==o?[3,2]:[4,l(f)];case 1:return S=r.sent(),[3,3];case 2:S=null,r.label=3;case 3:return[4,v({window:t,slug:e,country:o,msisdn:m,device:i,offer:c,rockmanId:y,ip_range_name:S,search:u,extraParamsQs:d})];case 4:if(!1===(p=r.sent()).success)throw w="ALREADY SUBSCRIBED"===p.message?"AlreadySubscribed":"InvalidMSISDN",(g=new Error("".concat(w,":\n").concat(p.message))).type=w,console.error(g),g;return[2,p.redirect_url]}}))}))}var p={currentState:{type:"MSISDNEntry",result:o()}},w=n("moRedirFlow/submitMSISDNAction",(function(t,n){var a=t.window,o=t.msisdn,i=t.extraParams,c=n.getState,l=n.rejectWithValue;return e(void 0,void 0,void 0,(function(){var e,t,n,m,f;return r(this,(function(r){switch(r.label){case 0:e=c(),t=e.strategy.currentState.data.config,r.label=1;case 1:return r.trys.push([1,5,,6]),d.advancedInFlow("tallyman.v1-mo-redir","msisdn-submitted",{msisdn:o}),[4,y(a,t,o,i)];case 2:return n=r.sent(),d.advancedInFlow("tallyman.v1-mo-redir","msisdn-submission-success",{msisdn:o}),i&&i.storeMsisdn&&"true"===i.storeMsisdn?[4,u(o).then((function(e){e&&e.data&&e.data.success?d.customEvent("Flow","advance-auto","msisdn-stored-success"):d.customEvent("Flow","advance-auto","msisdn-stored-failed")})).catch((function(e){d.customEvent("Flow","advance-auto","msisdn-stored-error",e)}))]:[3,4];case 3:r.sent(),r.label=4;case 4:return[2,{type:"MSISDNEntry",result:s({href:n})}];case 5:switch(m=r.sent(),console.warn(m),f=void 0,m.type){case"AlreadySubscribed":f="AlreadySubscribed";break;case"InvalidMSISDN":f="InvalidMSISDN";break;default:f="UnknownError"}return d.recedeInFlow("tallyman.v1-mo-redir","msisdn-submission-failure",{msisdn:o,errorType:"UnknownError"}),[2,l({errorType:f,productUrl:m.productUrl})];case 6:return[2]}}))}))})),g=a({name:"moRedirFlow",initialState:p,reducers:{backToStartAction:function(e){d.recedeInFlow("tallyman.v1-mo-redir","mo-redir-state","requested to change phone number"),e.currentState={type:"MSISDNEntry",result:o()}}},extraReducers:function(e){e.addCase(w.pending,(function(e){e.currentState={type:"MSISDNEntry",result:i()}})).addCase(w.fulfilled,(function(e,r){e.currentState=r.payload})).addCase(w.rejected,(function(e,r){e.currentState={type:"MSISDNEntry",result:c(r.payload)}}))}}),h=g.reducer,I=g.actions.backToStartAction;export{I as backToStartAction,f as moRedirFlowMatch,h as moRedirFlowReducer,w as submitMSISDNAction,m as useMoRedirFlowState};
225
2
  //# sourceMappingURL=moRedirFlow.js.map