ouisys-engine 4.6.3 → 4.7.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/RemoteDataState-CwHLI23e.js +75 -0
- package/dist/RemoteDataState-CwHLI23e.js.map +1 -0
- package/dist/bupperizeCountry-CCDIOHP6.js +4 -0
- package/dist/bupperizeCountry-CCDIOHP6.js.map +1 -0
- package/dist/checkSubscriptionByRockmanIdOnly-C89Ph9cV.js +27 -0
- package/dist/checkSubscriptionByRockmanIdOnly-C89Ph9cV.js.map +1 -0
- package/dist/checkSubscriptionHander.js +53 -0
- package/dist/checkSubscriptionHander.js.map +1 -0
- package/dist/click2smsFlow.js +246 -0
- package/dist/click2smsFlow.js.map +1 -0
- package/dist/creditCardFlow.js +248 -0
- package/dist/creditCardFlow.js.map +1 -0
- package/dist/getConfig.js +14 -0
- package/dist/getConfig.js.map +1 -0
- package/dist/handleClickChainFlow.js +32 -0
- package/dist/handleClickChainFlow.js.map +1 -0
- package/dist/handleSubmitNumber.js +65 -0
- package/dist/handleSubmitNumber.js.map +1 -0
- package/dist/helpers-J_h-ZgxH.js +29 -0
- package/dist/helpers-J_h-ZgxH.js.map +1 -0
- package/dist/loadScriptInnerHtml-DPcoY467.js +26 -0
- package/dist/loadScriptInnerHtml-DPcoY467.js.map +1 -0
- package/dist/moFlow.js +275 -0
- package/dist/moFlow.js.map +1 -0
- package/dist/moRedirFlow.js +225 -0
- package/dist/moRedirFlow.js.map +1 -0
- package/dist/oneClickFlow.js +464 -0
- package/dist/oneClickFlow.js.map +1 -0
- package/dist/pinFlow.js +697 -0
- package/dist/pinFlow.js.map +1 -0
- package/dist/searchToObject.js +19 -0
- package/dist/searchToObject.js.map +1 -0
- package/dist/storeMsisdn-ChiBh8mI.js +58 -0
- package/dist/storeMsisdn-ChiBh8mI.js.map +1 -0
- package/dist/strategy.js +50 -0
- package/dist/strategy.js.map +1 -0
- package/dist/strategySlice-bF74rxDK.js +842 -0
- package/dist/strategySlice-bF74rxDK.js.map +1 -0
- package/dist/tracker-B_zsMRN2.js +79 -0
- package/dist/tracker-B_zsMRN2.js.map +1 -0
- package/dist/tracker.js +5 -0
- package/dist/tracker.js.map +1 -0
- package/dist/tryGetIPRangeName-C69HEG5W.js +42 -0
- package/dist/tryGetIPRangeName-C69HEG5W.js.map +1 -0
- package/dist/types/CreditCardTypes-B-IT-l6I.d.ts +72 -0
- package/dist/types/IHash-0OgZ_1ij.d.ts +5 -0
- package/dist/types/MoRedirTypes-4tEJjT1g.d.ts +31 -0
- package/dist/types/MoTypes-D-UK92gs.d.ts +45 -0
- package/dist/types/OneClickTypes-DF0jodl-.d.ts +69 -0
- package/dist/types/PinTypes-BLJDBZe6.d.ts +128 -0
- package/dist/types/RemoteDataState-D1aFrz8W.d.ts +61 -0
- package/dist/types/StrategyTypes-BEIYqoJV.d.ts +325 -0
- package/dist/types/UssdTypes-C7QlIW11.d.ts +34 -0
- package/dist/types/checkSubscriptionHander.d.ts +8 -0
- package/dist/types/click2smsFlow.d.ts +37 -0
- package/dist/types/creditCardFlow.d.ts +37 -0
- package/dist/types/getConfig.d.ts +38 -0
- package/dist/types/handleClickChainFlow.d.ts +6 -0
- package/dist/types/handleSubmitNumber.d.ts +26 -0
- package/dist/types/moFlow.d.ts +70 -0
- package/dist/types/moRedirFlow.d.ts +82 -0
- package/dist/types/oneClickFlow.d.ts +56 -0
- package/dist/types/pinFlow.d.ts +179 -0
- package/dist/types/searchToObject.d.ts +3 -0
- package/dist/types/strategy.d.ts +86 -0
- package/dist/types/tracker.d.ts +5 -0
- package/dist/types/ussdFlow.d.ts +84 -0
- package/dist/ussdFlow.js +211 -0
- package/dist/ussdFlow.js.map +1 -0
- package/package.json +85 -9
- package/.babelrc +0 -30
- package/.browserslistrc +0 -6
- package/.eslintrc.js +0 -3
- package/.nvmrc +0 -1
- package/.prettierignore +0 -4
- package/dist/@types/react-tracker.d.js +0 -1
- package/dist/@types/redux-cli-logger.d.js +0 -1
- package/dist/@types/tiny-async-pool.d.js +0 -1
- package/dist/@types/window.d.js +0 -1
- package/dist/api/index.d.ts +0 -43
- package/dist/api/index.js +0 -1
- package/dist/common-types/AppThunk.d.ts +0 -13
- package/dist/common-types/AppThunk.js +0 -1
- package/dist/common-types/Either.d.ts +0 -8
- package/dist/common-types/Either.js +0 -1
- package/dist/common-types/IError.d.ts +0 -3
- package/dist/common-types/IError.js +0 -1
- package/dist/common-types/IOptInFlowName.d.ts +0 -1
- package/dist/common-types/IOptInFlowName.js +0 -1
- package/dist/common-types/ITracker.d.ts +0 -9
- package/dist/common-types/ITracker.js +0 -1
- package/dist/common-types/IVisitor.d.ts +0 -14
- package/dist/common-types/IVisitor.js +0 -1
- package/dist/common-types/RemoteDataState.d.ts +0 -38
- package/dist/common-types/RemoteDataState.js +0 -1
- package/dist/custom-hooks/useOneClickRedirectUrl.d.ts +0 -3
- package/dist/custom-hooks/useOneClickRedirectUrl.js +0 -1
- package/dist/custom-hooks/usePinEntryState.d.ts +0 -8
- package/dist/custom-hooks/usePinEntryState.js +0 -1
- package/dist/custom-hooks/useStrategyConfig.d.ts +0 -4
- package/dist/custom-hooks/useStrategyConfig.js +0 -1
- package/dist/flows/click2smsFlow.d.ts +0 -6
- package/dist/flows/click2smsFlow.js +0 -1
- package/dist/flows/creditCardFlow.d.ts +0 -6
- package/dist/flows/creditCardFlow.js +0 -1
- package/dist/flows/moFlow.d.ts +0 -6
- package/dist/flows/moFlow.js +0 -1
- package/dist/flows/moRedirFlow.d.ts +0 -6
- package/dist/flows/moRedirFlow.js +0 -1
- package/dist/flows/oneClickFlow.d.ts +0 -7
- package/dist/flows/oneClickFlow.js +0 -1
- package/dist/flows/pinFlow.d.ts +0 -7
- package/dist/flows/pinFlow.js +0 -1
- package/dist/flows/strategy.d.ts +0 -14
- package/dist/flows/strategy.js +0 -1
- package/dist/flows/ussdFlow.d.ts +0 -6
- package/dist/flows/ussdFlow.js +0 -1
- package/dist/index.d.ts +0 -0
- package/dist/index.js +0 -1
- package/dist/ips/tryGetIPRangeName.d.ts +0 -2
- package/dist/ips/tryGetIPRangeName.js +0 -1
- package/dist/jest.config.js +0 -194
- package/dist/pacman/index.d.ts +0 -6
- package/dist/pacman/index.js +0 -1
- package/dist/pacman/queryString.d.ts +0 -3
- package/dist/pacman/queryString.js +0 -1
- package/dist/reducers/click2smsFlow/Click2smsTypes.d.ts +0 -76
- package/dist/reducers/click2smsFlow/Click2smsTypes.js +0 -1
- package/dist/reducers/click2smsFlow/IClick2smsConstants.d.ts +0 -2
- package/dist/reducers/click2smsFlow/IClick2smsConstants.js +0 -1
- package/dist/reducers/click2smsFlow/index.d.ts +0 -5
- package/dist/reducers/click2smsFlow/index.js +0 -1
- package/dist/reducers/click2smsFlow/utils.d.ts +0 -4
- package/dist/reducers/click2smsFlow/utils.js +0 -1
- package/dist/reducers/creditCardFlow/CreditCardTypes.d.ts +0 -79
- package/dist/reducers/creditCardFlow/CreditCardTypes.js +0 -1
- package/dist/reducers/creditCardFlow/ICreditCardConstants.d.ts +0 -2
- package/dist/reducers/creditCardFlow/ICreditCardConstants.js +0 -1
- package/dist/reducers/creditCardFlow/index.d.ts +0 -5
- package/dist/reducers/creditCardFlow/index.js +0 -1
- package/dist/reducers/creditCardFlow/utils.d.ts +0 -8
- package/dist/reducers/creditCardFlow/utils.js +0 -1
- package/dist/reducers/moFlow/IMoConstants.d.ts +0 -2
- package/dist/reducers/moFlow/IMoConstants.js +0 -1
- package/dist/reducers/moFlow/MoTypes.d.ts +0 -88
- package/dist/reducers/moFlow/MoTypes.js +0 -1
- package/dist/reducers/moFlow/index.d.ts +0 -16
- package/dist/reducers/moFlow/index.js +0 -1
- package/dist/reducers/moFlow/utils.d.ts +0 -12
- package/dist/reducers/moFlow/utils.js +0 -1
- package/dist/reducers/moRedirFlow/IMoRedirConstants.d.ts +0 -2
- package/dist/reducers/moRedirFlow/IMoRedirConstants.js +0 -1
- package/dist/reducers/moRedirFlow/MoRedirTypes.d.ts +0 -64
- package/dist/reducers/moRedirFlow/MoRedirTypes.js +0 -1
- package/dist/reducers/moRedirFlow/index.d.ts +0 -14
- package/dist/reducers/moRedirFlow/index.js +0 -1
- package/dist/reducers/moRedirFlow/utils.d.ts +0 -10
- package/dist/reducers/moRedirFlow/utils.js +0 -1
- package/dist/reducers/oneClickFlow/IOneClickConstants.d.ts +0 -2
- package/dist/reducers/oneClickFlow/IOneClickConstants.js +0 -1
- package/dist/reducers/oneClickFlow/OneClickTypes.d.ts +0 -85
- package/dist/reducers/oneClickFlow/OneClickTypes.js +0 -1
- package/dist/reducers/oneClickFlow/index.d.ts +0 -13
- package/dist/reducers/oneClickFlow/index.js +0 -1
- package/dist/reducers/oneClickFlow/utils.d.ts +0 -16
- package/dist/reducers/oneClickFlow/utils.js +0 -1
- package/dist/reducers/pinFlow/IPinConstants.d.ts +0 -2
- package/dist/reducers/pinFlow/IPinConstants.js +0 -1
- package/dist/reducers/pinFlow/PinTypes.d.ts +0 -156
- package/dist/reducers/pinFlow/PinTypes.js +0 -1
- package/dist/reducers/pinFlow/index.d.ts +0 -19
- package/dist/reducers/pinFlow/index.js +0 -1
- package/dist/reducers/pinFlow/utils.d.ts +0 -11
- package/dist/reducers/pinFlow/utils.js +0 -1
- package/dist/reducers/strategy/IStategyActionContants.d.ts +0 -2
- package/dist/reducers/strategy/IStategyActionContants.js +0 -1
- package/dist/reducers/strategy/StrategyTypes.d.ts +0 -248
- package/dist/reducers/strategy/StrategyTypes.js +0 -1
- package/dist/reducers/strategy/index.d.ts +0 -13
- package/dist/reducers/strategy/index.js +0 -1
- package/dist/reducers/strategy/strategies/ask_mobile_number.d.ts +0 -15
- package/dist/reducers/strategy/strategies/ask_mobile_number.js +0 -1
- package/dist/reducers/strategy/strategies/ask_operator.d.ts +0 -5
- package/dist/reducers/strategy/strategies/ask_operator.js +0 -1
- package/dist/reducers/strategy/strategies/detect_operator_by_ip.d.ts +0 -10
- package/dist/reducers/strategy/strategies/detect_operator_by_ip.js +0 -1
- package/dist/reducers/strategy/strategies/header_enrichment.d.ts +0 -7
- package/dist/reducers/strategy/strategies/header_enrichment.js +0 -1
- package/dist/reducers/strategy/strategies/injectHeaderEnrichmentScript.d.ts +0 -7
- package/dist/reducers/strategy/strategies/injectHeaderEnrichmentScript.js +0 -1
- package/dist/reducers/strategy/utils.d.ts +0 -30
- package/dist/reducers/strategy/utils.js +0 -1
- package/dist/reducers/ussdFlow/IUssdConstants.d.ts +0 -2
- package/dist/reducers/ussdFlow/IUssdConstants.js +0 -1
- package/dist/reducers/ussdFlow/UssdTypes.d.ts +0 -77
- package/dist/reducers/ussdFlow/UssdTypes.js +0 -1
- package/dist/reducers/ussdFlow/index.d.ts +0 -14
- package/dist/reducers/ussdFlow/index.js +0 -1
- package/dist/reducers/ussdFlow/utils.d.ts +0 -11
- package/dist/reducers/ussdFlow/utils.js +0 -1
- package/dist/store/index.d.ts +0 -14
- package/dist/store/index.js +0 -1
- package/dist/store/reducers.d.ts +0 -20
- package/dist/store/reducers.js +0 -1
- package/dist/utilities/addEmpelloToken.d.ts +0 -4
- package/dist/utilities/addEmpelloToken.js +0 -1
- package/dist/utilities/handleSubmitNumber.d.ts +0 -21
- package/dist/utilities/handleSubmitNumber.js +0 -1
- package/dist/utilities/index.d.ts +0 -17
- package/dist/utilities/index.js +0 -1
- package/dist/utilities/loadScriptInnerHtml.d.ts +0 -2
- package/dist/utilities/loadScriptInnerHtml.js +0 -1
- package/dist/utilities/loadScriptSrc.d.ts +0 -8
- package/dist/utilities/loadScriptSrc.js +0 -1
- package/dist/utilities/replaceUrlParam.d.ts +0 -1
- package/dist/utilities/replaceUrlParam.js +0 -1
- package/dist/utilities/storeMsisdn.d.ts +0 -3
- package/dist/utilities/storeMsisdn.js +0 -1
- package/index.html +0 -49
- package/mockData/config.json +0 -28
- package/setupJest.js +0 -6
- package/tsconfig.json +0 -28
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
import { __awaiter, __generator, __assign } from 'tslib';
|
|
2
|
+
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
3
|
+
import { S as Success, L as Loading, F as Failure, N as NothingYet } from './RemoteDataState-CwHLI23e.js';
|
|
4
|
+
import { l as loadScriptInnerHtml } from './loadScriptInnerHtml-DPcoY467.js';
|
|
5
|
+
import { t as tracker } from './tracker-B_zsMRN2.js';
|
|
6
|
+
import 'pacman-client';
|
|
7
|
+
import 'uuid';
|
|
8
|
+
|
|
9
|
+
var loadScriptSrc = function (_a) {
|
|
10
|
+
var url = _a.url, key = _a.key, _b = _a.isRecaptcha, isRecaptcha = _b === void 0 ? false : _b, callBack = _a.callBack, _c = _a.id, id = _c === void 0 ? '' : _c;
|
|
11
|
+
var script = document.createElement('script');
|
|
12
|
+
script.type = 'text/javascript';
|
|
13
|
+
script.src = url;
|
|
14
|
+
script.id = "injected_script_".concat(id);
|
|
15
|
+
var headElem = document.getElementsByTagName('head')[0];
|
|
16
|
+
headElem.insertBefore(script, headElem.firstChild);
|
|
17
|
+
if (isRecaptcha) {
|
|
18
|
+
script.onload = function () {
|
|
19
|
+
var scriptInner = "\n grecaptcha.ready(function() {\n grecaptcha.execute(\"".concat(key, "\", {action: 'submit'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log(\"-------\" + token);\n });\n });\n ");
|
|
20
|
+
loadScriptInnerHtml(scriptInner, true);
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
script.onerror = function () {
|
|
24
|
+
console.error('Error loading script', url);
|
|
25
|
+
if (callBack) {
|
|
26
|
+
callBack();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
var redirect = function (_a) {
|
|
32
|
+
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;
|
|
33
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
34
|
+
var params, host, url;
|
|
35
|
+
var _b, _c, _d;
|
|
36
|
+
return __generator(this, function (_e) {
|
|
37
|
+
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();
|
|
38
|
+
host = window.DEV_BASE_URL || '';
|
|
39
|
+
url = "".concat(host, "/tallyman/v1/?").concat(params);
|
|
40
|
+
if (slug.includes('za-mtn-beyondvr-r7')) {
|
|
41
|
+
return [2 /*return*/, {
|
|
42
|
+
success: true,
|
|
43
|
+
rockman_id: rockmanId,
|
|
44
|
+
redirect_url: url
|
|
45
|
+
}];
|
|
46
|
+
}
|
|
47
|
+
return [2 /*return*/, fetch(url).then(function (x) { return x.json(); })];
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
var creditCardPayment = function (_a) {
|
|
52
|
+
var window = _a.window, userDetails = _a.userDetails, extraConfig = _a.extraConfig;
|
|
53
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
54
|
+
var isMaxPay, host, apiBaseURL, apiPath, commonDetails, requestOptions;
|
|
55
|
+
var _b;
|
|
56
|
+
return __generator(this, function (_c) {
|
|
57
|
+
isMaxPay = 'cc_number' in userDetails;
|
|
58
|
+
host = window.DEV_BASE_URL_CREDIT_CARD || '';
|
|
59
|
+
apiBaseURL = "".concat(host, "/api/v1");
|
|
60
|
+
apiPath = isMaxPay ? '/maxpay/frontend/initiate-payment' : '/ecardon/frontend/initiate-payment';
|
|
61
|
+
commonDetails = __assign(__assign({ rockman_id: (_b = window.pac_analytics.visitor) === null || _b === void 0 ? void 0 : _b.rockmanId, landing_page_url: window.location.href,
|
|
62
|
+
// Use conditional operation for service_id as it varies
|
|
63
|
+
service_id: isMaxPay ? extraConfig === null || extraConfig === void 0 ? void 0 : extraConfig.serviceId : '2' }, (isMaxPay ? {} : { user_agent: window.navigator.userAgent, ip: window.pac_analytics.visitor.ip })), userDetails);
|
|
64
|
+
requestOptions = {
|
|
65
|
+
method: 'POST',
|
|
66
|
+
headers: new Headers({ 'Content-Type': 'application/json' }),
|
|
67
|
+
body: JSON.stringify(commonDetails)
|
|
68
|
+
};
|
|
69
|
+
return [2 /*return*/, fetch("".concat(apiBaseURL).concat(apiPath), requestOptions).then(function (response) { return response.json(); })];
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
function submitUserDetails(window, config, userDetails) {
|
|
75
|
+
var _a, _b, _c, _d, _e;
|
|
76
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
+
var slug, country, device, serviceId, search, visitor, rockmanId, extraConfig, result, _f, type, error;
|
|
78
|
+
return __generator(this, function (_g) {
|
|
79
|
+
switch (_g.label) {
|
|
80
|
+
case 0:
|
|
81
|
+
slug = config.slug, country = config.country, device = config.device, serviceId = config.serviceId;
|
|
82
|
+
search = window.location.search.substr(1) || '';
|
|
83
|
+
visitor = window.pac_analytics.visitor;
|
|
84
|
+
rockmanId = visitor.rockmanId;
|
|
85
|
+
extraConfig = { serviceId: serviceId };
|
|
86
|
+
if (!((_c = (_b = (_a = window === null || window === void 0 ? void 0 : window.pac_analytics) === null || _a === void 0 ? void 0 : _a.visitor) === null || _b === void 0 ? void 0 : _b.page) === null || _c === void 0 ? void 0 : _c.includes('agency'))) return [3 /*break*/, 2];
|
|
87
|
+
return [4 /*yield*/, redirect({
|
|
88
|
+
window: window,
|
|
89
|
+
slug: slug,
|
|
90
|
+
country: country,
|
|
91
|
+
device: device,
|
|
92
|
+
offer: (_e = (_d = window === null || window === void 0 ? void 0 : window.pac_analytics) === null || _d === void 0 ? void 0 : _d.visitor) === null || _e === void 0 ? void 0 : _e.offer,
|
|
93
|
+
rockmanId: rockmanId,
|
|
94
|
+
email: userDetails === null || userDetails === void 0 ? void 0 : userDetails.email,
|
|
95
|
+
password: userDetails === null || userDetails === void 0 ? void 0 : userDetails.password,
|
|
96
|
+
search: search
|
|
97
|
+
})];
|
|
98
|
+
case 1:
|
|
99
|
+
_f = _g.sent();
|
|
100
|
+
return [3 /*break*/, 4];
|
|
101
|
+
case 2: return [4 /*yield*/, creditCardPayment({ window: window, userDetails: userDetails, extraConfig: extraConfig })];
|
|
102
|
+
case 3:
|
|
103
|
+
_f = _g.sent();
|
|
104
|
+
_g.label = 4;
|
|
105
|
+
case 4:
|
|
106
|
+
result = _f;
|
|
107
|
+
if (result.success === false) {
|
|
108
|
+
type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : result.message;
|
|
109
|
+
error = new Error("".concat(type, ":\n").concat(result.message));
|
|
110
|
+
error.type = type;
|
|
111
|
+
console.error(error);
|
|
112
|
+
throw error;
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
return [2 /*return*/, {
|
|
116
|
+
gateway_url: result.gateway_url || result.redirect_url,
|
|
117
|
+
method: result.redirect_url ? 'redirection' : result.method
|
|
118
|
+
}];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
var initialState = {
|
|
126
|
+
currentState: {
|
|
127
|
+
type: 'USER_DETAILS_ENTRY',
|
|
128
|
+
result: NothingYet()
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* submitUserDetailsAction
|
|
133
|
+
* @returns {type: ' 'pinFlow/submitUserDetailsAction', payload: {type: PossibleTypes, result: USERDETAILSEntryState}}
|
|
134
|
+
|
|
135
|
+
* Calls redirect or max api and returns a url
|
|
136
|
+
*
|
|
137
|
+
*/
|
|
138
|
+
var submitUserDetailsAction = createAsyncThunk('creditCardFlow/submitUserDetailsAction', function (_a, _b) {
|
|
139
|
+
var window = _a.window, userDetails = _a.userDetails;
|
|
140
|
+
var getState = _b.getState, rejectWithValue = _b.rejectWithValue;
|
|
141
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
142
|
+
var state, config, _c, gateway_url_1, method, ex_1, errorType;
|
|
143
|
+
return __generator(this, function (_d) {
|
|
144
|
+
switch (_d.label) {
|
|
145
|
+
case 0:
|
|
146
|
+
state = getState();
|
|
147
|
+
config = state.strategy.currentState.data.config;
|
|
148
|
+
_d.label = 1;
|
|
149
|
+
case 1:
|
|
150
|
+
_d.trys.push([1, 3, , 4]);
|
|
151
|
+
// Start Credit Card API
|
|
152
|
+
tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submitted', { email: userDetails === null || userDetails === void 0 ? void 0 : userDetails.email });
|
|
153
|
+
return [4 /*yield*/, submitUserDetails(window, config, userDetails)];
|
|
154
|
+
case 2:
|
|
155
|
+
_c = _d.sent(), gateway_url_1 = _c.gateway_url, method = _c.method;
|
|
156
|
+
tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submission-success', {
|
|
157
|
+
email: userDetails === null || userDetails === void 0 ? void 0 : userDetails.email,
|
|
158
|
+
gateway_url: gateway_url_1
|
|
159
|
+
});
|
|
160
|
+
// Start Credit Card API
|
|
161
|
+
if (method === 'jslink' && gateway_url_1) {
|
|
162
|
+
tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-start', { gateway_url: gateway_url_1 });
|
|
163
|
+
loadScriptSrc({
|
|
164
|
+
id: 'ecardon-credit-card',
|
|
165
|
+
url: gateway_url_1,
|
|
166
|
+
callBack: function () {
|
|
167
|
+
tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-success', { gateway_url: gateway_url_1 });
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
if (method === 'redirection' && gateway_url_1) {
|
|
172
|
+
tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: gateway_url_1 });
|
|
173
|
+
window.location.href = gateway_url_1;
|
|
174
|
+
}
|
|
175
|
+
return [2 /*return*/, {
|
|
176
|
+
type: 'USER_DETAILS_ENTRY',
|
|
177
|
+
result: Success({ gateway_url: gateway_url_1, method: method })
|
|
178
|
+
}];
|
|
179
|
+
case 3:
|
|
180
|
+
ex_1 = _d.sent();
|
|
181
|
+
console.warn(ex_1);
|
|
182
|
+
errorType = void 0;
|
|
183
|
+
switch (ex_1.type) {
|
|
184
|
+
case 'AlreadySubscribed':
|
|
185
|
+
errorType = 'AlreadySubscribed';
|
|
186
|
+
break;
|
|
187
|
+
case 'InvalidUserDetails':
|
|
188
|
+
errorType = 'InvalidUserDetails';
|
|
189
|
+
break;
|
|
190
|
+
default:
|
|
191
|
+
errorType = 'UnknownError';
|
|
192
|
+
}
|
|
193
|
+
tracker.recedeInFlow('tallyman.v1-credit-card', 'cc-form-submission-failure', {
|
|
194
|
+
email: userDetails === null || userDetails === void 0 ? void 0 : userDetails.email,
|
|
195
|
+
errorType: errorType || ex_1.type
|
|
196
|
+
});
|
|
197
|
+
return [2 /*return*/, rejectWithValue({
|
|
198
|
+
errorType: errorType,
|
|
199
|
+
error: ex_1.toString()
|
|
200
|
+
})];
|
|
201
|
+
case 4: return [2 /*return*/];
|
|
202
|
+
}
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
});
|
|
206
|
+
var creditCardFlowSlice = createSlice({
|
|
207
|
+
name: 'creditCardFlow',
|
|
208
|
+
initialState: initialState,
|
|
209
|
+
reducers: {},
|
|
210
|
+
extraReducers: function (builder) {
|
|
211
|
+
builder
|
|
212
|
+
.addCase(submitUserDetailsAction.pending, function (state) {
|
|
213
|
+
state.currentState = { type: 'USER_DETAILS_ENTRY', result: Loading() };
|
|
214
|
+
})
|
|
215
|
+
.addCase(submitUserDetailsAction.fulfilled, function (state, action) {
|
|
216
|
+
state.currentState = action.payload;
|
|
217
|
+
})
|
|
218
|
+
.addCase(submitUserDetailsAction.rejected, function (state, action) {
|
|
219
|
+
state.currentState = {
|
|
220
|
+
type: 'USER_DETAILS_ENTRY',
|
|
221
|
+
result: Failure(action.payload)
|
|
222
|
+
};
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
// Export reducers and actions
|
|
227
|
+
var creditCardFlowReducer = creditCardFlowSlice.reducer; creditCardFlowSlice.actions;
|
|
228
|
+
|
|
229
|
+
var useCreditCardFlowState = function (useSelector) {
|
|
230
|
+
var currentState = useSelector(function (state) { return state.creditCardFlow.currentState; });
|
|
231
|
+
return currentState;
|
|
232
|
+
};
|
|
233
|
+
|
|
234
|
+
function creditCardFlowMatch(_a) {
|
|
235
|
+
var userDetailsEntry = _a.userDetailsEntry;
|
|
236
|
+
return function (state) {
|
|
237
|
+
switch (state.type) {
|
|
238
|
+
case 'USER_DETAILS_ENTRY':
|
|
239
|
+
return userDetailsEntry(state.result);
|
|
240
|
+
default:
|
|
241
|
+
// TODO - this should be an error or something
|
|
242
|
+
return userDetailsEntry(state.result);
|
|
243
|
+
}
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export { creditCardFlowMatch, creditCardFlowReducer, submitUserDetailsAction, useCreditCardFlowState };
|
|
248
|
+
//# sourceMappingURL=creditCardFlow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"creditCardFlow.js","sources":["../src/utilities/loadScriptSrc.ts","../src/flows/creditCardFlow/api.ts","../src/flows/creditCardFlow/main.ts","../src/flows/creditCardFlow/creditCardFlowSlice.ts","../src/flows/creditCardFlow/hooks/useCreditCardFlowState.ts","../src/flows/creditCardFlow/match.ts"],"sourcesContent":["import { loadScriptInnerHtml } from './loadScriptInnerHtml';\n\nconst loadScriptSrc = ({\n url,\n key,\n isRecaptcha = false,\n callBack,\n id = ''\n}: {\n url: string;\n key?: string;\n isRecaptcha?: boolean;\n callBack?: () => void;\n id?: string;\n}) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = url;\n script.id = `injected_script_${id}`;\n const headElem = document.getElementsByTagName('head')[0];\n headElem.insertBefore(script, headElem.firstChild);\n\n if (isRecaptcha) {\n script.onload = () => {\n const scriptInner = `\n grecaptcha.ready(function() {\n grecaptcha.execute(\"${key}\", {action: 'submit'}).then(function(token) {\n // To be used by tallyman\n window.reCaptchaToken = token;\n console.log(\"-------\" + token);\n });\n });\n `;\n loadScriptInnerHtml(scriptInner, true);\n };\n }\n\n script.onerror = () => {\n console.error('Error loading script', url);\n if (callBack) {\n callBack();\n }\n };\n};\n\nexport default loadScriptSrc;\n","import { IUserDetails, IUserDetailsEcardon, IUserDetailsSubmissionResult } from '../../sharedFlowTypes/CreditCardTypes';\nimport { IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoRedirTypes';\n\nconst redirect = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n ip_range_name,\n search,\n extraParamsQs,\n email,\n password\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn?: string;\n device: string;\n offer: string;\n rockmanId: string;\n ip_range_name?: string;\n search: string;\n extraParamsQs?: string;\n email?: string;\n password?: string;\n}): Promise<IMSISDNSubmissionResult> => {\n const params = new URLSearchParams({\n action: 'redirect',\n slug,\n country,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n page: encodeURIComponent(window.location.href),\n network_type: ip_range_name ? '' : 'wifi',\n ...(search && { search }),\n ...(window.pac_analytics?.visitor?.page?.includes('agency') && { evinaTi: rockmanId }),\n ...(window.securityProcessId && { securityProcessId: window.securityProcessId }),\n ...(window.languageCode && { language_code: window.languageCode }),\n ...(email && password ? { email, password } : { msisdn }),\n ...(extraParamsQs && { extraParams: extraParamsQs })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}`;\n\n if (slug.includes('za-mtn-beyondvr-r7')) {\n return {\n success: true,\n rockman_id: rockmanId,\n redirect_url: url\n };\n }\n\n return fetch(url).then((x) => x.json());\n};\n\nconst creditCardPayment = async ({\n window,\n userDetails,\n extraConfig\n}: {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n extraConfig?: { serviceId: string };\n}): Promise<IUserDetailsSubmissionResult> => {\n const isMaxPay = 'cc_number' in userDetails;\n const host = window.DEV_BASE_URL_CREDIT_CARD || '';\n const apiBaseURL = `${host}/api/v1`;\n const apiPath = isMaxPay ? '/maxpay/frontend/initiate-payment' : '/ecardon/frontend/initiate-payment';\n\n // Common userDetails properties\n const commonDetails = {\n rockman_id: window.pac_analytics.visitor?.rockmanId,\n landing_page_url: window.location.href,\n // Use conditional operation for service_id as it varies\n service_id: isMaxPay ? extraConfig?.serviceId : '2',\n ...(isMaxPay ? {} : { user_agent: window.navigator.userAgent, ip: window.pac_analytics.visitor.ip }),\n ...userDetails\n };\n\n const requestOptions = {\n method: 'POST',\n headers: new Headers({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(commonDetails)\n };\n\n return fetch(`${apiBaseURL}${apiPath}`, requestOptions).then((response) => response.json());\n};\n\nexport { redirect, creditCardPayment };\n","import { IError } from '../../common-types/IError';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowState,\n IUserDetails,\n IUserDetailsEcardon,\n IUserDetailsSubmissionResult,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess\n} from '../../sharedFlowTypes/CreditCardTypes';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { creditCardPayment, redirect } from './api';\n\nexport async function submitUserDetails(\n window: Window,\n config: IConfig,\n userDetails: IUserDetails | IUserDetailsEcardon\n): Promise<{\n gateway_url: string;\n method: string;\n}> {\n const { slug, country, device, serviceId } = config;\n const search = window.location.search.substr(1) || '';\n const { visitor } = window.pac_analytics;\n\n const { rockmanId } = visitor;\n const extraConfig = { serviceId };\n const result: IUserDetailsSubmissionResult = window?.pac_analytics?.visitor?.page?.includes('agency')\n ? await redirect({\n window,\n slug,\n country,\n device,\n offer: window?.pac_analytics?.visitor?.offer,\n rockmanId,\n email: userDetails?.email,\n password: userDetails?.password,\n search\n })\n : await creditCardPayment({ window, userDetails, extraConfig });\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : result.message;\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n console.error(error);\n throw error;\n } else {\n return {\n gateway_url: result.gateway_url || result.redirect_url,\n method: result.redirect_url ? 'redirection' : result.method\n };\n }\n}\n\nexport const mockedUserDetailsEntrySuccess: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n gateway_url: 'https://www.google.com',\n method: 'jslink'\n })\n }\n};\n\nexport const mockedUserDetailsEntryFailure: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({\n errorType: 'AlreadySubscribed',\n error: 'Already Subscribed'\n })\n }\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowState,\n IUserDetails,\n IUserDetailsEcardon,\n SubmitUserDetailsErrorTypes,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess,\n USERDETAILSEntryState\n} from '../../sharedFlowTypes/CreditCardTypes';\nimport { RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { tracker } from '../../utilities/tracker';\nimport { submitUserDetails } from './main';\n\nconst initialState: CreditCardFlowState = {\n currentState: {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.NothingYet()\n }\n};\n\ninterface SubmitUserDetailsArgs {\n window: Window;\n userDetails: IUserDetails | IUserDetailsEcardon;\n}\n/**\n * submitUserDetailsAction\n * @returns {type: ' 'pinFlow/submitUserDetailsAction', payload: {type: PossibleTypes, result: USERDETAILSEntryState}}\n \n * Calls redirect or max api and returns a url\n * \n */\nexport const submitUserDetailsAction = createAsyncThunk<\n USERDETAILSEntryState,\n SubmitUserDetailsArgs,\n {\n rejectValue: SubmitUserDetailsFailure;\n }\n>('creditCardFlow/submitUserDetailsAction', async ({ window, userDetails }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Credit Card API\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submitted', { email: userDetails?.email });\n const { gateway_url, method } = await submitUserDetails(window, config, userDetails);\n tracker.advancedInFlow('tallyman.v1-credit-card', 'cc-form-submission-success', {\n email: userDetails?.email,\n gateway_url\n });\n // Start Credit Card API\n\n if (method === 'jslink' && gateway_url) {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-start', { gateway_url });\n loadScriptSrc({\n id: 'ecardon-credit-card',\n url: gateway_url,\n callBack: () => {\n tracker.advancedInFlow('tallyman.v1-credit-card', 'load-script-success', { gateway_url });\n }\n });\n }\n\n if (method === 'redirection' && gateway_url) {\n tracker.customEvent('Flow', 'advance-auto', 'redirect-success', { redirect_url: gateway_url });\n window.location.href = gateway_url;\n }\n\n return {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Success<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>({ gateway_url, method })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: SubmitUserDetailsErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidUserDetails':\n errorType = 'InvalidUserDetails';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-credit-card', 'cc-form-submission-failure', {\n email: userDetails?.email,\n errorType: errorType || ex.type\n });\n\n return rejectWithValue({\n errorType,\n error: ex.toString()\n });\n }\n});\n\nconst creditCardFlowSlice = createSlice({\n name: 'creditCardFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitUserDetailsAction.pending, (state) => {\n state.currentState = { type: 'USER_DETAILS_ENTRY', result: RDS.Loading() };\n })\n .addCase(submitUserDetailsAction.fulfilled, (state, action: PayloadAction<USERDETAILSEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitUserDetailsAction.rejected, (state, action: PayloadAction<SubmitUserDetailsFailure>) => {\n state.currentState = {\n type: 'USER_DETAILS_ENTRY',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: creditCardFlowReducer, actions: creditCardFlowActions } = creditCardFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectCreditCardFlowState = (state: any) => state.creditCardFlow;\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useCreditCardFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.creditCardFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n CreditCardFlowCurrentState,\n SubmitUserDetailsFailure,\n SubmitUserDetailsSuccess\n} from '../../sharedFlowTypes/CreditCardTypes';\n\nfunction creditCardFlowMatch<R>({\n userDetailsEntry\n}: {\n userDetailsEntry: (rds: RDS.RemoteDataState<SubmitUserDetailsFailure, SubmitUserDetailsSuccess>) => R;\n}): (state: CreditCardFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'USER_DETAILS_ENTRY':\n return userDetailsEntry(state.result);\n default:\n // TODO - this should be an error or something\n return userDetailsEntry(state.result);\n }\n };\n}\n\nexport { creditCardFlowMatch };\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Loading","RDS.Failure"],"mappings":";;;;;;;;AAEA,IAAM,aAAa,GAAG,UAAC,EAYtB,EAAA;QAXC,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,EAAmB,GAAA,EAAA,CAAA,WAAA,EAAnB,WAAW,GAAG,EAAA,KAAA,KAAA,CAAA,GAAA,KAAK,KAAA,EACnB,QAAQ,cAAA,EACR,EAAA,GAAA,EAAA,CAAA,EAAO,EAAP,EAAE,GAAA,EAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAA,EAAA,CAAA;IAQP,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,IAAA,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;AAChC,IAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AACjB,IAAA,MAAM,CAAC,EAAE,GAAG,kBAAmB,CAAA,MAAA,CAAA,EAAE,CAAE,CAAC;IACpC,IAAM,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEnD,IAAA,IAAI,WAAW,EAAE;QACf,MAAM,CAAC,MAAM,GAAG,YAAA;AACd,YAAA,IAAM,WAAW,GAAG,4EAEQ,CAAA,MAAA,CAAA,GAAG,iOAM9B,CAAC;AACF,YAAA,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;AACzC,SAAC,CAAC;AACH,KAAA;IAED,MAAM,CAAC,OAAO,GAAG,YAAA;AACf,QAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;AAC3C,QAAA,IAAI,QAAQ,EAAE;AACZ,YAAA,QAAQ,EAAE,CAAC;AACZ,SAAA;AACH,KAAC,CAAC;AACJ,CAAC;;ACxCD,IAAM,QAAQ,GAAG,UAAO,EA0BvB,EAAA;AAzBC,IAAA,IAAA,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,EACb,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,aAAa,mBAAA,EACb,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,QAAQ,GAAA,EAAA,CAAA,QAAA,CAAA;;;;;AAeF,YAAA,MAAM,GAAG,IAAI,eAAe,CAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,QAAA,CAAA,EAChC,MAAM,EAAE,UAAU,EAClB,IAAI,MAAA,EACJ,OAAO,EAAA,OAAA,EACP,MAAM,EAAA,MAAA,EACN,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EACzB,UAAU,EAAE,SAAS,EACrB,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC9C,YAAY,EAAE,aAAa,GAAG,EAAE,GAAG,MAAM,EACtC,GAAC,MAAM,IAAI,EAAE,MAAM,EAAA,MAAA,EAAE,EACrB,GAAC,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,CAAC,QAAQ,CAAC,KAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAC,GAClF,MAAM,CAAC,iBAAiB,IAAI,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,EAAC,GAC5E,MAAM,CAAC,YAAY,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,EAC9D,GAAC,KAAK,IAAI,QAAQ,GAAG,EAAE,KAAK,EAAA,KAAA,EAAE,QAAQ,EAAA,QAAA,EAAE,GAAG,EAAE,MAAM,EAAA,MAAA,EAAE,EAAC,GACrD,aAAa,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,EAAC,CACpD,CAAC,QAAQ,EAAE,CAAC;AAER,YAAA,IAAI,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;AACjC,YAAA,GAAG,GAAG,EAAG,CAAA,MAAA,CAAA,IAAI,EAAiB,gBAAA,CAAA,CAAA,MAAA,CAAA,MAAM,CAAE,CAAC;AAE7C,YAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;gBACvC,OAAO,CAAA,CAAA,aAAA;AACL,wBAAA,OAAO,EAAE,IAAI;AACb,wBAAA,UAAU,EAAE,SAAS;AACrB,wBAAA,YAAY,EAAE,GAAG;qBAClB,CAAC,CAAA;AACH,aAAA;AAED,YAAA,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,CAAC;AAEF,IAAM,iBAAiB,GAAG,UAAO,EAQhC,EAAA;AAPC,IAAA,IAAA,MAAM,YAAA,EACN,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA;;;;;AAML,YAAA,QAAQ,GAAG,WAAW,IAAI,WAAW,CAAC;AACtC,YAAA,IAAI,GAAG,MAAM,CAAC,wBAAwB,IAAI,EAAE,CAAC;AAC7C,YAAA,UAAU,GAAG,EAAA,CAAA,MAAA,CAAG,IAAI,EAAA,SAAA,CAAS,CAAC;YAC9B,OAAO,GAAG,QAAQ,GAAG,mCAAmC,GAAG,oCAAoC,CAAC;AAGhG,YAAA,aAAa,uBACjB,UAAU,EAAE,MAAA,MAAM,CAAC,aAAa,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAS,EACnD,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;;gBAEtC,UAAU,EAAE,QAAQ,GAAG,WAAW,KAAA,IAAA,IAAX,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAX,WAAW,CAAE,SAAS,GAAG,GAAG,EAAA,GAC/C,QAAQ,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,EAAC,EACjG,WAAW,CACf,CAAC;AAEI,YAAA,cAAc,GAAG;AACrB,gBAAA,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,IAAI,OAAO,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;AAC5D,gBAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;aACpC,CAAC;YAEF,OAAO,CAAA,CAAA,aAAA,KAAK,CAAC,EAAA,CAAA,MAAA,CAAG,UAAU,CAAA,CAAA,MAAA,CAAG,OAAO,CAAE,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ,EAAK,EAAA,OAAA,QAAQ,CAAC,IAAI,EAAE,CAAA,EAAA,CAAC,CAAC,CAAA;;;CAC7F;;SC/EqB,iBAAiB,CACrC,MAAc,EACd,MAAe,EACf,WAA+C,EAAA;;;;;;;AAKvC,oBAAA,IAAI,GAAiC,MAAM,CAAA,IAAvC,EAAE,OAAO,GAAwB,MAAM,CAA9B,OAAA,EAAE,MAAM,GAAgB,MAAM,CAAtB,MAAA,EAAE,SAAS,GAAK,MAAM,UAAX,CAAY;AAC9C,oBAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9C,oBAAA,OAAO,GAAK,MAAM,CAAC,aAAa,QAAzB,CAA0B;oBAEjC,SAAS,GAAK,OAAO,CAAA,SAAZ,CAAa;AACxB,oBAAA,WAAW,GAAG,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC;AACW,oBAAA,IAAA,EAAA,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,uBAAN,MAAM,CAAE,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,IAAI,0CAAE,QAAQ,CAAC,QAAQ,CAAC,CAAA,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AACjG,oBAAA,OAAA,CAAA,CAAA,YAAM,QAAQ,CAAC;AACb,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,IAAI,EAAA,IAAA;AACJ,4BAAA,OAAO,EAAA,OAAA;AACP,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,KAAK,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,0CAAE,KAAK;AAC5C,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,KAAK,EAAE,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,KAAK;AACzB,4BAAA,QAAQ,EAAE,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,QAAQ;AAC/B,4BAAA,MAAM,EAAA,MAAA;AACP,yBAAA,CAAC,CAAA,CAAA;;AAVF,oBAAA,EAAA,GAAA,SAUE,CAAA;;AACF,gBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,iBAAiB,CAAC,EAAE,MAAM,EAAA,MAAA,EAAE,WAAW,EAAA,WAAA,EAAE,WAAW,EAAA,WAAA,EAAE,CAAC,CAAA,CAAA;;AAA7D,oBAAA,EAAA,GAAA,SAA6D,CAAA;;;AAZ3D,oBAAA,MAAM,GAYqD,EAAA,CAAA;AAEjE,oBAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;AACtB,wBAAA,IAAI,GAAG,MAAM,CAAC,OAAO,KAAK,oBAAoB,GAAG,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC;AACtF,wBAAA,KAAK,GAAG,IAAI,KAAK,CAAC,EAAG,CAAA,MAAA,CAAA,IAAI,EAAM,KAAA,CAAA,CAAA,MAAA,CAAA,MAAM,CAAC,OAAO,CAAE,CAA8B,CAAC;AACpF,wBAAA,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB,wBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,wBAAA,MAAM,KAAK,CAAC;AACb,qBAAA;AAAM,yBAAA;wBACL,OAAO,CAAA,CAAA,aAAA;AACL,gCAAA,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY;AACtD,gCAAA,MAAM,EAAE,MAAM,CAAC,YAAY,GAAG,aAAa,GAAG,MAAM,CAAC,MAAM;6BAC5D,CAAC,CAAA;AACH,qBAAA;;;;AACF;;ACrCD,IAAM,YAAY,GAAwB;AACxC,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,oBAAoB;AAC1B,QAAA,MAAM,EAAEA,UAAc,EAAE;AACzB,KAAA;CACF,CAAC;AAMF;;;;;;AAMG;AACU,IAAA,uBAAuB,GAAG,gBAAgB,CAMrD,wCAAwC,EAAE,UAAO,EAAuB,EAAE,EAA6B,EAAA;QAApD,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;;;;;;oBAC/F,KAAK,GAAc,QAAQ,EAAE,CAAC;oBAE5B,MAAM,GAAK,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAA,MAArC,CAAsC;;;;;AAIlD,oBAAA,OAAO,CAAC,cAAc,CAAC,yBAAyB,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,KAAK,EAAE,CAAC,CAAC;oBACtE,OAAM,CAAA,CAAA,YAAA,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA,CAAA;;AAA9E,oBAAA,EAAA,GAA0B,EAAoD,CAAA,IAAA,EAAA,EAA5E,aAAW,GAAA,EAAA,CAAA,WAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;AAC3B,oBAAA,OAAO,CAAC,cAAc,CAAC,yBAAyB,EAAE,4BAA4B,EAAE;AAC9E,wBAAA,KAAK,EAAE,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,KAAK;AACzB,wBAAA,WAAW,EAAA,aAAA;AACZ,qBAAA,CAAC,CAAC;;AAGH,oBAAA,IAAI,MAAM,KAAK,QAAQ,IAAI,aAAW,EAAE;AACtC,wBAAA,OAAO,CAAC,cAAc,CAAC,yBAAyB,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAA,aAAA,EAAE,CAAC,CAAC;AACxF,wBAAA,aAAa,CAAC;AACZ,4BAAA,EAAE,EAAE,qBAAqB;AACzB,4BAAA,GAAG,EAAE,aAAW;AAChB,4BAAA,QAAQ,EAAE,YAAA;AACR,gCAAA,OAAO,CAAC,cAAc,CAAC,yBAAyB,EAAE,qBAAqB,EAAE,EAAE,WAAW,EAAA,aAAA,EAAE,CAAC,CAAC;6BAC3F;AACF,yBAAA,CAAC,CAAC;AACJ,qBAAA;AAED,oBAAA,IAAI,MAAM,KAAK,aAAa,IAAI,aAAW,EAAE;AAC3C,wBAAA,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAAE,YAAY,EAAE,aAAW,EAAE,CAAC,CAAC;AAC/F,wBAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAW,CAAC;AACpC,qBAAA;oBAED,OAAO,CAAA,CAAA,aAAA;AACL,4BAAA,IAAI,EAAE,oBAAoB;AAC1B,4BAAA,MAAM,EAAEC,OAAW,CAAqD,EAAE,WAAW,EAAA,aAAA,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC;yBACjG,CAAC,CAAA;;;AAEF,oBAAA,OAAO,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC;AACb,oBAAA,SAAS,SAA6B,CAAC;oBAC3C,QAAQ,IAAE,CAAC,IAAI;AACb,wBAAA,KAAK,mBAAmB;4BACtB,SAAS,GAAG,mBAAmB,CAAC;4BAChC,MAAM;AACR,wBAAA,KAAK,oBAAoB;4BACvB,SAAS,GAAG,oBAAoB,CAAC;4BACjC,MAAM;AACR,wBAAA;4BACE,SAAS,GAAG,cAAc,CAAC;AAC9B,qBAAA;AAED,oBAAA,OAAO,CAAC,YAAY,CAAC,yBAAyB,EAAE,4BAA4B,EAAE;AAC5E,wBAAA,KAAK,EAAE,WAAW,KAAA,IAAA,IAAX,WAAW,KAAX,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,WAAW,CAAE,KAAK;AACzB,wBAAA,SAAS,EAAE,SAAS,IAAI,IAAE,CAAC,IAAI;AAChC,qBAAA,CAAC,CAAC;AAEH,oBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,KAAK,EAAE,IAAE,CAAC,QAAQ,EAAE;AACrB,yBAAA,CAAC,CAAC,CAAA;;;;;AAEN,CAAA,EAAE;AAEH,IAAM,mBAAmB,GAAG,WAAW,CAAC;AACtC,IAAA,IAAI,EAAE,gBAAgB;AACtB,IAAA,YAAY,EAAA,YAAA;AACZ,IAAA,QAAQ,EAAE,EAAE;IACZ,aAAa,EAAE,UAAC,OAAO,EAAA;QACrB,OAAO;AACJ,aAAA,OAAO,CAAC,uBAAuB,CAAC,OAAO,EAAE,UAAC,KAAK,EAAA;AAC9C,YAAA,KAAK,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAEC,OAAW,EAAE,EAAE,CAAC;AAC7E,SAAC,CAAC;aACD,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE,UAAC,KAAK,EAAE,MAA4C,EAAA;AAC9F,YAAA,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;AACtC,SAAC,CAAC;aACD,OAAO,CAAC,uBAAuB,CAAC,QAAQ,EAAE,UAAC,KAAK,EAAE,MAA+C,EAAA;YAChG,KAAK,CAAC,YAAY,GAAG;AACnB,gBAAA,IAAI,EAAE,oBAAoB;gBAC1B,MAAM,EAAEC,OAAW,CAAC,MAAM,CAAC,OAAO,CAAC;aACpC,CAAC;AACJ,SAAC,CAAC,CAAC;KACN;AACF,CAAA,CAAC,CAAC;AAEH;AACwB,IAAA,qBAAqB,GAAqC,mBAAmB,CAAxD,OAAA,CAAA,CAAqC,mBAAmB,CAAA;;ACxH9F,IAAM,sBAAsB,GAAG,UAAC,WAAgC,EAAA;AACrE,IAAA,IAAM,YAAY,GAAG,WAAW,CAAC,UAAC,KAAgB,EAAK,EAAA,OAAA,KAAK,CAAC,cAAc,CAAC,YAAY,CAAjC,EAAiC,CAAC,CAAC;AAC1F,IAAA,OAAO,YAAY,CAAC;AACtB;;ACCA,SAAS,mBAAmB,CAAI,EAI/B,EAAA;AAHC,IAAA,IAAA,gBAAgB,GAAA,EAAA,CAAA,gBAAA,CAAA;AAIhB,IAAA,OAAO,UAAC,KAAK,EAAA;QACX,QAAQ,KAAK,CAAC,IAAI;AAChB,YAAA,KAAK,oBAAoB;AACvB,gBAAA,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACxC,YAAA;;AAEE,gBAAA,OAAO,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACzC,SAAA;AACH,KAAC,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Function to set the configuration within your library
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
var config = {};
|
|
5
|
+
function setConfig(userConfig) {
|
|
6
|
+
config = userConfig;
|
|
7
|
+
}
|
|
8
|
+
// Function to get the current configuration
|
|
9
|
+
function getConfig() {
|
|
10
|
+
return config;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { getConfig, setConfig };
|
|
14
|
+
//# sourceMappingURL=getConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getConfig.js","sources":["../src/utilities/getConfig.ts"],"sourcesContent":["import { IStrategy } from '../common-types/Strategy';\n\n// Function to set the configuration within your library\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nlet config: IStrategy = {};\n\nexport function setConfig(userConfig: IStrategy) {\n config = userConfig;\n}\n\n// Function to get the current configuration\nexport function getConfig(): IStrategy {\n return config;\n}\n"],"names":[],"mappings":"AAEA;AACA;AACA;AACA,IAAI,MAAM,GAAc,EAAE,CAAC;AAErB,SAAU,SAAS,CAAC,UAAqB,EAAA;IAC7C,MAAM,GAAG,UAAU,CAAC;AACtB,CAAC;AAED;SACgB,SAAS,GAAA;AACvB,IAAA,OAAO,MAAM,CAAC;AAChB;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { checkSubscriptionHander } from './checkSubscriptionHander.js';
|
|
2
|
+
import { t as tracker } from './tracker-B_zsMRN2.js';
|
|
3
|
+
import 'tslib';
|
|
4
|
+
import './checkSubscriptionByRockmanIdOnly-C89Ph9cV.js';
|
|
5
|
+
import './helpers-J_h-ZgxH.js';
|
|
6
|
+
import './searchToObject.js';
|
|
7
|
+
import 'pacman-client';
|
|
8
|
+
import 'uuid';
|
|
9
|
+
|
|
10
|
+
var handleClickChainFlow = function (_a) {
|
|
11
|
+
var window = _a.window, trackState = _a.trackState;
|
|
12
|
+
if (typeof window !== 'undefined') {
|
|
13
|
+
var chainRedirectUrl_1 = window.pac_analytics.visitor.chainRedirectUrl || null;
|
|
14
|
+
checkSubscriptionHander({ window: window })
|
|
15
|
+
.then(function (productUrl) {
|
|
16
|
+
if (chainRedirectUrl_1) {
|
|
17
|
+
tracker.customEvent(trackState, 'redirect', 'chain-redirect', { redirect_url: chainRedirectUrl_1 });
|
|
18
|
+
window.location.replace(chainRedirectUrl_1);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
tracker.customEvent(trackState, 'redirect', 'product-redirect', { redirect_url: productUrl });
|
|
22
|
+
window.location.replace(productUrl);
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
.catch(function (err) {
|
|
26
|
+
throw err;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { handleClickChainFlow };
|
|
32
|
+
//# sourceMappingURL=handleClickChainFlow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleClickChainFlow.js","sources":["../src/utilities/handleClickChainFlow.ts"],"sourcesContent":["import { checkSubscriptionHander } from './checkSubscriptionHander';\nimport { tracker } from './tracker';\n\nexport const handleClickChainFlow = ({ window, trackState }: { window: Window; trackState: string }) => {\n if (typeof window !== 'undefined') {\n const chainRedirectUrl = window.pac_analytics.visitor.chainRedirectUrl || null;\n checkSubscriptionHander({ window })\n .then((productUrl) => {\n if (chainRedirectUrl) {\n tracker.customEvent(trackState, 'redirect', 'chain-redirect', { redirect_url: chainRedirectUrl });\n window.location.replace(chainRedirectUrl);\n } else {\n tracker.customEvent(trackState, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }\n })\n .catch((err) => {\n throw err;\n });\n }\n};\n"],"names":[],"mappings":";;;;;;;;;AAGO,IAAM,oBAAoB,GAAG,UAAC,EAA8D,EAAA;QAA5D,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAA,CAAA;AACvD,IAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAM,kBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;AAC/E,QAAA,uBAAuB,CAAC,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC;aAChC,IAAI,CAAC,UAAC,UAAU,EAAA;AACf,YAAA,IAAI,kBAAgB,EAAE;AACpB,gBAAA,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,EAAE,YAAY,EAAE,kBAAgB,EAAE,CAAC,CAAC;AAClG,gBAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAgB,CAAC,CAAC;AAC3C,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;AAC9F,gBAAA,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACrC,aAAA;AACH,SAAC,CAAC;aACD,KAAK,CAAC,UAAC,GAAG,EAAA;AACT,YAAA,MAAM,GAAG,CAAC;AACZ,SAAC,CAAC,CAAC;AACN,KAAA;AACH;;;;"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import PhoneNumber from 'awesome-phonenumber';
|
|
2
|
+
import { searchToObject } from './searchToObject.js';
|
|
3
|
+
import 'tslib';
|
|
4
|
+
|
|
5
|
+
var isCookieExists = function (window, cookieName) {
|
|
6
|
+
return typeof window !== 'undefined' &&
|
|
7
|
+
document.cookie.match(new RegExp("^(.*;)?\\s*".concat(cookieName, "\\s*=\\s*[^;]+(.*)?$"))) !== null;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
var handleAutoSubmitMsisdn = function (_a) {
|
|
11
|
+
var msisdnValue = _a.msisdnValue, dispatch = _a.dispatch, submitMSISDNAction = _a.submitMSISDNAction, isHeaderEnrichmentSuccess = _a.isHeaderEnrichmentSuccess, setMsisdnValue = _a.setMsisdnValue, isHeaderEnrichmentAutoSubmit = _a.isHeaderEnrichmentAutoSubmit;
|
|
12
|
+
//
|
|
13
|
+
// eslint-disable-next-line no-console
|
|
14
|
+
console.log('handleAutoSubmitMsisdn', msisdnValue);
|
|
15
|
+
if (msisdnValue &&
|
|
16
|
+
msisdnValue.length > 3 &&
|
|
17
|
+
(!isHeaderEnrichmentSuccess || (isHeaderEnrichmentSuccess === true && isHeaderEnrichmentAutoSubmit === true))) {
|
|
18
|
+
var pn = new PhoneNumber("+".concat(msisdnValue), process.env.country.toUpperCase());
|
|
19
|
+
// eslint-disable-next-line no-console
|
|
20
|
+
console.log('pn', pn);
|
|
21
|
+
if (pn.isValid()) {
|
|
22
|
+
dispatch(submitMSISDNAction({ window: window, msisdn: msisdnValue }));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
setMsisdnValue(pn.getCountryCode() + msisdnValue);
|
|
26
|
+
dispatch(submitMSISDNAction({ window: window, msisdn: pn.getCountryCode() + msisdnValue }));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
var handleFormSubmit = function (_a) {
|
|
31
|
+
var window = _a.window, isHeaderEnrichmentSuccess = _a.isHeaderEnrichmentSuccess, setInternationalNumber = _a.setInternationalNumber, onEnd = _a.onEnd, internationalNumber = _a.internationalNumber;
|
|
32
|
+
var pn = new PhoneNumber("+".concat(internationalNumber), process.env.country.toUpperCase());
|
|
33
|
+
var countryCode = pn.getCountryCode();
|
|
34
|
+
var networkType = isHeaderEnrichmentSuccess ? 'mobile_data' : 'wifi';
|
|
35
|
+
var searchObj = searchToObject(window);
|
|
36
|
+
if (isHeaderEnrichmentSuccess === true &&
|
|
37
|
+
process.env.country === 'kw' &&
|
|
38
|
+
internationalNumber !== '' &&
|
|
39
|
+
!pn.isValid()) {
|
|
40
|
+
setInternationalNumber(countryCode + internationalNumber);
|
|
41
|
+
var newNumber = countryCode + internationalNumber;
|
|
42
|
+
onEnd(newNumber.match(/\d+/gi).join(''));
|
|
43
|
+
}
|
|
44
|
+
else if (isHeaderEnrichmentSuccess === true && (searchObj === null || searchObj === void 0 ? void 0 : searchObj.success) === 'true' && searchObj['msisdn-alias'] === '1') {
|
|
45
|
+
// Special case Digital Virgo sents encrypted msisdn we dont need to validate is
|
|
46
|
+
if (searchObj === null || searchObj === void 0 ? void 0 : searchObj.msisdn) {
|
|
47
|
+
var encryptedMsisdn = searchObj.msisdn;
|
|
48
|
+
onEnd(encryptedMsisdn, { network_type: networkType, 'skip-validation': '1' });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
else if (typeof window !== 'undefined' && isCookieExists(window, 'OMEU') && process.env.country === 'es') {
|
|
52
|
+
onEnd('1', { network_type: networkType, 'skip-validation': '1' });
|
|
53
|
+
}
|
|
54
|
+
else if (internationalNumber) {
|
|
55
|
+
if (process.env.country === 'ci') {
|
|
56
|
+
onEnd(internationalNumber.match(/\d+/gi).join(''), { network_type: networkType });
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
onEnd(internationalNumber.match(/\d+/gi).join(''));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export { handleAutoSubmitMsisdn, handleFormSubmit };
|
|
65
|
+
//# sourceMappingURL=handleSubmitNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handleSubmitNumber.js","sources":["../src/utilities/isCookieExists.ts","../src/utilities/handleSubmitNumber.ts"],"sourcesContent":["export const isCookieExists = (window: Window, cookieName: string) =>\n typeof window !== 'undefined' &&\n document.cookie.match(new RegExp(`^(.*;)?\\\\s*${cookieName}\\\\s*=\\\\s*[^;]+(.*)?$`)) !== null;\n","import { Dispatch } from '@reduxjs/toolkit';\nimport PhoneNumber from 'awesome-phonenumber';\nimport { isCookieExists } from './isCookieExists';\nimport { searchToObject } from './searchToObject';\n\nexport const handleAutoSubmitMsisdn = ({\n msisdnValue,\n dispatch,\n submitMSISDNAction,\n isHeaderEnrichmentSuccess,\n setMsisdnValue,\n isHeaderEnrichmentAutoSubmit\n}: {\n window: Window;\n msisdnValue: string;\n dispatch: Dispatch;\n submitMSISDNAction: ({ window, msisdn }: { window: Window; msisdn: string }) => any;\n isHeaderEnrichmentSuccess: boolean;\n setMsisdnValue: (msisdnValue: string) => void;\n isHeaderEnrichmentAutoSubmit?: boolean;\n}) => {\n //\n // eslint-disable-next-line no-console\n console.log('handleAutoSubmitMsisdn', msisdnValue);\n if (\n msisdnValue &&\n msisdnValue.length > 3 &&\n (!isHeaderEnrichmentSuccess || (isHeaderEnrichmentSuccess === true && isHeaderEnrichmentAutoSubmit === true))\n ) {\n const pn = new PhoneNumber(`+${msisdnValue}`, process.env.country.toUpperCase());\n // eslint-disable-next-line no-console\n console.log('pn', pn);\n if (pn.isValid()) {\n dispatch(submitMSISDNAction({ window, msisdn: msisdnValue }));\n } else {\n setMsisdnValue(pn.getCountryCode() + msisdnValue);\n dispatch(submitMSISDNAction({ window, msisdn: pn.getCountryCode() + msisdnValue }));\n }\n }\n};\n\nexport const handleFormSubmit = ({\n window,\n isHeaderEnrichmentSuccess,\n setInternationalNumber,\n onEnd,\n internationalNumber\n}: {\n window: Window;\n isHeaderEnrichmentSuccess: boolean;\n country: string;\n setInternationalNumber: (msisdn: string) => void;\n onEnd: (msisdn: string, extraParams?: { [key: string]: string }) => void;\n internationalNumber: string;\n}) => {\n const pn = new PhoneNumber(`+${internationalNumber}`, process.env.country.toUpperCase());\n\n const countryCode = pn.getCountryCode();\n const networkType = isHeaderEnrichmentSuccess ? 'mobile_data' : 'wifi';\n const searchObj = searchToObject(window) as any;\n\n if (\n isHeaderEnrichmentSuccess === true &&\n process.env.country === 'kw' &&\n internationalNumber !== '' &&\n !pn.isValid()\n ) {\n setInternationalNumber(countryCode + internationalNumber);\n const newNumber = countryCode + internationalNumber;\n\n onEnd(newNumber.match(/\\d+/gi).join(''));\n } else if (isHeaderEnrichmentSuccess === true && searchObj?.success === 'true' && searchObj['msisdn-alias'] === '1') {\n // Special case Digital Virgo sents encrypted msisdn we dont need to validate is\n if (searchObj?.msisdn) {\n const encryptedMsisdn = searchObj.msisdn;\n onEnd(encryptedMsisdn, { network_type: networkType, 'skip-validation': '1' });\n }\n } else if (typeof window !== 'undefined' && isCookieExists(window, 'OMEU') && process.env.country === 'es') {\n onEnd('1', { network_type: networkType, 'skip-validation': '1' });\n } else if (internationalNumber) {\n if (process.env.country === 'ci') {\n onEnd(internationalNumber.match(/\\d+/gi).join(''), { network_type: networkType });\n } else {\n onEnd(internationalNumber.match(/\\d+/gi).join(''));\n }\n }\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { __awaiter, __generator } from 'tslib';
|
|
2
|
+
|
|
3
|
+
var wait = function (ms) { return new Promise(function (resolve) { return setTimeout(function () { return resolve(); }, ms); }); };
|
|
4
|
+
var loop = function (f, max, stop, i) { return __awaiter(void 0, void 0, void 0, function () {
|
|
5
|
+
var r;
|
|
6
|
+
return __generator(this, function (_a) {
|
|
7
|
+
switch (_a.label) {
|
|
8
|
+
case 0: return [4 /*yield*/, f()];
|
|
9
|
+
case 1:
|
|
10
|
+
r = _a.sent();
|
|
11
|
+
if (stop(r) || i >= max) {
|
|
12
|
+
return [2 /*return*/, r];
|
|
13
|
+
}
|
|
14
|
+
return [4 /*yield*/, wait(1000)];
|
|
15
|
+
case 2:
|
|
16
|
+
_a.sent();
|
|
17
|
+
return [2 /*return*/, loop(f, max, stop, i + 1)];
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}); };
|
|
21
|
+
function right(r) {
|
|
22
|
+
return { type: 'right', value: r };
|
|
23
|
+
}
|
|
24
|
+
function left(l) {
|
|
25
|
+
return { type: 'left', value: l };
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { loop as a, left as l, right as r };
|
|
29
|
+
//# sourceMappingURL=helpers-J_h-ZgxH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers-J_h-ZgxH.js","sources":["../src/utilities/helpers.ts"],"sourcesContent":["import Either from '../common-types/Either';\n\nexport const wait = (ms: number) => new Promise<void>((resolve) => setTimeout(() => resolve(), ms));\n\nexport const loop = async <_I extends Record<string, unknown>, R extends Record<string, unknown>>(\n f: () => Promise<R>,\n max: number,\n stop: (r: R) => boolean,\n i: number\n): Promise<R> => {\n const r = await f();\n if (stop(r) || i >= max) {\n return r;\n }\n await wait(1000);\n return loop(f, max, stop, i + 1);\n};\n\nexport function right<L, R>(r: R) {\n return { type: 'right', value: r } as Either<L, R>;\n}\nexport function left<L, R>(l: L) {\n return { type: 'left', value: l } as Either<L, R>;\n}\n"],"names":[],"mappings":";;AAEO,IAAM,IAAI,GAAG,UAAC,EAAU,EAAK,EAAA,OAAA,IAAI,OAAO,CAAO,UAAC,OAAO,EAAK,EAAA,OAAA,UAAU,CAAC,YAAM,EAAA,OAAA,OAAO,EAAE,GAAA,EAAE,EAAE,CAAC,CAA/B,EAA+B,CAAC,CAAA,EAAA,CAAC;AAEvF,IAAA,IAAI,GAAG,UAClB,CAAmB,EACnB,GAAW,EACX,IAAuB,EACvB,CAAS,EAAA,EAAA,OAAA,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;oBAEC,OAAM,CAAA,CAAA,YAAA,CAAC,EAAE,CAAA,CAAA;;AAAb,gBAAA,CAAC,GAAG,EAAS,CAAA,IAAA,EAAA,CAAA;gBACnB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;AACvB,oBAAA,OAAA,CAAA,CAAA,aAAO,CAAC,CAAC,CAAA;AACV,iBAAA;AACD,gBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA;;AAAhB,gBAAA,EAAA,CAAA,IAAA,EAAgB,CAAC;AACjB,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;;;MACjC;AAEI,SAAU,KAAK,CAAO,CAAI,EAAA;IAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAkB,CAAC;AACrD,CAAC;AACK,SAAU,IAAI,CAAO,CAAI,EAAA;IAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAkB,CAAC;AACpD;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var loadScriptInnerHtml = function (innerHTML, isBody) {
|
|
2
|
+
var script = document.createElement('script');
|
|
3
|
+
script.type = 'text/javascript';
|
|
4
|
+
script.innerHTML = innerHTML;
|
|
5
|
+
script.id = window.gateway === 'agency_mt2' ? 'EvinaPinTrigger' : '';
|
|
6
|
+
if (isBody) {
|
|
7
|
+
document.getElementsByTagName('body')[0].appendChild(script);
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
var headElem = document.getElementsByTagName('head')[0];
|
|
11
|
+
headElem.insertBefore(script, headElem.firstChild);
|
|
12
|
+
setTimeout(function () {
|
|
13
|
+
if (window.gateway === 'agency_mt2' && typeof window.evina_dcb !== undefined) {
|
|
14
|
+
// eslint-disable-next-line no-console
|
|
15
|
+
console.log('Ev ready');
|
|
16
|
+
var event_1 = new Event('DCBProtectRun');
|
|
17
|
+
if (typeof window !== 'undefined') {
|
|
18
|
+
document.dispatchEvent(event_1);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}, 0);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { loadScriptInnerHtml as l };
|
|
26
|
+
//# sourceMappingURL=loadScriptInnerHtml-DPcoY467.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadScriptInnerHtml-DPcoY467.js","sources":["../src/utilities/loadScriptInnerHtml.ts"],"sourcesContent":["const loadScriptInnerHtml = (innerHTML: string, isBody?: boolean) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.innerHTML = innerHTML;\n script.id = window.gateway === 'agency_mt2' ? 'EvinaPinTrigger' : '';\n if (isBody) {\n document.getElementsByTagName('body')[0].appendChild(script);\n } else {\n const headElem = document.getElementsByTagName('head')[0];\n headElem.insertBefore(script, headElem.firstChild);\n\n setTimeout(() => {\n if (window.gateway === 'agency_mt2' && typeof window.evina_dcb !== undefined) {\n // eslint-disable-next-line no-console\n console.log('Ev ready');\n const event = new Event('DCBProtectRun');\n if (typeof window !== 'undefined') {\n document.dispatchEvent(event);\n }\n }\n }, 0);\n }\n};\n\nexport { loadScriptInnerHtml };\n"],"names":[],"mappings":"AAAA,IAAM,mBAAmB,GAAG,UAAC,SAAiB,EAAE,MAAgB,EAAA;IAC9D,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,IAAA,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;AAChC,IAAA,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AAC7B,IAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,KAAK,YAAY,GAAG,iBAAiB,GAAG,EAAE,CAAC;AACrE,IAAA,IAAI,MAAM,EAAE;AACV,QAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9D,KAAA;AAAM,SAAA;QACL,IAAM,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEnD,QAAA,UAAU,CAAC,YAAA;AACT,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;;AAE5E,gBAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACxB,gBAAA,IAAM,OAAK,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AACzC,gBAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,oBAAA,QAAQ,CAAC,aAAa,CAAC,OAAK,CAAC,CAAC;AAC/B,iBAAA;AACF,aAAA;SACF,EAAE,CAAC,CAAC,CAAC;AACP,KAAA;AACH;;;;"}
|