ouisys-engine 4.3.0-alpha.0 → 4.5.0-alpha.0

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 (158) hide show
  1. package/dist/@types/window.d.js +1 -1
  2. package/dist/api/index.d.ts +43 -0
  3. package/dist/api/index.js +1 -728
  4. package/dist/common-types/AppThunk.d.ts +13 -0
  5. package/dist/common-types/AppThunk.js +1 -1
  6. package/dist/common-types/Either.d.ts +8 -0
  7. package/dist/common-types/Either.js +1 -1
  8. package/dist/common-types/IError.d.ts +3 -0
  9. package/dist/common-types/IError.js +1 -1
  10. package/dist/common-types/IOptInFlowName.d.ts +1 -0
  11. package/dist/common-types/ITracker.d.ts +9 -0
  12. package/dist/common-types/ITracker.js +1 -3
  13. package/dist/common-types/IVisitor.d.ts +14 -0
  14. package/dist/common-types/IVisitor.js +1 -1
  15. package/dist/common-types/RemoteDataState.d.ts +38 -0
  16. package/dist/common-types/RemoteDataState.js +1 -135
  17. package/dist/custom-hooks/useOneClickRedirectUrl.d.ts +3 -0
  18. package/dist/custom-hooks/useOneClickRedirectUrl.js +1 -0
  19. package/dist/custom-hooks/usePinEntryState.d.ts +8 -0
  20. package/dist/custom-hooks/usePinEntryState.js +1 -0
  21. package/dist/custom-hooks/useStrategyConfig.d.ts +4 -0
  22. package/dist/custom-hooks/useStrategyConfig.js +1 -0
  23. package/dist/flows/click2smsFlow.d.ts +6 -0
  24. package/dist/flows/click2smsFlow.js +1 -19
  25. package/dist/flows/creditCardFlow.d.ts +6 -0
  26. package/dist/flows/creditCardFlow.js +1 -0
  27. package/dist/flows/moFlow.d.ts +6 -0
  28. package/dist/flows/moFlow.js +1 -19
  29. package/dist/flows/moRedirFlow.d.ts +6 -0
  30. package/dist/flows/moRedirFlow.js +1 -19
  31. package/dist/flows/oneClickFlow.d.ts +7 -0
  32. package/dist/flows/oneClickFlow.js +1 -23
  33. package/dist/flows/pinFlow.d.ts +7 -0
  34. package/dist/flows/pinFlow.js +1 -23
  35. package/dist/flows/strategy.d.ts +14 -0
  36. package/dist/flows/strategy.js +1 -53
  37. package/dist/flows/ussdFlow.d.ts +6 -0
  38. package/dist/flows/ussdFlow.js +1 -19
  39. package/dist/index.d.ts +0 -0
  40. package/dist/index.js +0 -2
  41. package/dist/ips/tryGetIPRangeName.d.ts +2 -0
  42. package/dist/ips/tryGetIPRangeName.js +1 -74
  43. package/dist/jest.config.js +194 -0
  44. package/dist/pacman/index.d.ts +6 -0
  45. package/dist/pacman/index.js +1 -108
  46. package/dist/pacman/queryString.d.ts +3 -0
  47. package/dist/pacman/queryString.js +1 -45
  48. package/dist/reducers/click2smsFlow/Click2smsTypes.d.ts +76 -0
  49. package/dist/reducers/click2smsFlow/Click2smsTypes.js +1 -1
  50. package/dist/reducers/click2smsFlow/IClick2smsConstants.d.ts +2 -0
  51. package/dist/reducers/click2smsFlow/IClick2smsConstants.js +1 -1
  52. package/dist/reducers/click2smsFlow/index.d.ts +5 -0
  53. package/dist/reducers/click2smsFlow/index.js +1 -183
  54. package/dist/reducers/click2smsFlow/utils.d.ts +4 -0
  55. package/dist/reducers/click2smsFlow/utils.js +1 -357
  56. package/dist/reducers/creditCardFlow/CreditCardTypes.d.ts +79 -0
  57. package/dist/reducers/creditCardFlow/CreditCardTypes.js +1 -0
  58. package/dist/reducers/creditCardFlow/ICreditCardConstants.d.ts +2 -0
  59. package/dist/reducers/creditCardFlow/ICreditCardConstants.js +1 -0
  60. package/dist/reducers/creditCardFlow/index.d.ts +5 -0
  61. package/dist/reducers/creditCardFlow/index.js +1 -0
  62. package/dist/reducers/creditCardFlow/utils.d.ts +8 -0
  63. package/dist/reducers/creditCardFlow/utils.js +1 -0
  64. package/dist/reducers/moFlow/IMoConstants.d.ts +2 -0
  65. package/dist/reducers/moFlow/IMoConstants.js +1 -1
  66. package/dist/reducers/moFlow/MoTypes.d.ts +88 -0
  67. package/dist/reducers/moFlow/MoTypes.js +1 -1
  68. package/dist/reducers/moFlow/index.d.ts +16 -0
  69. package/dist/reducers/moFlow/index.js +1 -251
  70. package/dist/reducers/moFlow/utils.d.ts +12 -0
  71. package/dist/reducers/moFlow/utils.js +1 -284
  72. package/dist/reducers/moRedirFlow/IMoRedirConstants.d.ts +2 -0
  73. package/dist/reducers/moRedirFlow/IMoRedirConstants.js +1 -1
  74. package/dist/reducers/moRedirFlow/MoRedirTypes.d.ts +64 -0
  75. package/dist/reducers/moRedirFlow/MoRedirTypes.js +1 -1
  76. package/dist/reducers/moRedirFlow/index.d.ts +14 -0
  77. package/dist/reducers/moRedirFlow/index.js +1 -226
  78. package/dist/reducers/moRedirFlow/utils.d.ts +10 -0
  79. package/dist/reducers/moRedirFlow/utils.js +1 -186
  80. package/dist/reducers/oneClickFlow/IOneClickConstants.d.ts +2 -0
  81. package/dist/reducers/oneClickFlow/IOneClickConstants.js +1 -1
  82. package/dist/reducers/oneClickFlow/OneClickTypes.d.ts +85 -0
  83. package/dist/reducers/oneClickFlow/OneClickTypes.js +1 -1
  84. package/dist/reducers/oneClickFlow/index.d.ts +13 -0
  85. package/dist/reducers/oneClickFlow/index.js +1 -409
  86. package/dist/reducers/oneClickFlow/utils.d.ts +16 -0
  87. package/dist/reducers/oneClickFlow/utils.js +1 -366
  88. package/dist/reducers/pinFlow/IPinConstants.d.ts +2 -0
  89. package/dist/reducers/pinFlow/IPinConstants.js +1 -1
  90. package/dist/reducers/pinFlow/PinTypes.d.ts +156 -0
  91. package/dist/reducers/pinFlow/PinTypes.js +1 -1
  92. package/dist/reducers/pinFlow/index.d.ts +19 -0
  93. package/dist/reducers/pinFlow/index.js +1 -514
  94. package/dist/reducers/pinFlow/utils.d.ts +11 -0
  95. package/dist/reducers/pinFlow/utils.js +1 -494
  96. package/dist/reducers/strategy/IStategyActionContants.d.ts +2 -0
  97. package/dist/reducers/strategy/IStategyActionContants.js +1 -1
  98. package/dist/reducers/strategy/StrategyTypes.d.ts +248 -0
  99. package/dist/reducers/strategy/StrategyTypes.js +1 -1
  100. package/dist/reducers/strategy/index.d.ts +13 -0
  101. package/dist/reducers/strategy/index.js +1 -389
  102. package/dist/reducers/strategy/strategies/ask_mobile_number.d.ts +15 -0
  103. package/dist/reducers/strategy/strategies/ask_mobile_number.js +1 -403
  104. package/dist/reducers/strategy/strategies/ask_operator.d.ts +5 -0
  105. package/dist/reducers/strategy/strategies/ask_operator.js +1 -305
  106. package/dist/reducers/strategy/strategies/detect_operator_by_ip.d.ts +10 -0
  107. package/dist/reducers/strategy/strategies/detect_operator_by_ip.js +1 -459
  108. package/dist/reducers/strategy/strategies/header_enrichment.d.ts +7 -0
  109. package/dist/reducers/strategy/strategies/header_enrichment.js +1 -783
  110. package/dist/reducers/strategy/strategies/injectHeaderEnrichmentScript.d.ts +2 -0
  111. package/dist/reducers/strategy/strategies/injectHeaderEnrichmentScript.js +1 -0
  112. package/dist/reducers/strategy/utils.d.ts +30 -0
  113. package/dist/reducers/strategy/utils.js +1 -702
  114. package/dist/reducers/ussdFlow/IUssdConstants.d.ts +2 -0
  115. package/dist/reducers/ussdFlow/IUssdConstants.js +1 -1
  116. package/dist/reducers/ussdFlow/UssdTypes.d.ts +77 -0
  117. package/dist/reducers/ussdFlow/UssdTypes.js +1 -1
  118. package/dist/reducers/ussdFlow/index.d.ts +14 -0
  119. package/dist/reducers/ussdFlow/index.js +1 -251
  120. package/dist/reducers/ussdFlow/utils.d.ts +11 -0
  121. package/dist/reducers/ussdFlow/utils.js +1 -225
  122. package/dist/store/index.d.ts +14 -0
  123. package/dist/store/index.js +1 -177
  124. package/dist/store/reducers.d.ts +20 -0
  125. package/dist/store/reducers.js +1 -41
  126. package/dist/utilities/addEmpelloToken.d.ts +4 -0
  127. package/dist/utilities/addEmpelloToken.js +1 -0
  128. package/dist/utilities/handleSubmitNumber.d.ts +21 -0
  129. package/dist/utilities/handleSubmitNumber.js +1 -59
  130. package/dist/utilities/index.d.ts +14 -0
  131. package/dist/utilities/index.js +1 -0
  132. package/dist/utilities/loadScriptInnerHtml.d.ts +2 -0
  133. package/dist/utilities/loadScriptInnerHtml.js +1 -0
  134. package/dist/utilities/loadScriptSrc.d.ts +8 -0
  135. package/dist/utilities/loadScriptSrc.js +1 -0
  136. package/dist/utilities/replaceUrlParam.d.ts +1 -0
  137. package/dist/utilities/replaceUrlParam.js +1 -0
  138. package/dist/utilities/storeMsisdn.d.ts +3 -0
  139. package/dist/utilities/storeMsisdn.js +1 -0
  140. package/package.json +1 -1
  141. package/dist/app/store.js +0 -20
  142. package/dist/features/strategies/categories/askMobileNumber.js +0 -388
  143. package/dist/features/strategies/categories/askOperator.js +0 -313
  144. package/dist/features/strategies/categories/detectOperatorByIp.js +0 -599
  145. package/dist/features/strategies/categories/headerEnrichment.js +0 -665
  146. package/dist/features/strategies/categories/singleFlows/pin.js +0 -1
  147. package/dist/features/strategies/identifySlice.js +0 -355
  148. package/dist/features/strategies/pinFlowSlice.js +0 -338
  149. package/dist/flows/tpayHeFlow.js +0 -23
  150. package/dist/mockServer/browser.js +0 -48
  151. package/dist/mockServer/handlers.js +0 -22
  152. package/dist/mockServer/server.js +0 -48
  153. package/dist/reducers/tpayHeFlow/ITpayHeConstants.js +0 -1
  154. package/dist/reducers/tpayHeFlow/TpayHeTypes.js +0 -1
  155. package/dist/reducers/tpayHeFlow/index.js +0 -331
  156. package/dist/reducers/tpayHeFlow/utils.js +0 -510
  157. package/dist/test/setup.js +0 -24
  158. package/dist/test/test-utils.js +0 -51
@@ -1,366 +1 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- require("core-js/modules/es.symbol");
6
-
7
- require("core-js/modules/es.symbol.description");
8
-
9
- require("core-js/modules/es.symbol.iterator");
10
-
11
- require("core-js/modules/es.array.concat");
12
-
13
- require("core-js/modules/es.array.from");
14
-
15
- require("core-js/modules/es.array.iterator");
16
-
17
- require("core-js/modules/es.array.join");
18
-
19
- require("core-js/modules/es.array.map");
20
-
21
- require("core-js/modules/es.array.slice");
22
-
23
- require("core-js/modules/es.function.name");
24
-
25
- require("core-js/modules/es.object.get-own-property-descriptor");
26
-
27
- require("core-js/modules/es.object.keys");
28
-
29
- require("core-js/modules/es.object.to-string");
30
-
31
- require("core-js/modules/es.promise");
32
-
33
- require("core-js/modules/es.regexp.exec");
34
-
35
- require("core-js/modules/es.regexp.to-string");
36
-
37
- require("core-js/modules/es.string.iterator");
38
-
39
- require("core-js/modules/es.string.search");
40
-
41
- require("core-js/modules/es.string.split");
42
-
43
- require("core-js/modules/es.weak-map");
44
-
45
- require("core-js/modules/web.dom-collections.iterator");
46
-
47
- Object.defineProperty(exports, "__esModule", {
48
- value: true
49
- });
50
- exports.mockedSubscribeAjaxState = exports.mockedRedirectUrlSuccessState = exports.getRedirectUrlBupperWay = exports.subscribe = exports.getRedirectUrl = exports.additionalQueryString = void 0;
51
-
52
- require("regenerator-runtime/runtime");
53
-
54
- var RDS = _interopRequireWildcard(require("../../common-types/RemoteDataState"));
55
-
56
- function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
57
-
58
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
59
-
60
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
61
-
62
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
63
-
64
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
65
-
66
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
67
-
68
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
69
-
70
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
71
-
72
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
73
-
74
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
75
-
76
- var additionalQueryString = "msisdnSubmitted=Y&legalCheckbox=Y&incentivizedCheckbox=Y&op_confirmCheckbox=N";
77
- exports.additionalQueryString = additionalQueryString;
78
-
79
- var fetchJsonp = function fetchJsonp(_url) {
80
- var url = _url;
81
- var ouisys_callback_function = "ouisys_callback_function" + Math.floor(Math.random() * 10000);
82
- return new Promise(function (resolve, reject) {
83
- //@ts-ignore
84
- window[ouisys_callback_function] = function (arg) {
85
- resolve(arg);
86
- };
87
-
88
- url += url.indexOf('?') === -1 ? '?' : '&';
89
- url += "jsonp=".concat(ouisys_callback_function);
90
- var script = document.createElement("script");
91
- script.src = url;
92
- script.id = ouisys_callback_function;
93
- document.body.appendChild(script); // Caught if got 404/500
94
-
95
- script.onerror = function () {
96
- reject(new Error("JSONP request to ".concat(_url, " failed")));
97
- };
98
- });
99
- };
100
-
101
- var loadScriptInnerHtml = function loadScriptInnerHtml(innerHTML) {
102
- var script = document.createElement('script');
103
- script.type = 'text/javascript';
104
- script.innerHTML = innerHTML;
105
- document.body.appendChild(script);
106
- console.log('loadScript');
107
- };
108
-
109
- var getRedirectUrl = /*#__PURE__*/function () {
110
- var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(window, maybeConfig, extraParams) {
111
- var host, country, slug, queryString, apiAction, bupperizeCountry, offer, s, search, extraParamsQs, rockmanId, _url2, result, identifyError, _url3, _result, _identifyError, _url4, _result2, _identifyError2;
112
-
113
- return regeneratorRuntime.wrap(function _callee$(_context) {
114
- while (1) {
115
- switch (_context.prev = _context.next) {
116
- case 0:
117
- if (!(typeof window == "undefined")) {
118
- _context.next = 4;
119
- break;
120
- }
121
-
122
- throw "javascript: console.error('SSR'); void 6";
123
-
124
- case 4:
125
- host = maybeConfig.host, country = maybeConfig.country, slug = maybeConfig.slug, queryString = maybeConfig.queryString, apiAction = maybeConfig.apiAction;
126
-
127
- bupperizeCountry = function bupperizeCountry(c) {
128
- return c == 'gb' ? 'uk' : c;
129
- };
130
-
131
- offer = window.pac_analytics.visitor.offer;
132
- s = window.location.search.substr(1);
133
- search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(function (_ref2) {
134
- var _ref3 = _slicedToArray(_ref2, 2),
135
- k = _ref3[0],
136
- v = _ref3[1];
137
-
138
- return "".concat(k, "=").concat(v);
139
- })).join('&');
140
- extraParamsQs = !extraParams ? '' : '&' + Object.keys(extraParams).map(function (k) {
141
- return "".concat(k, "=").concat(extraParams[k]);
142
- }).join('&');
143
- rockmanId = window.pac_analytics.visitor.rockmanId;
144
-
145
- if (!(apiAction == "identify-user")) {
146
- _context.next = 25;
147
- break;
148
- }
149
-
150
- _url2 = "https://de.tallymans.com/tallyman/v1/?action=identify-user&country=".concat(bupperizeCountry(country), "&slug=").concat(slug, "&device=", "smart", "&offerId=").concat(offer, "&rockman_id=").concat(rockmanId).concat(extraParamsQs, "&").concat(search);
151
- _context.next = 15;
152
- return fetchJsonp(_url2);
153
-
154
- case 15:
155
- result = _context.sent;
156
-
157
- if (!(false === result.success)) {
158
- _context.next = 22;
159
- break;
160
- }
161
-
162
- identifyError = new Error("Error in getRedirectUrl() identify-user action:\n".concat(result.message));
163
- identifyError['type'] = "NotOn3g";
164
- throw identifyError;
165
-
166
- case 22:
167
- return _context.abrupt("return", {
168
- subscription_url: result.subscription_url || result.redirect_url,
169
- action: function action() {
170
- return subscribe(result.subscription_url);
171
- }
172
- });
173
-
174
- case 23:
175
- _context.next = 51;
176
- break;
177
-
178
- case 25:
179
- if (!(apiAction == "he")) {
180
- _context.next = 40;
181
- break;
182
- }
183
-
184
- _url3 = "https://de.tallymans.com/tallyman/v1/?action=he&country=".concat(bupperizeCountry(country), "&slug=").concat(slug, "&device=", "smart", "&offerId=").concat(offer, "&rockman_id=").concat(rockmanId).concat(extraParamsQs, "&").concat(search);
185
- _context.next = 29;
186
- return fetch(_url3).then(function (x) {
187
- return x.json();
188
- });
189
-
190
- case 29:
191
- _result = _context.sent;
192
-
193
- if (!(false === _result.success)) {
194
- _context.next = 36;
195
- break;
196
- }
197
-
198
- _identifyError = new Error("Error in getRedirectUrl() identify-user action:\n".concat(_result.message));
199
- _identifyError['type'] = "NotOn3g";
200
- throw _identifyError;
201
-
202
- case 36:
203
- loadScriptInnerHtml(_result.source);
204
- return _context.abrupt("return", {
205
- redirect_url: _result.redirectUrlWithReplacedUniqid
206
- });
207
-
208
- case 38:
209
- _context.next = 51;
210
- break;
211
-
212
- case 40:
213
- _url4 = "https://de.tallymans.com/tallyman/v1/?action=redirect&country=".concat(bupperizeCountry(country), "&slug=").concat(slug, "&device=", "smart", "&offerId=").concat(offer, "&rockman_id=").concat(rockmanId).concat(extraParamsQs, "&").concat(search);
214
- _context.next = 43;
215
- return fetch(_url4).then(function (x) {
216
- return x.json();
217
- });
218
-
219
- case 43:
220
- _result2 = _context.sent;
221
-
222
- if (!(false === _result2.success)) {
223
- _context.next = 50;
224
- break;
225
- }
226
-
227
- _identifyError2 = new Error("Error in getRedirectUrl() identify-user action:\n".concat(_result2.message));
228
- _identifyError2['type'] = "NotOn3g";
229
- throw _identifyError2;
230
-
231
- case 50:
232
- return _context.abrupt("return", {
233
- redirect_url: _result2.redirect_url
234
- });
235
-
236
- case 51:
237
- case "end":
238
- return _context.stop();
239
- }
240
- }
241
- }, _callee);
242
- }));
243
-
244
- return function getRedirectUrl(_x, _x2, _x3) {
245
- return _ref.apply(this, arguments);
246
- };
247
- }();
248
-
249
- exports.getRedirectUrl = getRedirectUrl;
250
-
251
- var subscribe = /*#__PURE__*/function () {
252
- var _ref4 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(url, extraParams) {
253
- var extraParamsQs, result, subscribeError;
254
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
255
- while (1) {
256
- switch (_context2.prev = _context2.next) {
257
- case 0:
258
- extraParamsQs = !extraParams ? '' : '&' + Object.keys(extraParams).map(function (k) {
259
- return "".concat(k, "=").concat(extraParams[k]);
260
- }).join('&');
261
- _context2.next = 3;
262
- return fetch(url + extraParamsQs).then(function (x) {
263
- return x.json();
264
- });
265
-
266
- case 3:
267
- result = _context2.sent;
268
-
269
- if (!(false === result.success)) {
270
- _context2.next = 11;
271
- break;
272
- }
273
-
274
- subscribeError = new Error("Error in subscribe() one-click-subscribe action:\n".concat(result.message));
275
- subscribeError['type'] = result.message == 'ALREADY SUBSCRIBED' ? "AlreadySubscribed" : "SubscriptionError";
276
- subscribeError['productUrl'] = result.product_url ? result.product_url : "";
277
- throw subscribeError;
278
-
279
- case 11:
280
- return _context2.abrupt("return", result.product_url || result.redirect_url);
281
-
282
- case 12:
283
- case "end":
284
- return _context2.stop();
285
- }
286
- }
287
- }, _callee2);
288
- }));
289
-
290
- return function subscribe(_x4, _x5) {
291
- return _ref4.apply(this, arguments);
292
- };
293
- }();
294
-
295
- exports.subscribe = subscribe;
296
-
297
- var getRedirectUrlBupperWay = /*#__PURE__*/function () {
298
- var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(window, maybeConfig, extraParams) {
299
- var host, country, slug, queryString, bupperizeCountry, offer, s, search, extraParamsQs, xcid;
300
- return regeneratorRuntime.wrap(function _callee3$(_context3) {
301
- while (1) {
302
- switch (_context3.prev = _context3.next) {
303
- case 0:
304
- if (!(typeof window == "undefined")) {
305
- _context3.next = 4;
306
- break;
307
- }
308
-
309
- return _context3.abrupt("return", "javascript: console.error('SSR'); void 6");
310
-
311
- case 4:
312
- host = maybeConfig.host, country = maybeConfig.country, slug = maybeConfig.slug, queryString = maybeConfig.queryString;
313
-
314
- bupperizeCountry = function bupperizeCountry(c) {
315
- return c == 'gb' ? 'uk' : c;
316
- };
317
-
318
- offer = window.pac_analytics.visitor.offer;
319
- s = window.location.search.substr(1);
320
- search = (!!s && s.length > 0 ? [s] : []).concat((queryString || []).map(function (_ref6) {
321
- var _ref7 = _slicedToArray(_ref6, 2),
322
- k = _ref7[0],
323
- v = _ref7[1];
324
-
325
- return "".concat(k, "=").concat(v);
326
- })).join('&');
327
- extraParamsQs = !extraParams ? '' : '&' + Object.keys(extraParams).map(function (k) {
328
- return "".concat(k, "=").concat(extraParams[k]);
329
- }).join('&');
330
- console.log("extraParamsQs", extraParamsQs); // one click flow must use http not https
331
-
332
- xcid = window.location.href.split("/")[3].split('?')[0];
333
- return _context3.abrupt("return", "http://".concat(host, "/").concat(bupperizeCountry(country), "/").concat(slug, "?offer=").concat(offer, "&atmobirun=1&rockman_id=").concat(window.pac_analytics.visitor.rockmanId, "&redirPixels=").concat(window.location.host, "&x-xcid=").concat(xcid).concat(extraParamsQs, "&").concat(search, "&"));
334
-
335
- case 13:
336
- case "end":
337
- return _context3.stop();
338
- }
339
- }
340
- }, _callee3);
341
- }));
342
-
343
- return function getRedirectUrlBupperWay(_x6, _x7, _x8) {
344
- return _ref5.apply(this, arguments);
345
- };
346
- }();
347
-
348
- exports.getRedirectUrlBupperWay = getRedirectUrlBupperWay;
349
- var mockedRedirectUrlSuccessState = {
350
- currentState: {
351
- type: "GET_REDIRECT_URL",
352
- //@ts-ignore
353
- result: RDS.Success({
354
- redirectUrl: 'https://www.yahoo.com/'
355
- })
356
- }
357
- };
358
- exports.mockedRedirectUrlSuccessState = mockedRedirectUrlSuccessState;
359
- var mockedSubscribeAjaxState = {
360
- currentState: {
361
- type: "SUBCRIBE_AJAX",
362
- //@ts-ignore
363
- result: RDS.NothingYet()
364
- }
365
- };
366
- exports.mockedSubscribeAjaxState = mockedSubscribeAjaxState;
1
+ "use strict";function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj},_typeof(obj)}require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.from.js"),require("core-js/modules/es.regexp.test.js"),require("core-js/modules/es.symbol.async-iterator.js"),require("core-js/modules/es.symbol.to-string-tag.js"),require("core-js/modules/es.json.to-string-tag.js"),require("core-js/modules/es.math.to-string-tag.js"),require("core-js/modules/es.object.get-prototype-of.js"),require("core-js/modules/es.object.set-prototype-of.js"),require("core-js/modules/es.weak-map.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),Object.defineProperty(exports,"__esModule",{value:!0}),exports.subscribe=exports.mockedSubscribeAjaxState=exports.mockedRedirectUrlSuccessState=exports.getRedirectUrlBupperWay=exports.getRedirectUrl=exports.additionalQueryString=void 0,require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.regexp.exec.js"),require("core-js/modules/es.string.search.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.string.split.js");var RDS=_interopRequireWildcard(require("../../common-types/RemoteDataState")),_loadScriptInnerHtml=_interopRequireDefault(require("../../utilities/loadScriptInnerHtml")),_replaceUrlParam=require("../../utilities/replaceUrlParam"),_utils=require("../strategy/utils");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!==_typeof(obj)&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!=key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}function _regeneratorRuntime(){"use strict";function define(obj,key,value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}),obj[key]}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return generator._invoke=function(innerFn,self,context){var state="suspendedStart";return function(method,arg){if("executing"===state)throw new Error("Generator is already running");if("completed"===state){if("throw"===method)throw arg;return doneResult()}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult}}if("next"===context.method)context.sent=context._sent=context.arg;else if("throw"===context.method){if("suspendedStart"===state)throw state="completed",context.arg;context.dispatchException(context.arg)}else"return"===context.method&&context.abrupt("return",context.arg);state="executing";var record=tryCatch(innerFn,self,context);if("normal"===record.type){if(state=context.done?"completed":"suspendedYield",record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done}}"throw"===record.type&&(state="completed",context.method="throw",context.arg=record.arg)}}}(innerFn,self,context),generator}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)}}catch(err){return{type:"throw",arg:err}}}function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){define(prototype,method,function(arg){return this._invoke(method,arg)})})}function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value&&"object"==_typeof(value)&&hasOwn.call(value,"__await")?PromiseImpl.resolve(value.__await).then(function(value){invoke("next",value,resolve,reject)},function(err){invoke("throw",err,resolve,reject)}):PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result)},function(error){return invoke("throw",error,resolve,reject)})}reject(record.arg)}var previousPromise;this._invoke=function(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){invoke(method,arg,resolve,reject)})}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}}function maybeInvokeDelegate(delegate,context){var method=delegate.iterator[context.method];if(void 0===method){if(context.delegate=null,"throw"===context.method){if(delegate.iterator.return&&(context.method="return",context.arg=void 0,maybeInvokeDelegate(delegate,context),"throw"===context.method))return ContinueSentinel;context.method="throw",context.arg=new TypeError("The iterator does not provide a 'throw' method")}return ContinueSentinel}var record=tryCatch(method,delegate.iterator,context.arg);if("throw"===record.type)return context.method="throw",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,"return"!==context.method&&(context.method="next",context.arg=void 0),context.delegate=null,ContinueSentinel):info:(context.method="throw",context.arg=new TypeError("iterator result is not an object"),context.delegate=null,ContinueSentinel)}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry)}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0)}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;)if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next;return next.value=void 0,next.done=!0,next};return next.next=next}}return{next:doneResult}}function doneResult(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return exports};var exports={},Op=Object.prototype,hasOwn=Op.hasOwnProperty,$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";try{define({},"")}catch(err){define=function(obj,key,value){return obj[key]=value}}exports.wrap=wrap;var ContinueSentinel={},IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,function(){return this});var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);return GeneratorFunction.prototype=GeneratorFunctionPrototype,define(Gp,"constructor",GeneratorFunctionPrototype),define(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,toStringTagSymbol,"GeneratorFunction"),exports.isGeneratorFunction=function(genFun){var ctor="function"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||"GeneratorFunction"===(ctor.displayName||ctor.name))},exports.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,define(genFun,toStringTagSymbol,"GeneratorFunction")),genFun.prototype=Object.create(Gp),genFun},exports.awrap=function(arg){return{__await:arg}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,asyncIteratorSymbol,function(){return this}),exports.AsyncIterator=AsyncIterator,exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){void 0===PromiseImpl&&(PromiseImpl=Promise);var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next()})},defineIteratorMethods(Gp),define(Gp,toStringTagSymbol,"Generator"),define(Gp,iteratorSymbol,function(){return this}),define(Gp,"toString",function(){return"[object Generator]"}),exports.keys=function(object){var keys=[];for(var key in object)keys.push(key);return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next}return next.done=!0,next}},exports.values=values,Context.prototype={constructor:Context,reset:function reset(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this)"t"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=void 0)},stop:function stop(){this.done=!0;var rootRecord=this.tryEntries[0].completion;if("throw"===rootRecord.type)throw rootRecord.arg;return this.rval},dispatchException:function dispatchException(exception){function handle(loc,caught){return record.type="throw",record.arg=exception,context.next=loc,caught&&(context.method="next",context.arg=void 0),!!caught}if(this.done)throw exception;for(var context=this,i=this.tryEntries.length-1;0<=i;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}else if(!hasCatch){if(!hasFinally)throw new Error("try statement without catch or finally");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc)}else if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0)}}},abrupt:function abrupt(type,arg){for(var entry,i=this.tryEntries.length-1;0<=i;--i)if(entry=this.tryEntries[i],entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break}finallyEntry&&("break"===type||"continue"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?(this.method="next",this.next=finallyEntry.finallyLoc,ContinueSentinel):this.complete(record)},complete:function complete(record,afterLoc){if("throw"===record.type)throw record.arg;return"break"===record.type||"continue"===record.type?this.next=record.arg:"return"===record.type?(this.rval=this.arg=record.arg,this.method="return",this.next="end"):"normal"===record.type&&afterLoc&&(this.next=afterLoc),ContinueSentinel},finish:function finish(finallyLoc){for(var entry,i=this.tryEntries.length-1;0<=i;--i)if(entry=this.tryEntries[i],entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel},catch:function _catch(tryLoc){for(var entry,i=this.tryEntries.length-1;0<=i;--i)if(entry=this.tryEntries[i],entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry)}return thrown}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=void 0),ContinueSentinel}},exports}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(o,minLen){if(o){if("string"==typeof o)return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return"Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(o):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(o,minLen):void 0}}function _arrayLikeToArray(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _iterableToArrayLimit(arr,i){var _i=null==arr?null:"undefined"!=typeof Symbol&&arr[Symbol.iterator]||arr["@@iterator"];if(null!=_i){var _s,_e,_arr=[],_n=!0,_d=!1;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done)&&(_arr.push(_s.value),!(i&&_arr.length===i));_n=!0);}catch(err){_d=!0,_e=err}finally{try{_n||null==_i["return"]||_i["return"]()}finally{if(_d)throw _e}}return _arr}}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}var gen=fn.apply(self,args);_next(void 0)})}}var additionalQueryString="msisdnSubmitted=Y&legalCheckbox=Y&incentivizedCheckbox=Y&op_confirmCheckbox=N";exports.additionalQueryString=additionalQueryString;var fetchJsonp=function(_url){var url=_url,ouisys_callback_function="ouisys_callback_function".concat(Math.floor(1e4*Math.random()));return new Promise(function(resolve,reject){window[ouisys_callback_function]=function(arg){resolve(arg)},url+=-1===url.indexOf("?")?"?":"&",url+="jsonp=".concat(ouisys_callback_function);var script=document.createElement("script");script.src=url,script.id=ouisys_callback_function,document.body.appendChild(script),script.onerror=function(){reject(new Error("JSONP request to ".concat(_url," failed")))}})},getRedirectUrl=function(){var _ref2=_asyncToGenerator(_regeneratorRuntime().mark(function _callee(_ref){var window,maybeConfig,extraParams,country,slug,queryString,apiAction,evinaTid,bupperizeCountry,offer,s,search,rockmanId,_url2,result,identifyError,_url3,_result,_identifyError,_window$location,searchObj,_identifyError2,_url4,_result2,_identifyError3;return _regeneratorRuntime().wrap(function _callee$(_context){for(;1;)switch(_context.prev=_context.next){case 0:if(window=_ref.window,maybeConfig=_ref.maybeConfig,extraParams=_ref.extraParams,"undefined"!=typeof window){_context.next=5;break}throw"javascript: console.error('SSR'); void 6";case 5:if(country=maybeConfig.country,slug=maybeConfig.slug,queryString=maybeConfig.queryString,apiAction=maybeConfig.apiAction,evinaTid="undefined"!=typeof window&&window.tid?window.tid:"",bupperizeCountry=function bupperizeCountry(c){return"gb"===c?"uk":c},offer=window.pac_analytics.visitor.offer,s=window.location.search.substr(1),search=(!!s&&0<s.length?[s]:[]).concat((queryString||[]).map(function(_ref3){var _ref4=_slicedToArray(_ref3,2),k=_ref4[0],v=_ref4[1];return"".concat(k,"=").concat(v)})).join("&"),Object.keys(extraParams).forEach(function(element,index){0<search.length&&(search+="&"),search="".concat((0,_replaceUrlParam.replaceUrlParam)(search,element,extraParams[element])).concat(1===index?"&":"")}),rockmanId=window.pac_analytics.visitor.rockmanId,"identify-user"!==apiAction){_context.next=27;break}return _url2="/tallyman/v1/?action=identify-user&country=".concat(bupperizeCountry(country),"&slug=").concat(slug,"&device=","smart","&offerId=").concat(offer,"&rockman_id=").concat(rockmanId,"&sam_evina_tid=").concat(evinaTid,"&").concat(search),_context.next=17,fetchJsonp(_url2);case 17:if(result=_context.sent,!1!==result.success){_context.next=24;break}throw identifyError=new Error("Error in getRedirectUrl() identify-user action:\n".concat(result.message)),identifyError.type="NotOn3g",identifyError;case 24:return _context.abrupt("return",{subscription_url:result.subscription_url||result.redirect_url,action:function action(){return subscribe(result.subscription_url)}});case 25:_context.next=62;break;case 27:if("he"!==apiAction){_context.next=42;break}return _url3="/tallyman/v1/?action=he&country=".concat(bupperizeCountry(country),"&slug=").concat(slug,"&device=","smart","&offerId=").concat(offer,"&rockman_id=").concat(rockmanId,"&sam_evina_tid=").concat(evinaTid,"&").concat(search),_context.next=31,fetch(_url3).then(function(x){return x.json()});case 31:if(_result=_context.sent,!1!==_result.success){_context.next=38;break}throw _identifyError=new Error("Error in getRedirectUrl() identify-user action:\n".concat(_result.message)),_identifyError.type="NotOn3g",_identifyError;case 38:return(0,_loadScriptInnerHtml.default)(_result.source),_context.abrupt("return",{redirect_url:_result.redirectUrlWithReplacedUniqid});case 40:_context.next=62;break;case 42:if("om"!==country.toLowerCase()){_context.next=51;break}if(searchObj=(0,_utils.searchToObject)(),"false"!==searchObj.success){_context.next=50;break}throw _identifyError2=new Error("Error in getRedirectUrl() identify-user"),_identifyError2.type="NotOn3g",_identifyError2;case 50:return _context.abrupt("return",{redirect_url:searchObj.redirect_url||searchObj.url});case 51:return _url4="/tallyman/v1/?action=redirect&country=".concat(bupperizeCountry(country),"&slug=").concat(slug,"&device=","smart","&offerId=").concat(offer,"&rockman_id=").concat(rockmanId,"&page=").concat(encodeURIComponent(null===window||void 0===window||null===(_window$location=window.location)||void 0===_window$location?void 0:_window$location.href),"&sam_evina_tid=").concat(evinaTid,"&").concat(search),_context.next=54,fetch(_url4).then(function(x){return x.json()});case 54:if(_result2=_context.sent,!1!==_result2.success){_context.next=61;break}throw _identifyError3=new Error("Error in getRedirectUrl() identify-user action:\n".concat(_result2.message)),_identifyError3.type="NotOn3g",_identifyError3;case 61:return _context.abrupt("return",{redirect_url:_result2.redirect_url});case 62:case"end":return _context.stop();}},_callee)}));return function getRedirectUrl(_x){return _ref2.apply(this,arguments)}}();exports.getRedirectUrl=getRedirectUrl;var subscribe=function(){var _ref5=_asyncToGenerator(_regeneratorRuntime().mark(function _callee2(url,extraParams){var evinaTid,extraParamsQs,isCleanTraffic,result,subscribeError;return _regeneratorRuntime().wrap(function _callee2$(_context2){for(;1;)switch(_context2.prev=_context2.next){case 0:return evinaTid="undefined"!=typeof window&&window.tid?window.tid:"",extraParamsQs=extraParams?"&".concat(Object.keys(extraParams).map(function(k){return"".concat(k,"=").concat(extraParams[k])}).join("&")):"",isCleanTraffic="undefined"!=typeof window&&!0===window.shouldBlock?"&is-clean-traffic=false":"&is-clean-traffic=true",_context2.next=5,fetch("".concat(url,"&sam_evina_tid=").concat(evinaTid).concat(isCleanTraffic).concat(extraParamsQs)).then(function(x){return x.json()});case 5:if(result=_context2.sent,!1!==result.success){_context2.next=13;break}throw subscribeError=new Error("Error in subscribe() one-click-subscribe action:\n".concat(result.message)),subscribeError.type="ALREADY SUBSCRIBED"===result.message?"AlreadySubscribed":"SubscriptionError",subscribeError.productUrl=result.product_url?result.product_url:"",subscribeError;case 13:return _context2.abrupt("return",result.product_url||result.redirect_url);case 14:case"end":return _context2.stop();}},_callee2)}));return function subscribe(_x2,_x3){return _ref5.apply(this,arguments)}}();exports.subscribe=subscribe;var getRedirectUrlBupperWay=function(){var _ref6=_asyncToGenerator(_regeneratorRuntime().mark(function _callee3(window,maybeConfig,extraParams){var host,country,slug,queryString,bupperizeCountry,offer,s,search,extraParamsQs,xcid,evinaTid;return _regeneratorRuntime().wrap(function _callee3$(_context3){for(;1;)switch(_context3.prev=_context3.next){case 0:if("undefined"!=typeof window){_context3.next=2;break}return _context3.abrupt("return","javascript: console.error('SSR'); void 6");case 2:return host=maybeConfig.host,country=maybeConfig.country,slug=maybeConfig.slug,queryString=maybeConfig.queryString,bupperizeCountry=function bupperizeCountry(c){return"gb"===c?"uk":c},offer=window.pac_analytics.visitor.offer,s=window.location.search.substr(1),search=(!!s&&0<s.length?[s]:[]).concat((queryString||[]).map(function(_ref7){var _ref8=_slicedToArray(_ref7,2),k=_ref8[0],v=_ref8[1];return"".concat(k,"=").concat(v)})).join("&"),extraParamsQs=extraParams?"&".concat(Object.keys(extraParams).map(function(k){return"".concat(k,"=").concat(extraParams[k])}).join("&")):"",xcid=window.location.href.split("/")[3].split("?")[0],evinaTid="undefined"!=typeof window&&window.tid?window.tid:"",_context3.abrupt("return","http://".concat(host,"/").concat(bupperizeCountry(country),"/").concat(slug,"?offer=").concat(offer,"&atmobirun=1&rockman_id=").concat(window.pac_analytics.visitor.rockmanId,"&redirPixels=").concat(window.location.host,"&sam_evina_tid=").concat(evinaTid,"&x-xcid=").concat(xcid).concat(extraParamsQs,"&").concat(search));case 11:case"end":return _context3.stop();}},_callee3)}));return function getRedirectUrlBupperWay(_x4,_x5,_x6){return _ref6.apply(this,arguments)}}();exports.getRedirectUrlBupperWay=getRedirectUrlBupperWay;var mockedRedirectUrlSuccessState={currentState:{type:"GET_REDIRECT_URL",result:RDS.Success({redirectUrl:"/product"})}};exports.mockedRedirectUrlSuccessState=mockedRedirectUrlSuccessState;var mockedSubscribeAjaxState={currentState:{type:"SUBCRIBE_AJAX",result:RDS.NothingYet()}};exports.mockedSubscribeAjaxState=mockedSubscribeAjaxState;
@@ -0,0 +1,2 @@
1
+ declare type IPinConstants = 'PIN_FLOW_MSISDN_SUBMIT' | 'PIN_FLOW_MSISDN_SUBMIT_ERROR' | 'PIN_SUBMIT' | 'BACK_TO_START' | 'PIN_SUBMIT_ERROR' | 'MOCK_PIN_FLOW_STATE';
2
+ export default IPinConstants;
@@ -1 +1 @@
1
- "use strict";
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,156 @@
1
+ import { AppThunk } from '../../common-types/AppThunk';
2
+ import * as RDS from '../../common-types/RemoteDataState';
3
+ export declare type IPinFlowCurrentState = {
4
+ type: 'MSISDNEntry';
5
+ result: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>;
6
+ } | {
7
+ type: 'PINEntry';
8
+ result: RDS.RemoteDataState<PINEntryFailure, PINEntrySuccess>;
9
+ data: IMsisdnSumbitNextData;
10
+ };
11
+ export declare type MSISDNEntryErrorTypes = 'AlreadySubscribed' | 'UnknownError' | 'InvalidMSISDN' | string;
12
+ export declare type MSISDNEntryFailure = {
13
+ errorType: MSISDNEntryErrorTypes;
14
+ error: any;
15
+ productUrl?: string;
16
+ };
17
+ export declare type MSISDNEntrySuccess = {
18
+ type: 'PINEntry';
19
+ result: RDS.RemoteDataState<PINEntryFailure, PINEntrySuccess>;
20
+ };
21
+ export declare type PINEntryFailure = {
22
+ errorType: PINEntryErrorTypes;
23
+ error?: Error;
24
+ productUrl?: string;
25
+ };
26
+ export declare type PINEntrySuccess = {
27
+ finalUrl: string;
28
+ msisdn?: string;
29
+ isAlreadySubscribed?: boolean;
30
+ };
31
+ export declare type PINEntryErrorTypes = 'UnknownError' | 'TooEarly' | 'InvalidPIN' | 'UnexpectedState' | 'SessionBlocked';
32
+ export declare type IMsisdnSumbitNextData = {
33
+ actualPIN: string;
34
+ nextAction: 'submitPinAction';
35
+ msisdn: string;
36
+ pinMaxLength?: number | null;
37
+ operator?: string;
38
+ };
39
+ export declare type IMsisnSubmitActionPayload = {
40
+ type: 'MSISDNEntry';
41
+ result: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>;
42
+ data: IMsisdnSumbitNextData;
43
+ };
44
+ export declare type IMsisdnSubmitErrorPayload = {
45
+ type: 'MSISDNEntry';
46
+ result: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>;
47
+ };
48
+ export declare type IPinSubmitPayload = {
49
+ type: 'PINEntry';
50
+ result: RDS.RemoteDataState<PINEntryFailure, PINEntrySuccess>;
51
+ actualPIN?: string;
52
+ };
53
+ export declare type IPinErrorPayload = {
54
+ type: 'PINEntry';
55
+ result: RDS.RemoteDataState<PINEntryFailure, PINEntrySuccess>;
56
+ };
57
+ export declare type IBackToStartPayload = {
58
+ type: 'MSISDNEntry';
59
+ result: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>;
60
+ };
61
+ export declare type IPinActions = {
62
+ type: 'PIN_FLOW_MSISDN_SUBMIT';
63
+ payload: IMsisnSubmitActionPayload;
64
+ } | {
65
+ type: 'PIN_FLOW_MSISDN_SUBMIT_ERROR';
66
+ payload: IMsisdnSubmitErrorPayload;
67
+ } | {
68
+ type: 'PIN_SUBMIT';
69
+ payload: IPinSubmitPayload;
70
+ } | {
71
+ type: 'BACK_TO_START';
72
+ payload: IBackToStartPayload;
73
+ } | {
74
+ type: 'PIN_SUBMIT_ERROR';
75
+ payload: IPinErrorPayload;
76
+ } | {
77
+ type: 'MOCK_PIN_FLOW_STATE';
78
+ payload: IPinFlowCurrentState;
79
+ };
80
+ export interface IPinFlowReducerState {
81
+ currentState: IPinFlowCurrentState;
82
+ }
83
+ export declare type IConfig = {
84
+ offer?: number;
85
+ slug?: string;
86
+ country?: string;
87
+ host?: string;
88
+ device?: 'smart' | 'feature';
89
+ automaticallySubmitAllOperators?: boolean;
90
+ operators?: string[];
91
+ };
92
+ export declare type IMSISDNSubmissionResult = {
93
+ success: true;
94
+ rockman_id: string;
95
+ pin: string;
96
+ product_url?: string;
97
+ operator: string;
98
+ redirect_to_url?: string;
99
+ javascript?: string;
100
+ } | {
101
+ success: false;
102
+ rockman_id: string;
103
+ message: string;
104
+ product_url?: string;
105
+ };
106
+ export declare type IPINSubmissionResult = {
107
+ success: true;
108
+ rockman_id: string;
109
+ product_url?: string;
110
+ async?: boolean;
111
+ message?: string;
112
+ } | {
113
+ success: false;
114
+ rockman_id: string;
115
+ message: string;
116
+ };
117
+ export declare type ICheckSubscriptionResult = {
118
+ success: false;
119
+ rockman_id: string;
120
+ message: string;
121
+ } | {
122
+ success: true;
123
+ msisdn: string;
124
+ product_url?: string;
125
+ rockman_id: string;
126
+ };
127
+ export interface IHash {
128
+ [key: string]: string;
129
+ }
130
+ export declare type SingleMSISDNSubmissionResult = {
131
+ type: 'SingleMSISDNSubmissionResult';
132
+ operator: string;
133
+ pin?: string;
134
+ uniqidResult?: string;
135
+ redirectUrl?: string;
136
+ };
137
+ export declare type MultiOperatorMSISDNSubmissionResult = {
138
+ type: 'MultiOperatorMSISDNSubmissionResult';
139
+ };
140
+ export declare type IMcpShieldResult = {
141
+ success: true;
142
+ rockman_id: string;
143
+ source: string;
144
+ uniqid: string;
145
+ } | {
146
+ success: false;
147
+ rockman_id: string;
148
+ message: string;
149
+ };
150
+ export declare type IMockPinFlowStates = 'msisdn-state' | 'pin-state' | 'completed-state' | 'msisdn-failure-state';
151
+ export declare type IPinFlowActionMaps = {
152
+ submitMSISDNAction: (msisdn: string, extraParams?: IHash) => AppThunk;
153
+ submitPinAction: (msisdn: string, pin: string, extraParams?: {
154
+ [key: string]: string;
155
+ }) => AppThunk;
156
+ };
@@ -1 +1 @@
1
- "use strict";
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});
@@ -0,0 +1,19 @@
1
+ import { AppThunk } from '../../common-types/AppThunk';
2
+ import * as RDS from '../../common-types/RemoteDataState';
3
+ import { IHash, IMockPinFlowStates, IPinActions, IPinFlowActionMaps, IPinFlowReducerState, MSISDNEntryFailure, MSISDNEntrySuccess } from './PinTypes';
4
+ export declare function submitMSISDNAction(msisdn: string, extraParams?: IHash): AppThunk;
5
+ export declare function checkLoadingAction(): AppThunk;
6
+ export declare function reSubmitMSISDNAction(msisdn: string, extraParams?: IHash): AppThunk;
7
+ export declare function submitPinAction(msisdn: string, pin: string, extraParams?: {
8
+ [key: string]: string;
9
+ }): AppThunk;
10
+ export declare function mockPinFlow(mockState: IMockPinFlowStates): AppThunk;
11
+ export declare function backToStart(): {
12
+ type: string;
13
+ payload: {
14
+ type: string;
15
+ result: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>;
16
+ };
17
+ };
18
+ export declare const PinFlowActionMaps: IPinFlowActionMaps;
19
+ export default function PinFlowReducer(state: IPinFlowReducerState, action: IPinActions): IPinFlowReducerState;