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,75 @@
|
|
|
1
|
+
function match(_a) {
|
|
2
|
+
var nothingYet = _a.nothingYet, loading = _a.loading, failure = _a.failure, success = _a.success;
|
|
3
|
+
return function (model) {
|
|
4
|
+
switch (model.type) {
|
|
5
|
+
case 'NothingYet':
|
|
6
|
+
return nothingYet();
|
|
7
|
+
case 'Loading':
|
|
8
|
+
return loading();
|
|
9
|
+
case 'Failure':
|
|
10
|
+
return failure(model.error);
|
|
11
|
+
case 'Success':
|
|
12
|
+
return success(model.data);
|
|
13
|
+
default:
|
|
14
|
+
return nothingYet();
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
var NothingYet = function () { return ({
|
|
19
|
+
type: 'NothingYet'
|
|
20
|
+
}); };
|
|
21
|
+
var Loading = function () { return ({
|
|
22
|
+
type: 'Loading'
|
|
23
|
+
}); };
|
|
24
|
+
var Failure = function (error) { return ({
|
|
25
|
+
type: 'Failure',
|
|
26
|
+
error: error
|
|
27
|
+
}); };
|
|
28
|
+
var Success = function (data) { return ({
|
|
29
|
+
type: 'Success',
|
|
30
|
+
data: data
|
|
31
|
+
}); };
|
|
32
|
+
var IsNothingYet = function (s) { return s.type === 'NothingYet'; };
|
|
33
|
+
var IsLoading = function (s) { return s.type === 'Loading'; };
|
|
34
|
+
var IsFailure = function (s) { return s.type === 'Failure'; };
|
|
35
|
+
var IsSuccess = function (s) { return s.type === 'Success'; };
|
|
36
|
+
var WhenFailure = function (d, r) { return function (s) {
|
|
37
|
+
return s.type === 'Failure' ? r(s.error) : d;
|
|
38
|
+
}; };
|
|
39
|
+
var WhenLoading = function (d, r) { return function (s) {
|
|
40
|
+
return s.type === 'Loading' ? r() : d;
|
|
41
|
+
}; };
|
|
42
|
+
var WhenSuccess = function (d, r) { return function (s) {
|
|
43
|
+
return s.type === 'Success' ? r(s.data) : d;
|
|
44
|
+
}; };
|
|
45
|
+
var MatchFailure = function (_a) {
|
|
46
|
+
var failure = _a.failure, otherwise = _a.otherwise;
|
|
47
|
+
return function (s) { return (s.type === 'Failure' ? failure(s.error) : otherwise()); };
|
|
48
|
+
};
|
|
49
|
+
var MatchSuccess = function (_a) {
|
|
50
|
+
var success = _a.success, otherwise = _a.otherwise;
|
|
51
|
+
return function (s) {
|
|
52
|
+
return s.type === 'Success' ? success(s.data) : otherwise(s);
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
var RemoteDataState = /*#__PURE__*/Object.freeze({
|
|
57
|
+
__proto__: null,
|
|
58
|
+
Failure: Failure,
|
|
59
|
+
IsFailure: IsFailure,
|
|
60
|
+
IsLoading: IsLoading,
|
|
61
|
+
IsNothingYet: IsNothingYet,
|
|
62
|
+
IsSuccess: IsSuccess,
|
|
63
|
+
Loading: Loading,
|
|
64
|
+
MatchFailure: MatchFailure,
|
|
65
|
+
MatchSuccess: MatchSuccess,
|
|
66
|
+
NothingYet: NothingYet,
|
|
67
|
+
Success: Success,
|
|
68
|
+
WhenFailure: WhenFailure,
|
|
69
|
+
WhenLoading: WhenLoading,
|
|
70
|
+
WhenSuccess: WhenSuccess,
|
|
71
|
+
match: match
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
export { Failure as F, Loading as L, NothingYet as N, RemoteDataState as R, Success as S };
|
|
75
|
+
//# sourceMappingURL=RemoteDataState-CwHLI23e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteDataState-CwHLI23e.js","sources":["../src/common-types/RemoteDataState.ts"],"sourcesContent":["export type RemoteDataState<E, D> =\n | { type: 'NothingYet' }\n | { type: 'Loading' }\n | { type: 'Failure'; error: E }\n | { type: 'Success'; data: D };\n\nexport interface IMatcher<E, D, R> {\n nothingYet: (data?: D) => R;\n loading: () => R;\n failure: (error: E) => R;\n success: (data: D) => R;\n}\n\nexport interface ISuccessMatcher<E, D, R> {\n success: (data: D) => R;\n otherwise: (rds: RemoteDataState<E, D>) => R;\n}\n\nexport function match<E, D, R>({\n nothingYet,\n loading,\n failure,\n success\n}: IMatcher<E, D, R>): (model: RemoteDataState<E, D>) => R {\n return (model) => {\n switch (model.type) {\n case 'NothingYet':\n return nothingYet();\n case 'Loading':\n return loading();\n case 'Failure':\n return failure(model.error);\n case 'Success':\n return success(model.data);\n default:\n return nothingYet();\n }\n };\n}\n\nexport const NothingYet = <E, D>(): RemoteDataState<E, D> => ({\n type: 'NothingYet'\n});\n\nexport const Loading = <E, D>(): RemoteDataState<E, D> => ({\n type: 'Loading'\n});\n\nexport const Failure = <E, D>(error: E): RemoteDataState<E, D> => ({\n type: 'Failure',\n error\n});\n\nexport const Success = <E, D>(data: D): RemoteDataState<E, D> => ({\n type: 'Success',\n data\n});\n\nexport const IsNothingYet = <E, D>(s: RemoteDataState<E, D>) => s.type === 'NothingYet';\nexport const IsLoading = <E, D>(s: RemoteDataState<E, D>) => s.type === 'Loading';\nexport const IsFailure = <E, D>(s: RemoteDataState<E, D>) => s.type === 'Failure';\nexport const IsSuccess = <E, D>(s: RemoteDataState<E, D>) => s.type === 'Success';\n\nexport const WhenFailure = <E, D, R>(d: R, r: (err: E) => R) => (s: RemoteDataState<E, D>) =>\n s.type === 'Failure' ? r(s.error) : d;\n\nexport const WhenLoading = <D, R>(d: R, r: () => R) => (s: RemoteDataState<unknown, D>) =>\n s.type === 'Loading' ? r() : d;\n\nexport const WhenSuccess = <D, R>(d: R, r: (data: D) => R) => (s: RemoteDataState<unknown, D>) =>\n s.type === 'Success' ? r(s.data) : d;\n\nexport const MatchFailure = <E, D, R>({ failure, otherwise }: { otherwise: () => R; failure: (err: E) => R }) => (\n s: RemoteDataState<E, D>\n) => (s.type === 'Failure' ? failure(s.error) : otherwise());\n\nexport const MatchSuccess = <E, D, R>({ success, otherwise }: ISuccessMatcher<E, D, R>) => (s: RemoteDataState<E, D>) =>\n s.type === 'Success' ? success(s.data) : otherwise(s);\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bupperizeCountry-CCDIOHP6.js","sources":["../src/utilities/bupperizeCountry.ts"],"sourcesContent":["const bupperizeCountry = (c: string) => (c === 'gb' ? 'uk' : c);\nexport { bupperizeCountry };\n"],"names":[],"mappings":"AAAM,IAAA,gBAAgB,GAAG,UAAC,CAAS,IAAK,QAAC,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,EAAtB;;;;"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { __awaiter, __generator } from 'tslib';
|
|
2
|
+
|
|
3
|
+
var checkSubscriptionByRockmanIdOnly = function (_a) {
|
|
4
|
+
var window = _a.window, rockmanId = _a.rockmanId;
|
|
5
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
6
|
+
var host, params, urlParams, url, response;
|
|
7
|
+
return __generator(this, function (_b) {
|
|
8
|
+
switch (_b.label) {
|
|
9
|
+
case 0:
|
|
10
|
+
host = window.DEV_BASE_URL || '';
|
|
11
|
+
params = {
|
|
12
|
+
action: 'check-subscription',
|
|
13
|
+
rockman_id: rockmanId
|
|
14
|
+
};
|
|
15
|
+
urlParams = new URLSearchParams(params).toString();
|
|
16
|
+
url = "".concat(host, "/tallyman/v1/?").concat(urlParams);
|
|
17
|
+
return [4 /*yield*/, fetch(url)];
|
|
18
|
+
case 1:
|
|
19
|
+
response = _b.sent();
|
|
20
|
+
return [2 /*return*/, response.json()];
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { checkSubscriptionByRockmanIdOnly as c };
|
|
27
|
+
//# sourceMappingURL=checkSubscriptionByRockmanIdOnly-C89Ph9cV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkSubscriptionByRockmanIdOnly-C89Ph9cV.js","sources":["../src/sharedApi/checkSubscriptionByRockmanIdOnly.ts"],"sourcesContent":["import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\n\nconst checkSubscriptionByRockmanIdOnly = async ({\n window,\n rockmanId\n}: {\n window: Window;\n rockmanId: string;\n}): Promise<ICheckSubscriptionResult> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n const params = {\n action: 'check-subscription',\n rockman_id: rockmanId\n };\n\n const urlParams = new URLSearchParams(params).toString();\n const url = `${host}/tallyman/v1/?${urlParams}`;\n\n const response = await fetch(url);\n return response.json();\n};\n\nexport { checkSubscriptionByRockmanIdOnly };\n"],"names":[],"mappings":";;AAEM,IAAA,gCAAgC,GAAG,UAAO,EAM/C,EAAA;QALC,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,SAAS,GAAA,EAAA,CAAA,SAAA,CAAA;;;;;;AAKH,oBAAA,IAAI,GAAI,MAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;AAE7C,oBAAA,MAAM,GAAG;AACb,wBAAA,MAAM,EAAE,oBAAoB;AAC5B,wBAAA,UAAU,EAAE,SAAS;qBACtB,CAAC;oBAEI,SAAS,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnD,oBAAA,GAAG,GAAG,EAAG,CAAA,MAAA,CAAA,IAAI,EAAiB,gBAAA,CAAA,CAAA,MAAA,CAAA,SAAS,CAAE,CAAC;AAE/B,oBAAA,OAAA,CAAA,CAAA,YAAM,KAAK,CAAC,GAAG,CAAC,CAAA,CAAA;;AAA3B,oBAAA,QAAQ,GAAG,EAAgB,CAAA,IAAA,EAAA,CAAA;AACjC,oBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;;;;;;;;"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { __awaiter, __generator, __assign } from 'tslib';
|
|
2
|
+
import { c as checkSubscriptionByRockmanIdOnly } from './checkSubscriptionByRockmanIdOnly-C89Ph9cV.js';
|
|
3
|
+
import { a as loop } from './helpers-J_h-ZgxH.js';
|
|
4
|
+
import { searchToObject } from './searchToObject.js';
|
|
5
|
+
import { t as tracker } from './tracker-B_zsMRN2.js';
|
|
6
|
+
import 'pacman-client';
|
|
7
|
+
import 'uuid';
|
|
8
|
+
|
|
9
|
+
function checkSubscriptionHander(_a) {
|
|
10
|
+
var window = _a.window, flow = _a.flow, action = _a.action, args = _a.args;
|
|
11
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
12
|
+
var rockmanId, search, isMock, check, checkResult, error;
|
|
13
|
+
return __generator(this, function (_b) {
|
|
14
|
+
switch (_b.label) {
|
|
15
|
+
case 0:
|
|
16
|
+
rockmanId = window.pac_analytics.visitor.rockmanId;
|
|
17
|
+
search = searchToObject(window);
|
|
18
|
+
isMock = search['current-state'] === 'check-subscription-success-state';
|
|
19
|
+
if (isMock) {
|
|
20
|
+
// eslint-disable-next-line no-console
|
|
21
|
+
console.log('isMock is true');
|
|
22
|
+
}
|
|
23
|
+
check = function () {
|
|
24
|
+
return isMock
|
|
25
|
+
? Promise.resolve({
|
|
26
|
+
success: true,
|
|
27
|
+
rockman_id: rockmanId,
|
|
28
|
+
product_url: '/product',
|
|
29
|
+
msisdn: '000'
|
|
30
|
+
})
|
|
31
|
+
: checkSubscriptionByRockmanIdOnly({ window: window, rockmanId: rockmanId });
|
|
32
|
+
};
|
|
33
|
+
return [4 /*yield*/, loop(check, 60, function (r) { return r.success; }, 0)];
|
|
34
|
+
case 1:
|
|
35
|
+
checkResult = _b.sent();
|
|
36
|
+
if (checkResult.success === true) {
|
|
37
|
+
// eslint-disable-next-line no-param-reassign
|
|
38
|
+
if (flow && action) {
|
|
39
|
+
tracker.advancedInFlow(flow, action, __assign(__assign({}, args), { url: checkResult.product_url }));
|
|
40
|
+
}
|
|
41
|
+
window.location.href = checkResult.product_url;
|
|
42
|
+
return [2 /*return*/, checkResult.product_url || null];
|
|
43
|
+
}
|
|
44
|
+
error = new Error("".concat('SubscriptionFailed', ":\n").concat(checkResult.message));
|
|
45
|
+
error.type = 'SubscriptionFailed';
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { checkSubscriptionHander };
|
|
53
|
+
//# sourceMappingURL=checkSubscriptionHander.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkSubscriptionHander.js","sources":["../src/utilities/checkSubscriptionHander.ts"],"sourcesContent":["import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IError } from '../common-types/IError';\nimport { checkSubscriptionByRockmanIdOnly } from '../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IMockFlowParams } from '../sharedFlowTypes/StrategyTypes';\nimport { loop } from './helpers';\nimport { searchToObject } from './searchToObject';\nimport { tracker } from './tracker';\n\nexport async function checkSubscriptionHander({\n window,\n flow,\n action,\n args\n}: {\n window: Window;\n flow?: string;\n action?: string;\n args?: any;\n}): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const search = searchToObject(window) as IMockFlowParams<any>;\n const isMock = search['current-state'] === 'check-subscription-success-state';\n if (isMock) {\n // eslint-disable-next-line no-console\n console.log('isMock is true');\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n isMock\n ? Promise.resolve({\n success: true,\n rockman_id: rockmanId,\n product_url: '/product',\n msisdn: '000'\n })\n : checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true) {\n // eslint-disable-next-line no-param-reassign\n if (flow && action) {\n tracker.advancedInFlow(flow, action, {\n ...args,\n url: checkResult.product_url\n });\n }\n window.location.href = checkResult.product_url;\n return checkResult.product_url || null;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n"],"names":[],"mappings":";;;;;;;;AAQM,SAAgB,uBAAuB,CAAC,EAU7C,EAAA;QATC,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA;;;;;;AAOI,oBAAA,SAAS,GAAK,MAAM,CAAC,aAAa,CAAC,OAAO,UAAjC,CAAkC;AAC7C,oBAAA,MAAM,GAAG,cAAc,CAAC,MAAM,CAAyB,CAAC;AACxD,oBAAA,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,kCAAkC,CAAC;AAC9E,oBAAA,IAAI,MAAM,EAAE;;AAEV,wBAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AAC/B,qBAAA;AACK,oBAAA,KAAK,GAA4C,YAAA;AACrD,wBAAA,OAAA,MAAM;AACJ,8BAAE,OAAO,CAAC,OAAO,CAAC;AACd,gCAAA,OAAO,EAAE,IAAI;AACb,gCAAA,UAAU,EAAE,SAAS;AACrB,gCAAA,WAAW,EAAE,UAAU;AACvB,gCAAA,MAAM,EAAE,KAAK;6BACd,CAAC;8BACF,gCAAgC,CAAC,EAAE,MAAM,QAAA,EAAE,SAAS,EAAA,SAAA,EAAE,CAAC,CAAA;AAP3D,qBAO2D,CAAC;AAChB,oBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,UAAC,CAAC,EAAA,EAAK,OAAA,CAAC,CAAC,OAAO,CAAA,EAAA,EAAE,CAAC,CAAC,CAAA,CAAA;;AAAlF,oBAAA,WAAW,GAA6B,EAA0C,CAAA,IAAA,EAAA,CAAA;AAExF,oBAAA,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE;;wBAEhC,IAAI,IAAI,IAAI,MAAM,EAAE;AAClB,4BAAA,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAC9B,IAAI,CAAA,EAAA,EACP,GAAG,EAAE,WAAW,CAAC,WAAW,IAC5B,CAAC;AACJ,yBAAA;wBACD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC;AAC/C,wBAAA,OAAA,CAAA,CAAA,aAAO,WAAW,CAAC,WAAW,IAAI,IAAI,CAAC,CAAA;AACxC,qBAAA;AACK,oBAAA,KAAK,GAAG,IAAI,KAAK,CAAC,EAAG,CAAA,MAAA,CAAA,oBAAoB,EAAM,KAAA,CAAA,CAAA,MAAA,CAAA,WAAW,CAAC,OAAO,CAAE,CAA8B,CAAC;AACzG,oBAAA,KAAK,CAAC,IAAI,GAAG,oBAAoB,CAAC;AAClC,oBAAA,MAAM,KAAK,CAAC;;;;AACb;;;;"}
|
|
@@ -0,0 +1,246 @@
|
|
|
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 { t as tracker } from './tracker-B_zsMRN2.js';
|
|
5
|
+
import 'pacman-client';
|
|
6
|
+
import 'uuid';
|
|
7
|
+
|
|
8
|
+
var oc2sms = function (_a) {
|
|
9
|
+
var window = _a.window, country = _a.country, slug = _a.slug, offer = _a.offer, rockmanId = _a.rockmanId, keyword = _a.keyword, operator = _a.operator, search = _a.search;
|
|
10
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
11
|
+
var params, host, url;
|
|
12
|
+
return __generator(this, function (_b) {
|
|
13
|
+
params = new URLSearchParams(__assign(__assign(__assign({ action: 'oc2sms', country: country, slug: slug, offerId: offer.toString(), page: encodeURIComponent(window.location.href), device: 'smart', rockman_id: rockmanId }, (keyword && { keyword: keyword })), (operator && { operator: operator })), (search && { search: search }))).toString();
|
|
14
|
+
host = window.DEV_BASE_URL || '';
|
|
15
|
+
url = "".concat(host, "/tallyman/v1/?").concat(params);
|
|
16
|
+
return [2 /*return*/, fetch(url).then(function (x) { return x.json(); })];
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
function loadOnce(window, maybeConfig, operator, keyword, _shortcode) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
23
|
+
var keywordFromConfig, shortcodeFromConfig, offer, config, country, slug, rockmanId, search, result;
|
|
24
|
+
return __generator(this, function (_a) {
|
|
25
|
+
switch (_a.label) {
|
|
26
|
+
case 0:
|
|
27
|
+
if (!!maybeConfig && maybeConfig.tag === 'keywordAndShortCode') {
|
|
28
|
+
keywordFromConfig = maybeConfig.keyword, shortcodeFromConfig = maybeConfig.shortcode;
|
|
29
|
+
return [2 /*return*/, __assign({ type: 'SingleSubmissionResult' }, { keyword: keywordFromConfig, shortcode: shortcodeFromConfig })];
|
|
30
|
+
}
|
|
31
|
+
offer = window.pac_analytics.visitor.offer;
|
|
32
|
+
config = __assign({ offer: window.pac_analytics.visitor.offer }, maybeConfig);
|
|
33
|
+
country = config.country, slug = config.slug;
|
|
34
|
+
rockmanId = window.pac_analytics.visitor.rockmanId;
|
|
35
|
+
search = window.location.search.substr(1) || '';
|
|
36
|
+
return [4 /*yield*/, oc2sms({
|
|
37
|
+
window: window,
|
|
38
|
+
country: country,
|
|
39
|
+
slug: slug,
|
|
40
|
+
offer: offer,
|
|
41
|
+
rockmanId: rockmanId,
|
|
42
|
+
keyword: keyword,
|
|
43
|
+
operator: operator,
|
|
44
|
+
search: search
|
|
45
|
+
})];
|
|
46
|
+
case 1:
|
|
47
|
+
result = _a.sent();
|
|
48
|
+
if (!result.success) {
|
|
49
|
+
throw result.message;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return [2 /*return*/, __assign({ type: 'SingleSubmissionResult' }, {
|
|
53
|
+
keyword: "".concat(keyword || result.displayKeyword).concat(result.uid ? " ".concat(result.uid) : ''),
|
|
54
|
+
shortcode: result.shortcode
|
|
55
|
+
})];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
function right(r) {
|
|
62
|
+
return { type: 'right', value: r };
|
|
63
|
+
}
|
|
64
|
+
function left(l) {
|
|
65
|
+
return { type: 'left', value: l };
|
|
66
|
+
}
|
|
67
|
+
function loadForMultipleOperators(window, maybeConfig, operators, keyword, shortcode) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
69
|
+
var results, finalResults, arrResult_1;
|
|
70
|
+
var _this = this;
|
|
71
|
+
return __generator(this, function (_a) {
|
|
72
|
+
switch (_a.label) {
|
|
73
|
+
case 0:
|
|
74
|
+
results = Promise.all(operators.map(function (o) { return __awaiter(_this, void 0, void 0, function () {
|
|
75
|
+
var singleResult, error_1;
|
|
76
|
+
return __generator(this, function (_a) {
|
|
77
|
+
switch (_a.label) {
|
|
78
|
+
case 0:
|
|
79
|
+
_a.trys.push([0, 2, , 3]);
|
|
80
|
+
return [4 /*yield*/, loadOnce(window, maybeConfig, o, keyword)];
|
|
81
|
+
case 1:
|
|
82
|
+
singleResult = _a.sent();
|
|
83
|
+
return [2 /*return*/, right(__assign(__assign({}, singleResult), { operator: o }))];
|
|
84
|
+
case 2:
|
|
85
|
+
error_1 = _a.sent();
|
|
86
|
+
return [2 /*return*/, left(error_1)];
|
|
87
|
+
case 3: return [2 /*return*/];
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}); }));
|
|
91
|
+
return [4 /*yield*/, Promise.resolve(results)];
|
|
92
|
+
case 1:
|
|
93
|
+
finalResults = _a.sent();
|
|
94
|
+
if (finalResults.every(function (r) { return r.type === 'left'; })) {
|
|
95
|
+
// no submission worked
|
|
96
|
+
throw finalResults[0].value;
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
arrResult_1 = [];
|
|
100
|
+
finalResults.map(function (obj) {
|
|
101
|
+
if (obj.type === 'right') {
|
|
102
|
+
var r = obj.value;
|
|
103
|
+
arrResult_1.push({ keyword: r === null || r === void 0 ? void 0 : r.keyword, shortcode: r === null || r === void 0 ? void 0 : r.shortcode, operator: r === null || r === void 0 ? void 0 : r.operator });
|
|
104
|
+
}
|
|
105
|
+
return obj;
|
|
106
|
+
});
|
|
107
|
+
return [2 /*return*/, {
|
|
108
|
+
type: 'MultiOperatorSubmissionResult',
|
|
109
|
+
data: arrResult_1
|
|
110
|
+
}];
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
var load = function (window, maybeConfig, keyword, shortcode) { return __awaiter(void 0, void 0, void 0, function () {
|
|
117
|
+
return __generator(this, function (_a) {
|
|
118
|
+
if (!!maybeConfig && maybeConfig.tag === 'keywordAndShortCode') {
|
|
119
|
+
return [2 /*return*/, __assign({ type: 'SingleSubmissionResult' }, { keyword: maybeConfig.keyword, shortcode: maybeConfig.shortcode })];
|
|
120
|
+
}
|
|
121
|
+
if (!!maybeConfig && maybeConfig.tag === 'keyword') {
|
|
122
|
+
return [2 /*return*/, load1(window, maybeConfig, keyword)];
|
|
123
|
+
}
|
|
124
|
+
return [2 /*return*/, load1(window, maybeConfig, null)];
|
|
125
|
+
});
|
|
126
|
+
}); };
|
|
127
|
+
function load1(window, maybeConfig, keyword, shortcode) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
129
|
+
var config, singleOperator;
|
|
130
|
+
return __generator(this, function (_a) {
|
|
131
|
+
config = __assign({ offer: window.pac_analytics.visitor.offer }, maybeConfig);
|
|
132
|
+
if (config.automaticallySubmitAllOperators === true && !!config.operators && config.operators.length > 0) {
|
|
133
|
+
return [2 /*return*/, loadForMultipleOperators(window, maybeConfig, config.operators, keyword)];
|
|
134
|
+
}
|
|
135
|
+
singleOperator = maybeConfig.operators && maybeConfig.operators.length > 0 ? maybeConfig.operators[0] : null;
|
|
136
|
+
return [2 /*return*/, loadOnce(window, maybeConfig, singleOperator, keyword)];
|
|
137
|
+
});
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
var initialState = {
|
|
142
|
+
currentState: {
|
|
143
|
+
type: 'LOAD_OC2SMS',
|
|
144
|
+
result: NothingYet()
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* loadOc2smsAction
|
|
149
|
+
* @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}
|
|
150
|
+
|
|
151
|
+
* Calls oc2sms api that returns a keyword and short code
|
|
152
|
+
*
|
|
153
|
+
*/
|
|
154
|
+
var loadOc2smsAction = createAsyncThunk('click2Flow/loadOc2smsAction', function (_a, _b) {
|
|
155
|
+
var window = _a.window;
|
|
156
|
+
var getState = _b.getState, rejectWithValue = _b.rejectWithValue;
|
|
157
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
158
|
+
var state, maybeConfig, result, ex_1;
|
|
159
|
+
var _c, _d;
|
|
160
|
+
return __generator(this, function (_e) {
|
|
161
|
+
switch (_e.label) {
|
|
162
|
+
case 0:
|
|
163
|
+
state = getState();
|
|
164
|
+
maybeConfig = (_d = (_c = state.strategy.currentState) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.config;
|
|
165
|
+
_e.label = 1;
|
|
166
|
+
case 1:
|
|
167
|
+
_e.trys.push([1, 3, , 4]);
|
|
168
|
+
if (maybeConfig.tag === 'keywordAndShortCode') {
|
|
169
|
+
return [2 /*return*/, {
|
|
170
|
+
type: 'LOAD_OC2SMS',
|
|
171
|
+
result: Success(__assign({ type: 'SingleSubmissionResult' }, maybeConfig))
|
|
172
|
+
}];
|
|
173
|
+
}
|
|
174
|
+
// if ((!!maybeConfig && maybeConfig.tag !== 'keyword') || !maybeConfig) {
|
|
175
|
+
// Start Load Click 2sms
|
|
176
|
+
tracker.advancedInFlow('tallyman.v1-click2sms', 'load-click2sms');
|
|
177
|
+
return [4 /*yield*/, load(window, maybeConfig)];
|
|
178
|
+
case 2:
|
|
179
|
+
result = _e.sent();
|
|
180
|
+
tracker.advancedInFlow('tallyman.v1-click2sms', 'loaded-click2sms', result);
|
|
181
|
+
// End Load Click 2sms
|
|
182
|
+
return [2 /*return*/, {
|
|
183
|
+
type: 'LOAD_OC2SMS',
|
|
184
|
+
result: Success(result)
|
|
185
|
+
}];
|
|
186
|
+
case 3:
|
|
187
|
+
ex_1 = _e.sent();
|
|
188
|
+
console.warn(ex_1);
|
|
189
|
+
tracker.recedeInFlow('tallyman.v1-click2sms', 'load-click2sms-failure', ex_1.toString());
|
|
190
|
+
return [2 /*return*/, rejectWithValue(ex_1.toString())];
|
|
191
|
+
case 4: return [2 /*return*/];
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
var click2smsFlowSlice = createSlice({
|
|
197
|
+
name: 'click2smsFlow',
|
|
198
|
+
initialState: initialState,
|
|
199
|
+
reducers: {},
|
|
200
|
+
extraReducers: function (builder) {
|
|
201
|
+
builder
|
|
202
|
+
.addCase(loadOc2smsAction.pending, function (state) {
|
|
203
|
+
state.currentState = { type: 'LOAD_OC2SMS', result: Loading() };
|
|
204
|
+
})
|
|
205
|
+
.addCase(loadOc2smsAction.fulfilled, function (state, action) {
|
|
206
|
+
state.currentState = action.payload;
|
|
207
|
+
})
|
|
208
|
+
.addCase(loadOc2smsAction.rejected, function (state, action) {
|
|
209
|
+
state.currentState = {
|
|
210
|
+
type: 'LOAD_OC2SMS',
|
|
211
|
+
result: Failure(action.payload)
|
|
212
|
+
};
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
});
|
|
216
|
+
// Export reducers and actions
|
|
217
|
+
var click2smsFlowReducer = click2smsFlowSlice.reducer; click2smsFlowSlice.actions;
|
|
218
|
+
|
|
219
|
+
var useClick2smsFlowState = function (useSelector) {
|
|
220
|
+
var currentState = useSelector(function (state) { return state.click2smsFlow.currentState; });
|
|
221
|
+
return currentState;
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
var useKeyWordShortCode = function (useSelector) {
|
|
225
|
+
var _a;
|
|
226
|
+
var currentState = useSelector(function (state) { return state.click2smsFlow.currentState; });
|
|
227
|
+
// @ts-ignore
|
|
228
|
+
var data = (_a = currentState === null || currentState === void 0 ? void 0 : currentState.result) === null || _a === void 0 ? void 0 : _a.data;
|
|
229
|
+
return data;
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
function click2smsFlowMatch(_a) {
|
|
233
|
+
var load = _a.load;
|
|
234
|
+
return function (state) {
|
|
235
|
+
switch (state.type) {
|
|
236
|
+
case 'LOAD_OC2SMS':
|
|
237
|
+
return load(state.result);
|
|
238
|
+
default:
|
|
239
|
+
// TODO - this should be an error or something
|
|
240
|
+
return load(state.result);
|
|
241
|
+
}
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export { click2smsFlowMatch, click2smsFlowReducer, loadOc2smsAction, useClick2smsFlowState, useKeyWordShortCode };
|
|
246
|
+
//# sourceMappingURL=click2smsFlow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"click2smsFlow.js","sources":["../src/flows/click2smsFlow/api.ts","../src/flows/click2smsFlow/main.ts","../src/flows/click2smsFlow/click2smsFlowSlice.ts","../src/flows/click2smsFlow/hooks/useClick2smsFlowState.ts","../src/flows/click2smsFlow/hooks/useKeyWordShortCode.ts","../src/flows/click2smsFlow/match.ts"],"sourcesContent":["import { IFetchResult } from '../../sharedFlowTypes/Click2smsTypes';\n\nconst oc2sms = async ({\n window,\n country,\n slug,\n offer,\n rockmanId,\n keyword,\n operator,\n search\n}: {\n window: Window;\n country: string;\n slug: string;\n offer: string;\n rockmanId: string;\n keyword: string;\n operator: string;\n search: string;\n}): Promise<IFetchResult> => {\n const params = new URLSearchParams({\n action: 'oc2sms',\n country,\n slug,\n offerId: offer.toString(),\n page: encodeURIComponent(window.location.href),\n device: 'smart',\n rockman_id: rockmanId,\n ...(keyword && { keyword }),\n ...(operator && { operator }),\n ...(search && { search })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}`;\n return fetch(url).then((x) => x.json());\n};\n\nexport { oc2sms };\n","import {\n IClick2smsConfig,\n IFetchResult,\n IKeywordShortcode,\n MultiOperatorSubmissionResult,\n SingleSubmissionResult\n} from '../../sharedFlowTypes/Click2smsTypes';\nimport { oc2sms } from './api';\n\nasync function loadOnce(\n window: Window,\n maybeConfig: IClick2smsConfig,\n operator?: string,\n keyword?: string,\n _shortcode?: string\n): Promise<SingleSubmissionResult> {\n if (!!maybeConfig && maybeConfig.tag === 'keywordAndShortCode') {\n const { keyword: keywordFromConfig, shortcode: shortcodeFromConfig } = maybeConfig;\n return {\n type: 'SingleSubmissionResult',\n ...({ keyword: keywordFromConfig, shortcode: shortcodeFromConfig } as IKeywordShortcode)\n };\n }\n const { offer } = window.pac_analytics.visitor;\n const config = { offer: window.pac_analytics.visitor.offer, ...maybeConfig };\n\n const { country, slug } = config;\n const { rockmanId } = window.pac_analytics.visitor;\n const search = window.location.search.substr(1) || '';\n\n const result: IFetchResult = await oc2sms({\n window,\n country,\n slug,\n offer,\n rockmanId,\n keyword,\n operator,\n search\n });\n if (!result.success) {\n throw result.message;\n } else {\n return {\n type: 'SingleSubmissionResult',\n ...{\n keyword: `${keyword || result.displayKeyword}${result.uid ? ` ${result.uid}` : ''}`,\n shortcode: result.shortcode\n }\n };\n }\n}\ntype Either<L, R> = { type: 'left'; value: L } | { type: 'right'; value: R };\nfunction right<L, R>(r: R) {\n return { type: 'right', value: r } as Either<L, R>;\n}\nfunction left<L, R>(l: L) {\n return { type: 'left', value: l } as Either<L, R>;\n}\n\nasync function loadForMultipleOperators(\n window: Window,\n maybeConfig: IClick2smsConfig,\n operators: string[],\n keyword?: string,\n shortcode?: string\n): Promise<MultiOperatorSubmissionResult> {\n const results = Promise.all(\n operators.map(async (o) => {\n try {\n const singleResult = await loadOnce(window, maybeConfig, o, keyword, shortcode);\n return right({ ...singleResult, operator: o });\n } catch (error) {\n return left(error);\n }\n })\n );\n\n const finalResults = await Promise.resolve(results);\n if (finalResults.every((r) => r.type === 'left')) {\n // no submission worked\n throw finalResults[0].value;\n } else {\n const arrResult: Array<IKeywordShortcode> = [];\n finalResults.map((obj) => {\n if (obj.type === 'right') {\n const r = obj.value as IKeywordShortcode;\n arrResult.push({ keyword: r?.keyword, shortcode: r?.shortcode, operator: r?.operator });\n }\n return obj;\n });\n\n return {\n type: 'MultiOperatorSubmissionResult',\n data: arrResult\n };\n }\n}\n\nexport const load = async (\n window: Window,\n maybeConfig: IClick2smsConfig,\n keyword?: string,\n shortcode?: string\n): Promise<SingleSubmissionResult | MultiOperatorSubmissionResult> => {\n if (!!maybeConfig && maybeConfig.tag === 'keywordAndShortCode') {\n return {\n type: 'SingleSubmissionResult',\n ...({ keyword: maybeConfig.keyword, shortcode: maybeConfig.shortcode } as IKeywordShortcode)\n };\n }\n if (!!maybeConfig && maybeConfig.tag === 'keyword') {\n return load1(window, maybeConfig, keyword, shortcode);\n }\n return load1(window, maybeConfig, null, null);\n};\n\nexport async function load1(\n window: Window,\n maybeConfig: IClick2smsConfig,\n keyword?: string,\n shortcode?: string\n): Promise<SingleSubmissionResult | MultiOperatorSubmissionResult> {\n const config = { offer: window.pac_analytics.visitor.offer, ...maybeConfig };\n\n if (config.automaticallySubmitAllOperators === true && !!config.operators && config.operators.length > 0) {\n return loadForMultipleOperators(window, maybeConfig, config.operators, keyword, shortcode);\n }\n const singleOperator = maybeConfig.operators && maybeConfig.operators.length > 0 ? maybeConfig.operators[0] : null;\n return loadOnce(window, maybeConfig, singleOperator, keyword, shortcode);\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { Click2smsFlowState, IClick2smsConfig, LOAD_OC2SMSState } from '../../sharedFlowTypes/Click2smsTypes';\nimport { IHash, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { tracker } from '../../utilities/tracker';\nimport { load } from './main';\n\nconst initialState: Click2smsFlowState = {\n currentState: {\n type: 'LOAD_OC2SMS',\n result: RDS.NothingYet()\n }\n};\n\ninterface LOAD_OC2SMSArgs {\n window: Window;\n extraParams?: IHash;\n}\n/**\n * loadOc2smsAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls oc2sms api that returns a keyword and short code\n *\n */\nexport const loadOc2smsAction = createAsyncThunk<\n LOAD_OC2SMSState,\n LOAD_OC2SMSArgs,\n {\n rejectValue: string;\n }\n // @ts-ignore\n>('click2Flow/loadOc2smsAction', async ({ window }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n const maybeConfig = (state.strategy.currentState?.data?.config as any) as IClick2smsConfig;\n\n try {\n if (maybeConfig.tag === 'keywordAndShortCode') {\n return {\n type: 'LOAD_OC2SMS',\n result: RDS.Success({\n type: 'SingleSubmissionResult',\n ...maybeConfig\n })\n };\n }\n // if ((!!maybeConfig && maybeConfig.tag !== 'keyword') || !maybeConfig) {\n\n // Start Load Click 2sms\n tracker.advancedInFlow('tallyman.v1-click2sms', 'load-click2sms');\n const result = await load(window, maybeConfig);\n tracker.advancedInFlow('tallyman.v1-click2sms', 'loaded-click2sms', result);\n // End Load Click 2sms\n return {\n type: 'LOAD_OC2SMS',\n result: RDS.Success(result)\n };\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-click2sms', 'load-click2sms-failure', ex.toString());\n return rejectWithValue(ex.toString() as string);\n }\n});\n\nconst click2smsFlowSlice = createSlice({\n name: 'click2smsFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(loadOc2smsAction.pending, (state) => {\n state.currentState = { type: 'LOAD_OC2SMS', result: RDS.Loading() };\n })\n .addCase(loadOc2smsAction.fulfilled, (state, action: PayloadAction<LOAD_OC2SMSState>) => {\n state.currentState = action.payload;\n })\n .addCase(loadOc2smsAction.rejected, (state, action: PayloadAction<any>) => {\n state.currentState = {\n type: 'LOAD_OC2SMS',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: click2smsFlowReducer, actions: click2smsFlowActions } = click2smsFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectClick2smsRedirFlowState = (state: any) => state.click2smsFlow;\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useClick2smsFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.click2smsFlow.currentState);\n return currentState;\n};\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { IWithMultiKeywordShortcode } from '../../../sharedFlowTypes/Click2smsTypes';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useKeyWordShortCode = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.click2smsFlow.currentState);\n // @ts-ignore\n const data: IWithMultiKeywordShortcode = currentState?.result?.data;\n return data;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { Click2smsFlowCurrentState, IWithMultiKeywordShortcode } from '../../sharedFlowTypes/Click2smsTypes';\n\nfunction click2smsFlowMatch<R>({\n load\n}: {\n load: (rds: RDS.RemoteDataState<string, IWithMultiKeywordShortcode>) => R;\n}): (state: Click2smsFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'LOAD_OC2SMS':\n return load(state.result);\n default:\n // TODO - this should be an error or something\n return load(state.result);\n }\n };\n}\n\nexport { click2smsFlowMatch };\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Loading","RDS.Failure"],"mappings":"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"}
|