ouisys-engine 4.7.0-alpha.1 → 4.7.0-alpha.11
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-lcf8PfJd.js +2 -0
- package/dist/{RemoteDataState-CwHLI23e.js.map → RemoteDataState-lcf8PfJd.js.map} +1 -1
- package/dist/bupperizeCountry-CEtt0MKz.js +2 -0
- package/dist/bupperizeCountry-CEtt0MKz.js.map +1 -0
- package/dist/checkSubscriptionByRockmanIdOnly-BwR1un1L.js +2 -0
- package/dist/{checkSubscriptionByRockmanIdOnly-C89Ph9cV.js.map → checkSubscriptionByRockmanIdOnly-BwR1un1L.js.map} +1 -1
- package/dist/checkSubscriptionHander.js +1 -52
- package/dist/checkSubscriptionHander.js.map +1 -1
- package/dist/click2smsFlow.js +1 -245
- package/dist/click2smsFlow.js.map +1 -1
- package/dist/creditCardFlow.js +1 -247
- package/dist/creditCardFlow.js.map +1 -1
- package/dist/getConfig.js +1 -13
- package/dist/getConfig.js.map +1 -1
- package/dist/handleClickChainFlow.js +1 -31
- package/dist/handleClickChainFlow.js.map +1 -1
- package/dist/handleSubmitNumber.js +1 -64
- package/dist/handleSubmitNumber.js.map +1 -1
- package/dist/helpers-xPhGBX-B.js +2 -0
- package/dist/helpers-xPhGBX-B.js.map +1 -0
- package/dist/loadScriptInnerHtml-BzQm-AFb.js +2 -0
- package/dist/loadScriptInnerHtml-BzQm-AFb.js.map +1 -0
- package/dist/loadScriptSrc-Da4autZd.js +2 -0
- package/dist/loadScriptSrc-Da4autZd.js.map +1 -0
- package/dist/moFlow.js +1 -274
- package/dist/moFlow.js.map +1 -1
- package/dist/moRedirFlow.js +1 -224
- package/dist/moRedirFlow.js.map +1 -1
- package/dist/oneClickFlow.js +1 -463
- package/dist/oneClickFlow.js.map +1 -1
- package/dist/pinFlow.js +1 -696
- package/dist/pinFlow.js.map +1 -1
- package/dist/searchToObject.js +1 -18
- package/dist/searchToObject.js.map +1 -1
- package/dist/storeMsisdn-Cjq8_qYH.js +2 -0
- package/dist/{storeMsisdn-ChiBh8mI.js.map → storeMsisdn-Cjq8_qYH.js.map} +1 -1
- package/dist/strategy.js +1 -49
- package/dist/strategy.js.map +1 -1
- package/dist/strategySlice-Dw14E22-.js +2 -0
- package/dist/strategySlice-Dw14E22-.js.map +1 -0
- package/dist/tracker-DaaILhEr.js +2 -0
- package/dist/tracker-DaaILhEr.js.map +1 -0
- package/dist/tracker.js +1 -4
- package/dist/tracker.js.map +1 -1
- package/dist/tryGetIPRangeName-QW-9NgzE.js +2 -0
- package/dist/tryGetIPRangeName-QW-9NgzE.js.map +1 -0
- package/dist/types/{OneClickTypes-DF0jodl-.d.ts → OneClickTypes-DjOesaHp.d.ts} +1 -1
- package/dist/types/{StrategyTypes-BEIYqoJV.d.ts → StrategyTypes-CbOgk0N4.d.ts} +3 -2
- package/dist/types/click2smsFlow.d.ts +3 -3
- package/dist/types/handleSubmitNumber.d.ts +3 -3
- package/dist/types/oneClickFlow.d.ts +2 -2
- package/dist/types/strategy.d.ts +12 -4
- package/dist/ussdFlow.js +1 -210
- package/dist/ussdFlow.js.map +1 -1
- package/package.json +6 -6
- package/dist/RemoteDataState-CwHLI23e.js +0 -75
- package/dist/bupperizeCountry-CCDIOHP6.js +0 -4
- package/dist/bupperizeCountry-CCDIOHP6.js.map +0 -1
- package/dist/checkSubscriptionByRockmanIdOnly-C89Ph9cV.js +0 -27
- package/dist/helpers-J_h-ZgxH.js +0 -29
- package/dist/helpers-J_h-ZgxH.js.map +0 -1
- package/dist/loadScriptInnerHtml-DPcoY467.js +0 -26
- package/dist/loadScriptInnerHtml-DPcoY467.js.map +0 -1
- package/dist/storeMsisdn-ChiBh8mI.js +0 -58
- package/dist/strategySlice-bF74rxDK.js +0 -842
- package/dist/strategySlice-bF74rxDK.js.map +0 -1
- package/dist/tracker-B_zsMRN2.js +0 -79
- package/dist/tracker-B_zsMRN2.js.map +0 -1
- package/dist/tryGetIPRangeName-C69HEG5W.js +0 -42
- package/dist/tryGetIPRangeName-C69HEG5W.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=function(){return{type:"NothingYet"}},t=function(){return{type:"Loading"}},n=function(e){return{type:"Failure",error:e}},r=function(e){return{type:"Success",data:e}},u=Object.freeze({__proto__:null,Failure:n,IsFailure:function(e){return"Failure"===e.type},IsLoading:function(e){return"Loading"===e.type},IsNothingYet:function(e){return"NothingYet"===e.type},IsSuccess:function(e){return"Success"===e.type},Loading:t,MatchFailure:function(e){var t=e.failure,n=e.otherwise;return function(e){return"Failure"===e.type?t(e.error):n()}},MatchSuccess:function(e){var t=e.success,n=e.otherwise;return function(e){return"Success"===e.type?t(e.data):n(e)}},NothingYet:e,Success:r,WhenFailure:function(e,t){return function(n){return"Failure"===n.type?t(n.error):e}},WhenLoading:function(e,t){return function(n){return"Loading"===n.type?t():e}},WhenSuccess:function(e,t){return function(n){return"Success"===n.type?t(n.data):e}},match:function(e){var t=e.nothingYet,n=e.loading,r=e.failure,u=e.success;return function(e){switch(e.type){case"NothingYet":default:return t();case"Loading":return n();case"Failure":return r(e.error);case"Success":return u(e.data)}}}});export{n as F,t as L,e as N,u as R,r as S};
|
|
2
|
+
//# sourceMappingURL=RemoteDataState-lcf8PfJd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteDataState-
|
|
1
|
+
{"version":3,"file":"RemoteDataState-lcf8PfJd.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":["NothingYet","type","Loading","Failure","error","Success","data","s","_a","failure","otherwise","success","d","r","nothingYet","loading","model"],"mappings":"AAwCa,IAAAA,EAAa,WAAmC,MAAC,CAC5DC,KAAM,aACL,EAEUC,EAAU,WAAmC,MAAC,CACzDD,KAAM,UACL,EAEUE,EAAU,SAAOC,GAAoC,MAAC,CACjEH,KAAM,UACNG,MAAKA,EACJ,EAEUC,EAAU,SAAOC,GAAmC,MAAC,CAChEL,KAAM,UACNK,KAAIA,EACH,sDAIsB,SAAOC,GAA6B,MAAW,YAAXA,EAAEN,gBADtC,SAAOM,GAA6B,MAAW,YAAXA,EAAEN,mBADnC,SAAOM,GAA6B,MAAW,eAAXA,EAAEN,gBAGzC,SAAOM,GAA6B,MAAW,YAAXA,EAAEN,6BAWnC,SAAUO,OAAEC,EAAOD,EAAAC,QAAEC,EAASF,EAAAE,UAAuD,OAAA,SAC/GH,GACG,MAAY,YAAXA,EAAEN,KAAqBQ,EAAQF,EAAEH,OAASM,GAAY,CAFqD,eAIrF,SAAUF,OAAEG,EAAOH,EAAAG,QAAED,EAASF,EAAAE,UAAiC,OAAA,SAACH,GAC1F,MAAW,YAAXA,EAAEN,KAAqBU,EAAQJ,EAAED,MAAQI,EAAUH,GADsC,qCAbhE,SAAUK,EAAMC,GAAqB,OAAA,SAACN,GAC/D,MAAW,YAAXA,EAAEN,KAAqBY,EAAEN,EAAEH,OAASQ,CAApC,eAEyB,SAAOA,EAAMC,GAAe,OAAA,SAACN,GACtD,MAAW,YAAXA,EAAEN,KAAqBY,IAAMD,CAA7B,eAEyB,SAAOA,EAAMC,GAAsB,OAAA,SAACN,GAC7D,MAAW,YAAXA,EAAEN,KAAqBY,EAAEN,EAAED,MAAQM,CAAnC,SApDI,SAAyBJ,OAC7BM,EAAUN,EAAAM,WACVC,EAAOP,EAAAO,QACPN,EAAOD,EAAAC,QACPE,EAAOH,EAAAG,QAEP,OAAO,SAACK,GACN,OAAQA,EAAMf,MACZ,IAAK,aAQL,QACE,OAAOa,IAPT,IAAK,UACH,OAAOC,IACT,IAAK,UACH,OAAON,EAAQO,EAAMZ,OACvB,IAAK,UACH,OAAOO,EAAQK,EAAMV,MAI3B,CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bupperizeCountry-CEtt0MKz.js","sources":["../src/utilities/bupperizeCountry.ts"],"sourcesContent":["const bupperizeCountry = (c: string) => (c === 'gb' ? 'uk' : c);\nexport { bupperizeCountry };\n"],"names":["bupperizeCountry","c"],"mappings":"AAAM,IAAAA,EAAmB,SAACC,GAAc,MAAO,OAANA,EAAa,KAAOA,CAArB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__awaiter as n,__generator as t}from"tslib";var r=function(r){var c=r.window,o=r.rockmanId;return n(void 0,void 0,void 0,(function(){var n,r,a;return t(this,(function(t){switch(t.label){case 0:return n=c.DEV_BASE_URL||"",r=new URLSearchParams({action:"check-subscription",rockman_id:o}).toString(),a="".concat(n,"/tallyman/v1/?").concat(r),[4,fetch(a)];case 1:return[2,t.sent().json()]}}))}))};export{r as c};
|
|
2
|
+
//# sourceMappingURL=checkSubscriptionByRockmanIdOnly-BwR1un1L.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkSubscriptionByRockmanIdOnly-
|
|
1
|
+
{"version":3,"file":"checkSubscriptionByRockmanIdOnly-BwR1un1L.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":["checkSubscriptionByRockmanIdOnly","_a","window","rockmanId","host","DEV_BASE_URL","urlParams","URLSearchParams","action","rockman_id","toString","url","concat","fetch","_b","sent","json"],"mappings":"mDAEM,IAAAA,EAAmC,SAAOC,OAC9CC,EAAMD,EAAAC,OACNC,EAASF,EAAAE,gHAeQ,OAVXC,EAAQF,EAAkBG,cAAgB,GAO1CC,EAAY,IAAIC,gBALP,CACbC,OAAQ,qBACRC,WAAYN,IAGgCO,WACxCC,EAAM,GAAGC,OAAAR,EAAqB,kBAAAQ,OAAAN,GAEnB,CAAA,EAAMO,MAAMF,WAC7B,MAAA,CAAA,EADiBG,EAAgBC,OACjBC"}
|
|
@@ -1,53 +1,2 @@
|
|
|
1
|
-
import
|
|
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 };
|
|
1
|
+
import{__awaiter as r,__generator as c,__assign as i}from"tslib";import{c as o}from"./checkSubscriptionByRockmanIdOnly-BwR1un1L.js";import{a as t}from"./helpers-xPhGBX-B.js";import{searchToObject as e}from"./searchToObject.js";import{t as n}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";function s(s){var a,u,l,d,p=s.window,m=s.flow,v=s.action,f=s.args;return r(this,void 0,void 0,(function(){var r,s,h,w,_,k,b;return c(this,(function(c){switch(c.label){case 0:return r=p.pac_analytics.visitor.rockmanId,s=e(p),(h="check-subscription-success-state"===s["current-state"])&&console.log("isMock is true"),[4,t((function(){return h?Promise.resolve({success:!0,rockman_id:r,product_url:"/product",msisdn:"000"}):o({window:p,rockmanId:r})}),60,(function(r){return r.success}),0)];case 1:if(!0===(w=c.sent()).success)return _=w.product_url,m&&v&&n.advancedInFlow(m,v,i(i({},f),{url:w.product_url})),(null===(u=null===(a=null==p?void 0:p.pac_analytics)||void 0===a?void 0:a.visitor)||void 0===u?void 0:u.chainRedirectUrl)?(k=null===(d=null===(l=null==p?void 0:p.pac_analytics)||void 0===l?void 0:l.visitor)||void 0===d?void 0:d.chainRedirectUrl,n.customEvent(m,"redirect","chain-redirect",{redirect_url:k}),p.location.replace(k)):(n.customEvent(m,"redirect","product-redirect",{redirect_url:_}),p.location.replace(_)),[2,_||null];throw(b=new Error("".concat("SubscriptionFailed",":\n").concat(w.message))).type="SubscriptionFailed",b}}))}))}export{s as checkSubscriptionHander};
|
|
53
2
|
//# sourceMappingURL=checkSubscriptionHander.js.map
|
|
@@ -1 +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
|
|
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 const productUrl = checkResult.product_url;\n if (flow && action) {\n tracker.advancedInFlow(flow, action, {\n ...args,\n url: checkResult.product_url\n });\n }\n if (window?.pac_analytics?.visitor?.chainRedirectUrl) {\n const chainLink = window?.pac_analytics?.visitor?.chainRedirectUrl;\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: chainLink });\n window.location.replace(chainLink);\n } else {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n window.location.replace(productUrl);\n }\n\n return productUrl || 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":["checkSubscriptionHander","_a","window","flow","action","args","rockmanId","pac_analytics","visitor","search","searchToObject","isMock","console","log","loop","Promise","resolve","success","rockman_id","product_url","msisdn","checkSubscriptionByRockmanIdOnly","r","checkResult","_f","sent","productUrl","tracker","advancedInFlow","__assign","url","_c","_b","chainRedirectUrl","chainLink","_e","_d","customEvent","redirect_url","location","replace","error","Error","concat","message","type"],"mappings":"gTAQM,SAAgBA,EAAwBC,eAC5CC,EAAMD,EAAAC,OACNC,EAAIF,EAAAE,KACJC,EAAMH,EAAAG,OACNC,EAAIJ,EAAAI,iHAuB0C,OAhBtCC,EAAcJ,EAAOK,cAAcC,kBACrCC,EAASC,EAAeR,IACxBS,EAAqC,qCAA5BF,EAAO,mBAGpBG,QAAQC,IAAI,kBAWgC,CAAA,EAAMC,GATG,WACrD,OAAAH,EACII,QAAQC,QAAQ,CACdC,SAAS,EACTC,WAAYZ,EACZa,YAAa,WACbC,OAAQ,QAEVC,EAAiC,CAAEnB,SAAQI,UAASA,GAPxD,GAQ8D,IAAI,SAACgB,GAAM,OAAAA,EAAEL,UAAS,WAEtF,IAA4B,KAFtBM,EAAwCC,EAA0CC,QAExER,QAiBd,OAhBMS,EAAaH,EAAYJ,YAC3BhB,GAAQC,GACVuB,EAAQC,eAAezB,EAAMC,EAAMyB,EAAAA,EAAA,CAAA,EAC9BxB,GAAI,CACPyB,IAAKP,EAAYJ,gBAGa,QAA9BY,EAAqB,QAArBC,EAAA9B,aAAM,EAANA,EAAQK,qBAAa,IAAAyB,OAAA,EAAAA,EAAExB,eAAO,IAAAuB,OAAA,EAAAA,EAAEE,mBAC5BC,EAA0C,QAA9BC,EAAqB,QAArBC,EAAAlC,aAAM,EAANA,EAAQK,qBAAa,IAAA6B,OAAA,EAAAA,EAAE5B,eAAO,IAAA2B,OAAA,EAAAA,EAAEF,iBAClDN,EAAQU,YAAYlC,EAAM,WAAY,iBAAkB,CAAEmC,aAAcJ,IACxEhC,EAAOqC,SAASC,QAAQN,KAExBP,EAAQU,YAAYlC,EAAM,WAAY,mBAAoB,CAAEmC,aAAcZ,IAC1ExB,EAAOqC,SAASC,QAAQd,IAGnB,CAAA,EAAAA,GAAc,MAIvB,MAFMe,EAAQ,IAAIC,MAAM,GAAGC,OAAA,qBAA0B,OAAAA,OAAApB,EAAYqB,WAC3DC,KAAO,qBACPJ,QACP"}
|
package/dist/click2smsFlow.js
CHANGED
|
@@ -1,246 +1,2 @@
|
|
|
1
|
-
import {
|
|
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 };
|
|
1
|
+
import{__awaiter as t,__generator as r,__assign as e}from"tslib";import{createAsyncThunk as o,createSlice as n}from"@reduxjs/toolkit";import{S as i,L as a,F as c,N as s}from"./RemoteDataState-lcf8PfJd.js";import{t as u}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var l=function(o){var n=o.window,i=o.country,a=o.slug,c=o.offer,s=o.rockmanId,u=o.keyword,l=o.operator,d=o.search;return t(void 0,void 0,void 0,(function(){var t,o,f;return r(this,(function(r){return t=new URLSearchParams(e(e(e({action:"oc2sms",country:i,slug:a,offerId:c.toString(),page:encodeURIComponent(n.location.href),device:"smart",rockman_id:s},u&&{keyword:u}),l&&{operator:l}),d&&{search:d})).toString(),o=n.DEV_BASE_URL||"",f="".concat(o,"/tallyman/v1/?").concat(t),[2,fetch(f).then((function(t){return t.json()}))]}))}))};function d(o,n,i,a,c){return t(this,void 0,void 0,(function(){var t,c,s,u,d,f,v,p,y;return r(this,(function(r){switch(r.label){case 0:return n&&"keywordAndShortCode"===n.tag?(t=n.keyword,c=n.shortcode,[2,e({type:"SingleSubmissionResult"},{keyword:t,shortcode:c})]):(s=o.pac_analytics.visitor.offer,u=e({offer:o.pac_analytics.visitor.offer},n),d=u.country,f=u.slug,v=o.pac_analytics.visitor.rockmanId,p=o.location.search.substr(1)||"",[4,l({window:o,country:d,slug:f,offer:s,rockmanId:v,keyword:a,operator:i,search:p})]);case 1:if((y=r.sent()).success)return[2,e({type:"SingleSubmissionResult"},{keyword:"".concat(a||y.displayKeyword).concat(y.uid?" ".concat(y.uid):""),shortcode:y.shortcode})];throw y.message}}))}))}function f(o,n,i,a,c){return t(this,void 0,void 0,(function(){var c,s,u,l=this;return r(this,(function(f){switch(f.label){case 0:return c=Promise.all(i.map((function(i){return t(l,void 0,void 0,(function(){var t,c;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,d(o,n,i,a)];case 1:return t=r.sent(),[2,(u=e(e({},t),{operator:i}),{type:"right",value:u})];case 2:return c=r.sent(),[2,(s=c,{type:"left",value:s})];case 3:return[2]}var s,u}))}))}))),[4,Promise.resolve(c)];case 1:if((s=f.sent()).every((function(t){return"left"===t.type})))throw s[0].value;return u=[],s.map((function(t){if("right"===t.type){var r=t.value;u.push({keyword:null==r?void 0:r.keyword,shortcode:null==r?void 0:r.shortcode,operator:null==r?void 0:r.operator})}return t})),[2,{type:"MultiOperatorSubmissionResult",data:u}]}}))}))}var v=function(o,n,i,a){return t(void 0,void 0,void 0,(function(){return r(this,(function(t){return n&&"keywordAndShortCode"===n.tag?[2,e({type:"SingleSubmissionResult"},{keyword:n.keyword,shortcode:n.shortcode})]:n&&"keyword"===n.tag?[2,p(o,n,i)]:[2,p(o,n,null)]}))}))};function p(o,n,i,a){return t(this,void 0,void 0,(function(){var t,a;return r(this,(function(r){return!0===(t=e({offer:o.pac_analytics.visitor.offer},n)).automaticallySubmitAllOperators&&t.operators&&t.operators.length>0?[2,f(o,n,t.operators,i)]:(a=n.operators&&n.operators.length>0?n.operators[0]:null,[2,d(o,n,a,i)])}))}))}var y={currentState:{type:"LOAD_OC2SMS",result:s()}},m=o("click2Flow/loadOc2smsAction",(function(o,n){var a=o.window,c=n.getState,s=n.rejectWithValue;return t(void 0,void 0,void 0,(function(){var t,o,n,l,d,f,p,y,m;return r(this,(function(r){switch(r.label){case 0:if(t=c(),!(null===(p=null===(f=null===(d=null==t?void 0:t.strategy)||void 0===d?void 0:d.currentState)||void 0===f?void 0:f.data)||void 0===p?void 0:p.config))return[2,s("UnexpectedState")];o=null===(m=null===(y=t.strategy.currentState)||void 0===y?void 0:y.data)||void 0===m?void 0:m.config,r.label=1;case 1:return r.trys.push([1,3,,4]),"keywordAndShortCode"===o.tag?[2,{type:"LOAD_OC2SMS",result:i(e({type:"SingleSubmissionResult"},o))}]:(u.advancedInFlow("tallyman.v1-click2sms","load-click2sms"),[4,v(a,o)]);case 2:return n=r.sent(),u.advancedInFlow("tallyman.v1-click2sms","loaded-click2sms",n),[2,{type:"LOAD_OC2SMS",result:i(n)}];case 3:return l=r.sent(),console.warn(l),u.recedeInFlow("tallyman.v1-click2sms","load-click2sms-failure",l.toString()),[2,s(l.toString())];case 4:return[2]}}))}))})),h=n({name:"click2smsFlow",initialState:y,reducers:{},extraReducers:function(t){t.addCase(m.pending,(function(t){t.currentState={type:"LOAD_OC2SMS",result:a()}})).addCase(m.fulfilled,(function(t,r){t.currentState=r.payload})).addCase(m.rejected,(function(t,r){t.currentState={type:"LOAD_OC2SMS",result:c(r.payload)}}))}}),S=h.reducer;h.actions;var w=function(t){return t((function(t){return t.click2smsFlow.currentState}))},k=function(t){var r,e=t((function(t){return t.click2smsFlow.currentState}));return null===(r=null==e?void 0:e.result)||void 0===r?void 0:r.data};function g(t){var r=t.load;return function(t){return t.type,r(t.result)}}export{g as click2smsFlowMatch,S as click2smsFlowReducer,m as loadOc2smsAction,w as useClick2smsFlowState,k as useKeyWordShortCode};
|
|
246
2
|
//# sourceMappingURL=click2smsFlow.js.map
|
|
@@ -1 +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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"}
|
|
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 if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue('UnexpectedState');\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":["oc2sms","_a","window","country","slug","offer","rockmanId","keyword","operator","search","params","URLSearchParams","__assign","action","offerId","toString","page","encodeURIComponent","location","href","device","rockman_id","host","DEV_BASE_URL","url","concat","fetch","then","x","json","loadOnce","maybeConfig","_shortcode","tag","keywordFromConfig","shortcodeFromConfig","type","shortcode","pac_analytics","visitor","config","substr","result","sent","success","displayKeyword","uid","message","loadForMultipleOperators","operators","results","Promise","all","map","o","__awaiter","_this","singleResult","r","value","l","error_1","resolve","finalResults","every","arrResult_1","obj","push","data","load","load1","automaticallySubmitAllOperators","length","singleOperator","initialState","currentState","RDS.NothingYet","loadOc2smsAction","createAsyncThunk","_b","getState","rejectWithValue","state","_e","_c","strategy","_d","_g","_f","RDS.Success","tracker","advancedInFlow","_h","console","warn","ex_1","recedeInFlow","click2smsFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","RDS.Failure","click2smsFlowReducer","reducer","actions","useClick2smsFlowState","useSelector","click2smsFlow","useKeyWordShortCode","click2smsFlowMatch"],"mappings":"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"}
|