ouisys-engine 5.1.21 → 5.1.22

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.
@@ -1,4 +1,5 @@
1
1
  import { __awaiter, __generator, __assign } from 'tslib';
2
+ import { h as handleResolveRedirect } from './handleResolveRedirect-5Hkm5YXF.js';
2
3
  import { l as loop } from './helpers-BIBpnXln.js';
3
4
  import { searchToObject } from './searchToObject.js';
4
5
  import { t as tracker } from './tracker-B_zsMRN2.js';
@@ -111,7 +112,8 @@ function checkSubscriptionHander(_a) {
111
112
  updatedChainLink = updateUrlWithParams(chainLink, extraParams);
112
113
  if (isRedirectToChainAndProduct) {
113
114
  tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });
114
- window.open(updatedChainLink, '_blank');
115
+ handleResolveRedirect(updatedChainLink);
116
+ // window.open(updatedChainLink, '_blank');
115
117
  if (productUrl_1 && productUrl_1 !== '') {
116
118
  setTimeout(function () {
117
119
  tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl_1 });
@@ -121,7 +123,8 @@ function checkSubscriptionHander(_a) {
121
123
  return [2 /*return*/];
122
124
  }
123
125
  tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });
124
- redirect(updatedChainLink);
126
+ // redirect(updatedChainLink);
127
+ handleResolveRedirect(updatedChainLink);
125
128
  }
126
129
  else if (productUrl_1 && productUrl_1 !== '') {
127
130
  tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl_1 });
@@ -1 +1 @@
1
- {"version":3,"file":"checkSubscriptionHander.js","sources":["../../src/sharedApi/checkSubscriptionByRockmanIdOnly.ts","../../src/utilities/checkSubscriptionHander.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","import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IError } from '../common-types/IError';\nimport { checkSubscriptionByRockmanIdOnly } from '../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { loop } from './helpers';\nimport { searchToObject } from './searchToObject';\nimport { tracker } from './tracker';\nimport { updateUrlWithParams } from './updateUrlWithParams';\n\nfunction redirect(rawUrl: string) {\n const target = fullyDecode(rawUrl).replace(/^\\/+/, ''); // drop leading /\n if (!/^https?:\\/\\//i.test(target)) {\n throw new Error(`Decoded string is not an absolute URL: ${target}`);\n }\n window.location.replace(target); // or: window.location.href = target\n}\n\nfunction fullyDecode(s: string): string {\n let prev;\n do {\n prev = s;\n try {\n s = decodeURIComponent(s);\n } catch {\n break;\n } // stop if it’s no longer valid UTF-8\n } while (s !== prev);\n return s;\n}\nexport async function checkSubscriptionHander({\n window,\n flow,\n action,\n args,\n extraParams = {},\n isRedirectToChainAndProduct = false,\n isShowThankYou = false\n}: {\n window: Window;\n flow?: string;\n action?: string;\n args?: any;\n extraParams?: any;\n isRedirectToChainAndProduct?: boolean;\n isShowThankYou?: boolean;\n}): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n if (flow && action) {\n tracker.advancedInFlow(flow, action, {\n ...args\n });\n }\n const search = searchToObject(window);\n const isMock = search['current-state'] === 'check-subscription-success-state';\n const mockProductUrl = search.product_url || '/product';\n if (isMock) {\n // eslint-disable-next-line no-console\n console.log('isMock is true');\n const mockChain = search['show-chain-link'];\n if (mockChain && mockChain === '1') {\n window.pac_analytics.visitor.chainRedirectUrl = '/chain-url';\n }\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n isMock\n ? Promise.resolve({\n success: true,\n rockman_id: rockmanId,\n product_url: mockProductUrl,\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 = fullyDecode(checkResult.product_url);\n // if (flow && action) {\n // tracker.advancedInFlow(flow, action, {\n // ...args,\n // url: checkResult.product_url\n // });\n // }\n if (isShowThankYou) {\n const thankYou = updateUrlWithParams(window.location.href, {\n rockman_id: rockmanId,\n ui_show_tq: '1', // New param\n 'show-thank-you': 1, // backward compatibility\n product_url: productUrl\n });\n setTimeout(() => {\n tracker.customEvent(flow, 'show-thank-you', 'thank-you-page', { thankYou });\n\n redirect(thankYou);\n }, 3000);\n\n return thankYou;\n }\n if (window?.pac_analytics?.visitor?.chainRedirectUrl) {\n const chainLink = window?.pac_analytics?.visitor?.chainRedirectUrl;\n const updatedChainLink = updateUrlWithParams(chainLink, extraParams);\n if (isRedirectToChainAndProduct) {\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n window.open(updatedChainLink, '_blank');\n if (productUrl && productUrl !== '') {\n setTimeout(() => {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n redirect(productUrl);\n }, 3000);\n }\n return;\n }\n\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n redirect(updatedChainLink);\n } else if (productUrl && productUrl !== '') {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n redirect(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":[],"mappings":"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"}
1
+ {"version":3,"file":"checkSubscriptionHander.js","sources":["../../src/sharedApi/checkSubscriptionByRockmanIdOnly.ts","../../src/utilities/checkSubscriptionHander.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","import { ICheckSubscriptionResult } from '../common-types/ICheckSubscriptionResult';\nimport { IError } from '../common-types/IError';\nimport { checkSubscriptionByRockmanIdOnly } from '../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { handleResolveRedirect } from './handleResolveRedirect';\nimport { loop } from './helpers';\nimport { searchToObject } from './searchToObject';\nimport { tracker } from './tracker';\nimport { updateUrlWithParams } from './updateUrlWithParams';\n\nfunction redirect(rawUrl: string) {\n const target = fullyDecode(rawUrl).replace(/^\\/+/, ''); // drop leading /\n if (!/^https?:\\/\\//i.test(target)) {\n throw new Error(`Decoded string is not an absolute URL: ${target}`);\n }\n window.location.replace(target); // or: window.location.href = target\n}\n\nfunction fullyDecode(s: string): string {\n let prev;\n do {\n prev = s;\n try {\n s = decodeURIComponent(s);\n } catch {\n break;\n } // stop if it’s no longer valid UTF-8\n } while (s !== prev);\n return s;\n}\nexport async function checkSubscriptionHander({\n window,\n flow,\n action,\n args,\n extraParams = {},\n isRedirectToChainAndProduct = false,\n isShowThankYou = false\n}: {\n window: Window;\n flow?: string;\n action?: string;\n args?: any;\n extraParams?: any;\n isRedirectToChainAndProduct?: boolean;\n isShowThankYou?: boolean;\n}): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n if (flow && action) {\n tracker.advancedInFlow(flow, action, {\n ...args\n });\n }\n const search = searchToObject(window);\n const isMock = search['current-state'] === 'check-subscription-success-state';\n const mockProductUrl = search.product_url || '/product';\n if (isMock) {\n // eslint-disable-next-line no-console\n console.log('isMock is true');\n const mockChain = search['show-chain-link'];\n if (mockChain && mockChain === '1') {\n window.pac_analytics.visitor.chainRedirectUrl = '/chain-url';\n }\n }\n const check: () => Promise<ICheckSubscriptionResult> = () =>\n isMock\n ? Promise.resolve({\n success: true,\n rockman_id: rockmanId,\n product_url: mockProductUrl,\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 = fullyDecode(checkResult.product_url);\n // if (flow && action) {\n // tracker.advancedInFlow(flow, action, {\n // ...args,\n // url: checkResult.product_url\n // });\n // }\n if (isShowThankYou) {\n const thankYou = updateUrlWithParams(window.location.href, {\n rockman_id: rockmanId,\n ui_show_tq: '1', // New param\n 'show-thank-you': 1, // backward compatibility\n product_url: productUrl\n });\n setTimeout(() => {\n tracker.customEvent(flow, 'show-thank-you', 'thank-you-page', { thankYou });\n\n redirect(thankYou);\n }, 3000);\n\n return thankYou;\n }\n if (window?.pac_analytics?.visitor?.chainRedirectUrl) {\n const chainLink = window?.pac_analytics?.visitor?.chainRedirectUrl;\n const updatedChainLink = updateUrlWithParams(chainLink, extraParams);\n if (isRedirectToChainAndProduct) {\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n handleResolveRedirect(updatedChainLink);\n // window.open(updatedChainLink, '_blank');\n if (productUrl && productUrl !== '') {\n setTimeout(() => {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n redirect(productUrl);\n }, 3000);\n }\n return;\n }\n\n tracker.customEvent(flow, 'redirect', 'chain-redirect', { redirect_url: updatedChainLink });\n // redirect(updatedChainLink);\n handleResolveRedirect(updatedChainLink);\n } else if (productUrl && productUrl !== '') {\n tracker.customEvent(flow, 'redirect', 'product-redirect', { redirect_url: productUrl });\n redirect(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":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ var isUrl = function (value) {
2
+ try {
3
+ // eslint-disable-next-line no-new
4
+ new URL(value);
5
+ return true;
6
+ }
7
+ catch (_a) {
8
+ return false;
9
+ }
10
+ };
11
+ function isSlashFirst(str) {
12
+ return str.startsWith('/');
13
+ }
14
+ function fullyDecode(s) {
15
+ var prev;
16
+ do {
17
+ prev = s;
18
+ try {
19
+ s = decodeURIComponent(s);
20
+ }
21
+ catch (_a) {
22
+ break;
23
+ } // stop if it’s no longer valid UTF-8
24
+ } while (s !== prev);
25
+ return s;
26
+ }
27
+ var handleResolveRedirect = function (url) {
28
+ try {
29
+ if (isSlashFirst(url)) {
30
+ var target = fullyDecode(url);
31
+ if (!/^https?:\/\//i.test(target)) {
32
+ throw new Error("Decoded string is not an absolute URL: ".concat(target));
33
+ }
34
+ window.location.href = target;
35
+ }
36
+ else if (isUrl(url)) {
37
+ window.location.href = url;
38
+ }
39
+ else {
40
+ window.location.href = "/api/v1/resolve-wfl?token=".concat(url);
41
+ }
42
+ }
43
+ catch (e) {
44
+ console.error(e);
45
+ window.location.href = "/api/v1/resolve-wfl?token=".concat(url);
46
+ }
47
+ };
48
+
49
+ export { handleResolveRedirect as h };
50
+ //# sourceMappingURL=handleResolveRedirect-5Hkm5YXF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleResolveRedirect-5Hkm5YXF.js","sources":["../../src/utilities/handleResolveRedirect.ts"],"sourcesContent":["const isUrl = (value: string): boolean => {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch {\n return false;\n }\n};\n\nfunction isSlashFirst(str: string): boolean {\n return str.startsWith('/');\n}\nfunction fullyDecode(s: string): string {\n let prev;\n do {\n prev = s;\n try {\n s = decodeURIComponent(s);\n } catch {\n break;\n } // stop if it’s no longer valid UTF-8\n } while (s !== prev);\n return s;\n}\n\nexport const handleResolveRedirect = (url: string) => {\n try {\n if (isSlashFirst(url)) {\n const target = fullyDecode(url);\n if (!/^https?:\\/\\//i.test(target)) {\n throw new Error(`Decoded string is not an absolute URL: ${target}`);\n }\n window.location.href = target;\n } else if (isUrl(url)) {\n window.location.href = url;\n } else {\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n } catch (e) {\n console.error(e);\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n};\n"],"names":[],"mappings":"AAAA,IAAM,KAAK,GAAG,UAAC,KAAa,EAAA;IAC1B,IAAI;;AAEF,QAAA,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACf,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAAC,OAAM,EAAA,EAAA;AACN,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACH,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,GAAW,EAAA;AAC/B,IAAA,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AACD,SAAS,WAAW,CAAC,CAAS,EAAA;AAC5B,IAAA,IAAI,IAAI,CAAC;IACT,GAAG;QACD,IAAI,GAAG,CAAC,CAAC;QACT,IAAI;AACF,YAAA,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC3B,SAAA;QAAC,OAAM,EAAA,EAAA;YACN,MAAM;AACP,SAAA;KACF,QAAQ,CAAC,KAAK,IAAI,EAAE;AACrB,IAAA,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,IAAM,qBAAqB,GAAG,UAAC,GAAW,EAAA;IAC/C,IAAI;AACF,QAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;AACrB,YAAA,IAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACjC,gBAAA,MAAM,IAAI,KAAK,CAAC,iDAA0C,MAAM,CAAE,CAAC,CAAC;AACrE,aAAA;AACD,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;AACrB,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;AAC5B,SAAA;AAAM,aAAA;YACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA6B,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC;AAC3D,SAAA;AACF,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA6B,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC;AAC3D,KAAA;AACH;;;;"}
package/dist/moFlow.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { __awaiter, __generator, __read, __assign } from 'tslib';
2
2
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
3
3
  import { S as Success, L as Loading, F as Failure, N as NothingYet } from './RemoteDataState-CwHLI23e.js';
4
- import { h as handleWaterfallRedirect } from './handleWaterfallRedirect-h5K2zX3N.js';
4
+ import { h as handleResolveRedirect } from './handleResolveRedirect-5Hkm5YXF.js';
5
5
  import { n as normaliseErrorCode, r as redirectErrorTypes, g as getErrorCode } from './normaliseErrorCode-CseFd8jz.js';
6
6
  import { searchToObject } from './searchToObject.js';
7
7
  import { s as storeMsisdn } from './storeMsisdn-ChiBh8mI.js';
@@ -268,7 +268,7 @@ var submitMSISDNAction = createAsyncThunk('moFlow/submitMSISDNAction', function
268
268
  errorType: errorType,
269
269
  errorCode: getErrorCode(errorType)
270
270
  });
271
- handleWaterfallRedirect((_l = (_k = window === null || window === void 0 ? void 0 : window.pac_analytics) === null || _k === void 0 ? void 0 : _k.visitor) === null || _l === void 0 ? void 0 : _l.waterfallRedirectUrl);
271
+ handleResolveRedirect((_l = (_k = window === null || window === void 0 ? void 0 : window.pac_analytics) === null || _k === void 0 ? void 0 : _k.visitor) === null || _l === void 0 ? void 0 : _l.waterfallRedirectUrl);
272
272
  }
273
273
  return [2 /*return*/, rejectWithValue({
274
274
  errorType: errorType,
@@ -1 +1 @@
1
- {"version":3,"file":"moFlow.js","sources":["../../src/flows/moFlow/hooks/useMoFlowState.ts","../../src/flows/moFlow/match.ts","../../src/flows/moFlow/api.ts","../../src/flows/moFlow/main.ts","../../src/flows/moFlow/moFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useMoFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.moFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MoFlowCurrentState, MSISDNEntryFailure, MSISDNEntrySuccess } from '../../sharedFlowTypes/MoTypes';\n\nfunction moFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: MoFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { moFlowMatch };\n","import { IGoogleReCaptcha, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\nconst getGoogleCaptcha = async (\n window: Window,\n country: string,\n slug: string,\n device: string,\n domain: string\n): Promise<IGoogleReCaptcha> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n return fetch(\n `${host}/tallyman/helper/?action=google-captcha-v3-config&country=${country}&slug=${slug}&device=${device}&domain=${domain}`\n ).then((x) => x.json());\n};\n\nconst triggerMessage = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n extraParamsQs,\n search\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn: string;\n device: string;\n offer: string;\n rockmanId: string;\n search: string;\n extraParamsQs: string;\n}): Promise<IMSISDNSubmissionResult> => {\n // introduced https://www.notion.so/sammedia/CH-Agency-Bodkinco-Integration-ea1600ad175f451a9d351b6763ad7992\n const partnerAjaxResopnse: {\n form_action: string;\n } = window.api_ajax_url ? await fetch(window.api_ajax_url).then((x) => x.json()) : null;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const params = {\n action: 'trigger-message',\n slug,\n country,\n msisdn,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n page: encodeURIComponent(window?.location?.href),\n sam_g_token: window.reCaptchaToken || '',\n language_code: window.languageCode || '',\n partner_form_action: partnerAjaxResopnse?.form_action ? encodeURIComponent(partnerAjaxResopnse?.form_action) : '',\n\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || ''\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${search ? `&${search}` : ''}&${extraParamsQs}`;\n\n if (window.MOCK_TRIGGER_MESSAGE_RESPONSE) {\n return window.MOCK_TRIGGER_MESSAGE_RESPONSE;\n }\n return fetch(url).then((x) => x.json());\n};\n\nexport { getGoogleCaptcha, triggerMessage };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport { IConfig } from '../../common-types/Strategy';\nimport { checkSubscriptionByRockmanIdOnly } from '../../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IGoogleReCaptcha, IKeywordShortcode, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\nimport { loop } from '../../utilities/helpers';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { normaliseErrorCode } from '../../utilities/normaliseErrorCode';\nimport { getGoogleCaptcha, triggerMessage } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: any = { ...(maybeConfig || {}), offer: window.pac_analytics?.visitor?.offer };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport const getGoogleReCaptchaConfig = async ({\n window,\n slug,\n country,\n device\n}: IConfig & { window: Window }): Promise<IGoogleReCaptcha> => {\n const domain = window.location.hostname;\n const result: IGoogleReCaptcha = await getGoogleCaptcha(window, country, slug, device, domain);\n if (result.success === true) {\n const srcUrl = `https://www.google.com/recaptcha/api.js?render=${result.site_key}`;\n loadScriptSrc({ url: srcUrl, key: result.site_key, isRecaptcha: true });\n }\n return result;\n};\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi)?.join('') || '';\n const { rockmanId } = window.pac_analytics.visitor;\n\n const result: IMSISDNSubmissionResult = await triggerMessage({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n });\n\n if (result.success === false) {\n // pick a default based on message, then override with error_code if available\n const defaultType = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMsisdn';\n\n const type = result.error_code ? normaliseErrorCode(result.error_code) : defaultType;\n\n // build, augment, log and throw\n const error = new Error(`${type}:\\n${result.message}`) as IError & {\n type: string;\n productUrl: string;\n };\n\n Object.assign(error, {\n type,\n productUrl: result.product_url ?? ''\n });\n\n throw error;\n } else {\n return { ...result, keyword: result.displayKeyword }; // based on discussion with Chanaka to avoid confusion in set up on bupper. Click2sms and mo will use display keyword\n }\n}\n\nexport async function moCheckSubscription(window: Window): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const check: () => Promise<ICheckSubscriptionResult> = () => checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true && checkResult.product_url && checkResult.product_url !== '') {\n window.location.href = decodeURIComponent(checkResult.product_url);\n return checkResult.product_url;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n\n// export const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n// !!window.pac_analytics.visitor['x-requested-with'] &&\n// window.pac_analytics.visitor['x-requested-with'] !== null &&\n// window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n// ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n// : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n// ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n// : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { handleWaterfallRedirect } from '../../utilities/handleWaterfallRedirect';\nimport { getErrorCode, redirectErrorTypes } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy } from '../strategy';\nimport submitMSISDN from './main';\n\nexport const mockedMSISDNEntrySuccess: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n keyword: 'TEST OK',\n shortcode: '777'\n })\n }\n};\n\nexport const mockedMSISDNEntryFailure: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\nexport interface MoFlowState {\n currentState: {\n type: 'MSISDNEntry';\n result: RDS.RemoteDataState<any, any>; // Replace any with your specific error and data types\n };\n}\n\nconst defaultInitialState: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'msisdn-entry-failure-state':\n return mockedMSISDNEntryFailure;\n case 'msisdn-entry-success-state':\n return mockedMSISDNEntrySuccess;\n case 'check-subscription-success-state':\n return mockedMSISDNEntrySuccess;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls trigger-message api that returns a short code and key word\n * Sets completed stated\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('moFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Trigger Message\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submission-success', { msisdn });\n // End Trigger Message\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n\n const errorType = ex.type as MSISDNEntryErrorTypes;\n\n tracker.recedeInFlow('tallyman.v1-mo', 'msisdn-submission-failure', {\n msisdn,\n errorType\n });\n\n if (redirectErrorTypes.includes(errorType) && window?.pac_analytics?.visitor?.waterfallRedirectUrl) {\n tracker.customEvent('Flow', 'redirect', 'waterfall-redirect', {\n redirect_url: window?.pac_analytics?.visitor?.waterfallRedirectUrl,\n errorType,\n errorCode: getErrorCode(errorType)\n });\n handleWaterfallRedirect(window?.pac_analytics?.visitor?.waterfallRedirectUrl);\n }\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('moFlow/backToStartAction', async (_, { dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\nconst moFlowSlice = createSlice({\n name: 'moFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: moFlowReducer, actions: moFlowActions } = moFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectMoFlowState = (state: any) => state.moFlow;\n"],"names":["RDS.Success","RDS.Failure","RDS.NothingYet","RDS.Loading"],"mappings":"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"}
1
+ {"version":3,"file":"moFlow.js","sources":["../../src/flows/moFlow/hooks/useMoFlowState.ts","../../src/flows/moFlow/match.ts","../../src/flows/moFlow/api.ts","../../src/flows/moFlow/main.ts","../../src/flows/moFlow/moFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useMoFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.moFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MoFlowCurrentState, MSISDNEntryFailure, MSISDNEntrySuccess } from '../../sharedFlowTypes/MoTypes';\n\nfunction moFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: MoFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { moFlowMatch };\n","import { IGoogleReCaptcha, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\nimport { cleanSearchParams } from '../../utilities/cleanSearchParams';\n\nconst getGoogleCaptcha = async (\n window: Window,\n country: string,\n slug: string,\n device: string,\n domain: string\n): Promise<IGoogleReCaptcha> => {\n const host = (window as Window).DEV_BASE_URL || '';\n\n return fetch(\n `${host}/tallyman/helper/?action=google-captcha-v3-config&country=${country}&slug=${slug}&device=${device}&domain=${domain}`\n ).then((x) => x.json());\n};\n\nconst triggerMessage = async ({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n extraParamsQs,\n search\n}: {\n window: Window;\n slug: string;\n country: string;\n msisdn: string;\n device: string;\n offer: string;\n rockmanId: string;\n search: string;\n extraParamsQs: string;\n}): Promise<IMSISDNSubmissionResult> => {\n // introduced https://www.notion.so/sammedia/CH-Agency-Bodkinco-Integration-ea1600ad175f451a9d351b6763ad7992\n const partnerAjaxResopnse: {\n form_action: string;\n } = window.api_ajax_url ? await fetch(window.api_ajax_url).then((x) => x.json()) : null;\n\n // Remove conflicting params from url\n search = cleanSearchParams(search);\n const params = {\n action: 'trigger-message',\n slug,\n country,\n msisdn,\n device,\n offerId: offer,\n rockman_id: rockmanId,\n page: encodeURIComponent(window?.location?.href),\n sam_g_token: window.reCaptchaToken || '',\n language_code: window.languageCode || '',\n partner_form_action: partnerAjaxResopnse?.form_action ? encodeURIComponent(partnerAjaxResopnse?.form_action) : '',\n\n antifraud_id: window.antifraud_id || '',\n // More specific antifraud IDs will eventuallly replace antifraud_id\n // https://www.notion.so/sammedia/KW-Agency-Globocom-KW-ENTERTAINMENT-STORE-GAMESOLUTELY-GLING-Landing-Page-Test-a9841b14218b42709ffb1a2d41428275?d=f2a8d09b1e8c4fd4bdab69ab5dda1f25\n antifraud_id_js_code: window.antifraud_id_js_code || '',\n antifraud_id_js_link: window.antifraud_id_js_link || ''\n };\n\n const queryString = Object.entries(params)\n .filter(([_, value]) => value)\n .map(([key, value]) => `${key}=${value}`)\n .join('&');\n\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${queryString}${search ? `&${search}` : ''}&${extraParamsQs}`;\n\n if (window.MOCK_TRIGGER_MESSAGE_RESPONSE) {\n return window.MOCK_TRIGGER_MESSAGE_RESPONSE;\n }\n return fetch(url).then((x) => x.json());\n};\n\nexport { getGoogleCaptcha, triggerMessage };\n","import { ICheckSubscriptionResult } from '../../common-types/ICheckSubscriptionResult';\nimport { IError } from '../../common-types/IError';\nimport { IConfig } from '../../common-types/Strategy';\nimport { checkSubscriptionByRockmanIdOnly } from '../../sharedApi/checkSubscriptionByRockmanIdOnly';\nimport { IGoogleReCaptcha, IKeywordShortcode, IMSISDNSubmissionResult } from '../../sharedFlowTypes/MoTypes';\nimport { loop } from '../../utilities/helpers';\nimport loadScriptSrc from '../../utilities/loadScriptSrc';\nimport { normaliseErrorCode } from '../../utilities/normaliseErrorCode';\nimport { getGoogleCaptcha, triggerMessage } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: any = { ...(maybeConfig || {}), offer: window.pac_analytics?.visitor?.offer };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport const getGoogleReCaptchaConfig = async ({\n window,\n slug,\n country,\n device\n}: IConfig & { window: Window }): Promise<IGoogleReCaptcha> => {\n const domain = window.location.hostname;\n const result: IGoogleReCaptcha = await getGoogleCaptcha(window, country, slug, device, domain);\n if (result.success === true) {\n const srcUrl = `https://www.google.com/recaptcha/api.js?render=${result.site_key}`;\n loadScriptSrc({ url: srcUrl, key: result.site_key, isRecaptcha: true });\n }\n return result;\n};\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi)?.join('') || '';\n const { rockmanId } = window.pac_analytics.visitor;\n\n const result: IMSISDNSubmissionResult = await triggerMessage({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n });\n\n if (result.success === false) {\n // pick a default based on message, then override with error_code if available\n const defaultType = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMsisdn';\n\n const type = result.error_code ? normaliseErrorCode(result.error_code) : defaultType;\n\n // build, augment, log and throw\n const error = new Error(`${type}:\\n${result.message}`) as IError & {\n type: string;\n productUrl: string;\n };\n\n Object.assign(error, {\n type,\n productUrl: result.product_url ?? ''\n });\n\n throw error;\n } else {\n return { ...result, keyword: result.displayKeyword }; // based on discussion with Chanaka to avoid confusion in set up on bupper. Click2sms and mo will use display keyword\n }\n}\n\nexport async function moCheckSubscription(window: Window): Promise<string> {\n const { rockmanId } = window.pac_analytics.visitor;\n const check: () => Promise<ICheckSubscriptionResult> = () => checkSubscriptionByRockmanIdOnly({ window, rockmanId });\n\n const checkResult: ICheckSubscriptionResult = await loop(check, 60, (r) => r.success, 0);\n\n if (checkResult.success === true && checkResult.product_url && checkResult.product_url !== '') {\n window.location.href = decodeURIComponent(checkResult.product_url);\n return checkResult.product_url;\n }\n const error = new Error(`${'SubscriptionFailed'}:\\n${checkResult.message}`) as IError & { type: string };\n error.type = 'SubscriptionFailed';\n throw error;\n}\n\n// export const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n// !!window.pac_analytics.visitor['x-requested-with'] &&\n// window.pac_analytics.visitor['x-requested-with'] !== null &&\n// window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n// ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n// : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n// ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n// : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess\n} from '../../sharedFlowTypes/MoTypes';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { handleResolveRedirect } from '../../utilities/handleResolveRedirect';\nimport { getErrorCode, redirectErrorTypes } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy } from '../strategy';\nimport submitMSISDN from './main';\n\nexport const mockedMSISDNEntrySuccess: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n keyword: 'TEST OK',\n shortcode: '777'\n })\n }\n};\n\nexport const mockedMSISDNEntryFailure: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\nexport interface MoFlowState {\n currentState: {\n type: 'MSISDNEntry';\n result: RDS.RemoteDataState<any, any>; // Replace any with your specific error and data types\n };\n}\n\nconst defaultInitialState: MoFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'msisdn-entry-failure-state':\n return mockedMSISDNEntryFailure;\n case 'msisdn-entry-success-state':\n return mockedMSISDNEntrySuccess;\n case 'check-subscription-success-state':\n return mockedMSISDNEntrySuccess;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls trigger-message api that returns a short code and key word\n * Sets completed stated\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('moFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Trigger Message\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-mo', 'msisdn-submission-success', { msisdn });\n // End Trigger Message\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n\n const errorType = ex.type as MSISDNEntryErrorTypes;\n\n tracker.recedeInFlow('tallyman.v1-mo', 'msisdn-submission-failure', {\n msisdn,\n errorType\n });\n\n if (redirectErrorTypes.includes(errorType) && window?.pac_analytics?.visitor?.waterfallRedirectUrl) {\n tracker.customEvent('Flow', 'redirect', 'waterfall-redirect', {\n redirect_url: window?.pac_analytics?.visitor?.waterfallRedirectUrl,\n errorType,\n errorCode: getErrorCode(errorType)\n });\n handleResolveRedirect(window?.pac_analytics?.visitor?.waterfallRedirectUrl);\n }\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('moFlow/backToStartAction', async (_, { dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\nconst moFlowSlice = createSlice({\n name: 'moFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: moFlowReducer, actions: moFlowActions } = moFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectMoFlowState = (state: any) => state.moFlow;\n"],"names":["RDS.Success","RDS.Failure","RDS.NothingYet","RDS.Loading"],"mappings":"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"}
package/dist/pinFlow.js CHANGED
@@ -2,7 +2,7 @@ import { __awaiter, __generator, __assign } from 'tslib';
2
2
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
3
3
  import { N as NothingYet, L as Loading, S as Success, F as Failure } from './RemoteDataState-CwHLI23e.js';
4
4
  import { i as identifyStrategy, c as setStrategyExtraData, P as PossibleTypes } from './strategySlice-DEsw1xc-.js';
5
- import { h as handleWaterfallRedirect } from './handleWaterfallRedirect-h5K2zX3N.js';
5
+ import { h as handleResolveRedirect } from './handleResolveRedirect-5Hkm5YXF.js';
6
6
  import { r as redirectErrorTypes, g as getErrorCode } from './normaliseErrorCode-CseFd8jz.js';
7
7
  import { searchToObject } from './searchToObject.js';
8
8
  import { s as storeMsisdn } from './storeMsisdn-ChiBh8mI.js';
@@ -307,7 +307,7 @@ var submitMSISDNAction = createAsyncThunk('pinFlow/submitMSISDNAction', function
307
307
  errorType: errorType,
308
308
  errorCode: getErrorCode(errorType)
309
309
  });
310
- handleWaterfallRedirect((_q = (_p = window === null || window === void 0 ? void 0 : window.pac_analytics) === null || _p === void 0 ? void 0 : _p.visitor) === null || _q === void 0 ? void 0 : _q.waterfallRedirectUrl);
310
+ handleResolveRedirect((_q = (_p = window === null || window === void 0 ? void 0 : window.pac_analytics) === null || _p === void 0 ? void 0 : _p.visitor) === null || _q === void 0 ? void 0 : _q.waterfallRedirectUrl);
311
311
  }
312
312
  return [2 /*return*/, rejectWithValue({
313
313
  errorType: errorType,
@@ -1 +1 @@
1
- {"version":3,"file":"pinFlow.js","sources":["../../src/flows/pinFlow/hooks/usePinFlowState.ts","../../src/flows/pinFlow/match.ts","../../src/flows/pinFlow/pinFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const usePinFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.pinFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IMsisdnSumbitNextData,\n MSISDNEntryFailure,\n MSISDNEntrySuccess,\n PINEntryFailure,\n PINEntrySuccess,\n PinFlowCurrentState\n} from '../../sharedFlowTypes/PinTypes';\n\nfunction pinFlowMatch<R>({\n msisdnEntry,\n pinEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n pinEntry: (rds: RDS.RemoteDataState<PINEntryFailure, PINEntrySuccess>, nextData: IMsisdnSumbitNextData) => R;\n}): (state: PinFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n case 'PINEntry':\n return pinEntry(state.result, state.data);\n default:\n throw new Error('Invalid State');\n }\n };\n}\n\nexport { pinFlowMatch };\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n IHash,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess,\n PINEntryErrorTypes,\n PINEntryFailure,\n PINEntryState,\n PINEntrySuccess,\n PinFlowState\n} from '../../sharedFlowTypes/PinTypes';\nimport { IMockFlowParams, PossibleTypes, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { handleWaterfallRedirect } from '../../utilities/handleWaterfallRedirect';\nimport { ErrorType, getErrorCode, redirectErrorTypes } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy, setStrategyExtraData } from '../strategy/strategySlice';\nimport submitMSISDN, { submitPIN } from './main';\n\nconst mockedPINState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.NothingYet<PINEntryFailure, PINEntrySuccess>(),\n data: {\n actualPIN: '',\n msisdn: '',\n operator: '',\n pinMaxLength: 4\n }\n }\n};\n\nconst mockedCompletedState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({ finalUrl: '/product' }),\n data: {\n actualPIN: '',\n msisdn: '',\n operator: '',\n pinMaxLength: 4\n }\n }\n};\n\nconst mockedMSISDNEntryFailure: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n\n// Define the initial state\nconst defaultInitialState: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\n/**\n * Sets the initial state of the pin flow based on the search parameters in the URL or the default state.\n *\n * @param {Window} window - The window object.\n * @return {PinFlowState} The initial state of the pin flow.\n */\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n const pinPageEvent = new Event('onPinPage');\n const isPinEntryStep =\n (search.ui_show_pin_entry && search.ui_show_pin_entry === '1') ||\n (search['show-pin-entry'] && search['show-pin-entry'] === '1');\n const isShowThankYouStep = search['show-thank-you'] && search['show-thank-you'] === '1';\n const isShowCustomError = search?.show_custom_error === '1';\n\n const rawParam = search?.ui_error_message ?? '';\n const normalizedParam = rawParam.replace(/\\+/g, '%20');\n const errorMsg = decodeURIComponent(normalizedParam);\n const mapParamError: { [key: string]: ErrorType } = {\n 'This mobile number is blacklisted': 'BlacklistedNumber'\n };\n\n const msisdnError: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: mapParamError[errorMsg] || 'SomethingWentWrong',\n error: errorMsg\n })\n }\n };\n\n const thankYouState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({\n finalUrl: search?.product_url || ''\n }),\n // @ts-ignore\n data: {\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n\n const initalPinEntryState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.NothingYet(),\n // @ts-ignore\n data: {\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n if (isPinEntryStep) {\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n return initalPinEntryState;\n }\n if (isShowThankYouStep) {\n return thankYouState;\n }\n if (isShowCustomError) {\n return msisdnError;\n }\n\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'msisdn-failure-state':\n return mockedMSISDNEntryFailure;\n case 'pin-state':\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n return mockedPINState;\n case 'completed-state':\n return mockedCompletedState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls trigger-pin api that sends a pin to the user\n * Sets state to show pin entry\n */\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\nexport const submitMSISDNAction = createAsyncThunk<\n PINEntryState | MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure; // Type for rejectWithValue\n }\n>('pinFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config, isHeaderEnrichmentSuccess } = state.strategy.currentState.data;\n const pinFlowCurrentState = state.pinFlow?.currentState;\n const searchObj = searchToObject(window) as { ui_show_pin_entry: string };\n\n try {\n /**\n * Palestine calling code is +970\n * But there was a request to have it as +972 only for gateway shemaroo\n */\n // Start PS Calling code temp fix\n if (config?.country.toLowerCase() === 'ps' && config?.slug.includes('shemaroo')) {\n const prefix = getInputValuePrefix(config?.country, msisdn);\n if (prefix === '+970') {\n msisdn = msisdn.replace('970', '972');\n }\n }\n // END PS Calling code temp fix\n\n const jsLinkResult = window?.pac_analytics?.visitor?.genericJsLinkResult;\n\n // If the flow is TPAY the above trigger pin will only do tracking on the backend and not actually request a pin from gateway\n // The code below handles that request\n if (jsLinkResult?.gateway === 'tpay' && !searchObj?.ui_show_pin_entry) {\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submitted', { msisdn });\n await submitMSISDN(window, config, msisdn); // trigger pin call requested here by Adrian for BE tracking\n window.msisdn = msisdn;\n if (window.callConfirm) {\n try {\n window.callConfirm();\n return {\n ...pinFlowCurrentState,\n type: 'MSISDNEntry',\n result: RDS.Loading()\n };\n } catch (ex) {\n // Catch any unexpected errors\n const errorMsg = 'Confirm function failed';\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'TPayConfirmError',\n error: ex?.toString() || 'Error calling window.callConfirm function',\n message: ex.message\n });\n return rejectWithValue({\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n }\n }\n // Catch any unexpected errors\n const errorMsg = 'Confirm function not found';\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n return rejectWithValue({\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n\n // END TPAY TRIGGER PIN\n }\n\n // Start Trigger Pin\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submitted', { msisdn });\n const msisdnSubmissionResult = await submitMSISDN(window, config, msisdn);\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submission-success', { msisdn });\n // End Trigger Pin\n\n /**\n * Some flows require us to redirect to a url after trigger pin to check for fraud\n * The url will then do some processing and return back to ouisys with\n * extra param in the url that will tell us to show pin entry step or error\n */\n\n // Start Pin Redirect\n if (msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && msisdnSubmissionResult.redirectUrl) {\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submission-success', { msisdn });\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-redirect', {\n redirectUrl: msisdnSubmissionResult.redirectUrl\n });\n window.location.href = msisdnSubmissionResult.redirectUrl;\n return;\n }\n // End Pin Redirect\n\n // Start handle store msisdn\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End handle store msisdn\n\n const operator: string =\n msisdnSubmissionResult?.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult?.operator : '';\n\n const pinMaxLengthByOp: { [key: string]: number } = {\n SA_MOBILY: 6,\n SA_STC: 4,\n SA_ZAIN: 4\n };\n\n /**\n * onPinPage\n * some scripts on the server need to be injected on pin page/view\n * This event will be handled on server\n */\n const pinPageEvent = new Event('onPinPage');\n window?.dispatchEvent(pinPageEvent);\n\n return {\n ...pinFlowCurrentState,\n type: 'PINEntry',\n result: RDS.NothingYet(),\n data: {\n actualPIN: msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult.pin : null,\n msisdn,\n operator,\n pinMaxLength: operator !== '' && pinMaxLengthByOp[operator] ? pinMaxLengthByOp[operator] : null,\n isHeaderEnrichmentSuccess,\n ...(msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && msisdnSubmissionResult?.userType\n ? { userType: msisdnSubmissionResult.userType }\n : {})\n }\n };\n // END NORMAL TRIGGER PIN\n } catch (ex) {\n console.warn(ex);\n const errorType = ex.type;\n\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n\n if (isHeaderEnrichmentSuccess) {\n dispatch(\n setStrategyExtraData({\n type: PossibleTypes.PIN,\n data: {\n isHeaderEnrichmentSuccess: false,\n config\n }\n })\n );\n }\n\n if (redirectErrorTypes.includes(errorType) && window?.pac_analytics?.visitor?.waterfallRedirectUrl) {\n tracker.customEvent('Flow', 'redirect', 'waterfall-redirect', {\n redirect_url: window?.pac_analytics?.visitor?.waterfallRedirectUrl,\n errorType,\n errorCode: getErrorCode(errorType)\n });\n handleWaterfallRedirect(window?.pac_analytics?.visitor?.waterfallRedirectUrl);\n }\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n }\n});\n\n/**\n * submitPinAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: 'PINEntry', result: RDS.NothingYet()}}\n \n * Calls verify-pin api that check if the user enters a valid pin\n * Sets state to show thank you page if pin is valid\n */\ninterface SubmitPINArgs {\n window: Window;\n msisdn: string;\n pin: string;\n extraParams?: IHash;\n}\n\nexport const submitPinAction = createAsyncThunk<\n PINEntryState,\n SubmitPINArgs,\n {\n rejectValue: PINEntryFailure; // Type for rejectWithValue\n }\n>('pinFlow/submitPinAction', async ({ window, msisdn, pin, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config } = state.strategy.currentState.data;\n const pinFlowCurrentState = state.pinFlow?.currentState;\n try {\n tracker.advancedInFlow('tallyman.v1-pin', 'pin-submitted', { msisdn, pin });\n const result = await submitPIN(window, pin, config, extraParams);\n tracker.advancedInFlow('tallyman.v1-pin', 'pin-submission-success', {\n msisdn,\n pin,\n finalUrl: result.productUrl\n });\n\n /**\n * Gateway redirect\n * Value returned in this case is actually the gateway url instead of the product url\n * More details on this ticket:\n * https://www.notion.so/sammedia/ES-OnMobile-Movistar-Direct-Ouisys-Integration-XR-Academy-ca60b176b0ea40a7b170e5d9e7deb491\n */\n // Start Gateway redirect\n if (result.gatewayRedirectUrl && result.gatewayRedirectUrl !== '') {\n tracker.advancedInFlow('tallyman.v1-pin', 'gateway-redirect', {\n msisdn,\n pin,\n gatewayRedirectUrl: result.gatewayRedirectUrl\n });\n window.location.href = result.gatewayRedirectUrl;\n }\n // End Gateway redirect\n\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End store msisdn\n\n return {\n ...pinFlowCurrentState,\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({\n finalUrl: result.productUrl,\n isAlreadySubscribed: result.isAlreadySubscribed || false\n })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: PINEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidPIN':\n errorType = 'InvalidPIN';\n break;\n case 'SessionBlocked':\n errorType = 'SessionBlocked';\n break;\n case 'ExpiredPIN':\n errorType = 'ExpiredPIN';\n break;\n case 'InsufficientBalance':\n errorType = 'InsufficientBalance';\n break;\n case 'DuplicatedRequest':\n errorType = 'DuplicatedRequest';\n break;\n default:\n errorType = 'UnknownError';\n break;\n }\n tracker.recedeInFlow('tallyman.v1-pin', 'pin-submission-failure', {\n msisdn,\n pin,\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n // Redirect to the product url if returned in the exception\n setTimeout(() => {\n if (ex.productUrl) {\n window.location.href = ex.productUrl;\n }\n }, 0);\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('pinFlow/backToStartAction', async (_, { getState, dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-pin', 'pin-state', 'requested to change phone number');\n const state: RootState = getState();\n\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { strategy } = state.strategy.currentState.data;\n if (strategy === 'pin') {\n return {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n };\n }\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\ntype CountryCodeMap = { [country: string]: string };\n\nconst countryCodes: CountryCodeMap = {\n PS: '970'\n // Add other countries and codes here\n};\n\nconst getInputValuePrefix = (country: string, international: string): string => {\n if (!country || !international) return '';\n\n // Convert the country to uppercase and retrieve the country code\n const normalizedCountry = country.toUpperCase();\n const countryCode = countryCodes[normalizedCountry];\n\n // Check if the country code exists in the mapping\n if (!countryCode) {\n console.error('Country code not found for', country);\n return '';\n }\n\n return `+${countryCode}`;\n};\n\n// Define your slice\nconst pinFlowSlice = createSlice({\n name: 'pinFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n // @ts-ignore\n state.currentState = {\n type:\n window?.location?.search?.includes('ui_show_pin_entry') ||\n (window?.location?.search?.includes('show-pin-entry') &&\n window?.pac_analytics?.visitor?.genericJsLinkResult?.gateway === 'tpay')\n ? 'PINEntry'\n : 'MSISDNEntry',\n result: RDS.Loading(),\n data: state.currentState.data\n };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<PINEntryState | MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n // @ts-ignore\n state.currentState = {\n type:\n window?.location?.search?.includes('ui_show_pin_entry') ||\n (window?.location?.search?.includes('show-pin-entry') &&\n window?.pac_analytics?.visitor?.genericJsLinkResult?.gateway === 'tpay')\n ? 'PINEntry'\n : 'MSISDNEntry',\n result: RDS.Failure(action.payload),\n data: state.currentState.data\n };\n })\n .addCase(submitPinAction.pending, (state) => {\n state.currentState = { type: 'PINEntry', result: RDS.Loading(), data: state.currentState.data };\n })\n .addCase(submitPinAction.fulfilled, (state, action: PayloadAction<PINEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitPinAction.rejected, (state, action: PayloadAction<PINEntryFailure>) => {\n state.currentState = { type: 'PINEntry', result: RDS.Failure(action.payload), data: state.currentState.data };\n })\n .addCase(backToStartAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n });\n }\n});\n\nexport const { reducer: pinFlowReducer, actions: pinFlowActions } = pinFlowSlice;\n\nexport const selectPinFlowState = (state: any) => state.pinFlow;\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Failure","RDS.Loading"],"mappings":"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"}
1
+ {"version":3,"file":"pinFlow.js","sources":["../../src/flows/pinFlow/hooks/usePinFlowState.ts","../../src/flows/pinFlow/match.ts","../../src/flows/pinFlow/pinFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const usePinFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.pinFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport {\n IMsisdnSumbitNextData,\n MSISDNEntryFailure,\n MSISDNEntrySuccess,\n PINEntryFailure,\n PINEntrySuccess,\n PinFlowCurrentState\n} from '../../sharedFlowTypes/PinTypes';\n\nfunction pinFlowMatch<R>({\n msisdnEntry,\n pinEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n pinEntry: (rds: RDS.RemoteDataState<PINEntryFailure, PINEntrySuccess>, nextData: IMsisdnSumbitNextData) => R;\n}): (state: PinFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n case 'PINEntry':\n return pinEntry(state.result, state.data);\n default:\n throw new Error('Invalid State');\n }\n };\n}\n\nexport { pinFlowMatch };\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport {\n IHash,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess,\n PINEntryErrorTypes,\n PINEntryFailure,\n PINEntryState,\n PINEntrySuccess,\n PinFlowState\n} from '../../sharedFlowTypes/PinTypes';\nimport { IMockFlowParams, PossibleTypes, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { handleResolveRedirect } from '../../utilities/handleResolveRedirect';\nimport { ErrorType, getErrorCode, redirectErrorTypes } from '../../utilities/normaliseErrorCode';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy, setStrategyExtraData } from '../strategy/strategySlice';\nimport submitMSISDN, { submitPIN } from './main';\n\nconst mockedPINState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.NothingYet<PINEntryFailure, PINEntrySuccess>(),\n data: {\n actualPIN: '',\n msisdn: '',\n operator: '',\n pinMaxLength: 4\n }\n }\n};\n\nconst mockedCompletedState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({ finalUrl: '/product' }),\n data: {\n actualPIN: '',\n msisdn: '',\n operator: '',\n pinMaxLength: 4\n }\n }\n};\n\nconst mockedMSISDNEntryFailure: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n\n// Define the initial state\nconst defaultInitialState: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\n/**\n * Sets the initial state of the pin flow based on the search parameters in the URL or the default state.\n *\n * @param {Window} window - The window object.\n * @return {PinFlowState} The initial state of the pin flow.\n */\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n const pinPageEvent = new Event('onPinPage');\n const isPinEntryStep =\n (search.ui_show_pin_entry && search.ui_show_pin_entry === '1') ||\n (search['show-pin-entry'] && search['show-pin-entry'] === '1');\n const isShowThankYouStep = search['show-thank-you'] && search['show-thank-you'] === '1';\n const isShowCustomError = search?.show_custom_error === '1';\n\n const rawParam = search?.ui_error_message ?? '';\n const normalizedParam = rawParam.replace(/\\+/g, '%20');\n const errorMsg = decodeURIComponent(normalizedParam);\n const mapParamError: { [key: string]: ErrorType } = {\n 'This mobile number is blacklisted': 'BlacklistedNumber'\n };\n\n const msisdnError: PinFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: mapParamError[errorMsg] || 'SomethingWentWrong',\n error: errorMsg\n })\n }\n };\n\n const thankYouState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({\n finalUrl: search?.product_url || ''\n }),\n // @ts-ignore\n data: {\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n\n const initalPinEntryState: PinFlowState = {\n currentState: {\n type: 'PINEntry',\n result: RDS.NothingYet(),\n // @ts-ignore\n data: {\n msisdn: search?.msisdn || '',\n operator: search?.operator || ''\n }\n }\n };\n if (isPinEntryStep) {\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n return initalPinEntryState;\n }\n if (isShowThankYouStep) {\n return thankYouState;\n }\n if (isShowCustomError) {\n return msisdnError;\n }\n\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'msisdn-failure-state':\n return mockedMSISDNEntryFailure;\n case 'pin-state':\n // Needed for shemroo the handler is injected on server\n window?.dispatchEvent(pinPageEvent);\n return mockedPINState;\n case 'completed-state':\n return mockedCompletedState;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes.MO, result: PINEntryState}}\n \n * Calls trigger-pin api that sends a pin to the user\n * Sets state to show pin entry\n */\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\nexport const submitMSISDNAction = createAsyncThunk<\n PINEntryState | MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure; // Type for rejectWithValue\n }\n>('pinFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, dispatch, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config, isHeaderEnrichmentSuccess } = state.strategy.currentState.data;\n const pinFlowCurrentState = state.pinFlow?.currentState;\n const searchObj = searchToObject(window) as { ui_show_pin_entry: string };\n\n try {\n /**\n * Palestine calling code is +970\n * But there was a request to have it as +972 only for gateway shemaroo\n */\n // Start PS Calling code temp fix\n if (config?.country.toLowerCase() === 'ps' && config?.slug.includes('shemaroo')) {\n const prefix = getInputValuePrefix(config?.country, msisdn);\n if (prefix === '+970') {\n msisdn = msisdn.replace('970', '972');\n }\n }\n // END PS Calling code temp fix\n\n const jsLinkResult = window?.pac_analytics?.visitor?.genericJsLinkResult;\n\n // If the flow is TPAY the above trigger pin will only do tracking on the backend and not actually request a pin from gateway\n // The code below handles that request\n if (jsLinkResult?.gateway === 'tpay' && !searchObj?.ui_show_pin_entry) {\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submitted', { msisdn });\n await submitMSISDN(window, config, msisdn); // trigger pin call requested here by Adrian for BE tracking\n window.msisdn = msisdn;\n if (window.callConfirm) {\n try {\n window.callConfirm();\n return {\n ...pinFlowCurrentState,\n type: 'MSISDNEntry',\n result: RDS.Loading()\n };\n } catch (ex) {\n // Catch any unexpected errors\n const errorMsg = 'Confirm function failed';\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'TPayConfirmError',\n error: ex?.toString() || 'Error calling window.callConfirm function',\n message: ex.message\n });\n return rejectWithValue({\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n }\n }\n // Catch any unexpected errors\n const errorMsg = 'Confirm function not found';\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n return rejectWithValue({\n errorType: 'TPayConfirmError',\n error: errorMsg,\n message: errorMsg\n });\n\n // END TPAY TRIGGER PIN\n }\n\n // Start Trigger Pin\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submitted', { msisdn });\n const msisdnSubmissionResult = await submitMSISDN(window, config, msisdn);\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submission-success', { msisdn });\n // End Trigger Pin\n\n /**\n * Some flows require us to redirect to a url after trigger pin to check for fraud\n * The url will then do some processing and return back to ouisys with\n * extra param in the url that will tell us to show pin entry step or error\n */\n\n // Start Pin Redirect\n if (msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && msisdnSubmissionResult.redirectUrl) {\n tracker.advancedInFlow('tallyman.v1-pin', 'msisdn-submission-success', { msisdn });\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-redirect', {\n redirectUrl: msisdnSubmissionResult.redirectUrl\n });\n window.location.href = msisdnSubmissionResult.redirectUrl;\n return;\n }\n // End Pin Redirect\n\n // Start handle store msisdn\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End handle store msisdn\n\n const operator: string =\n msisdnSubmissionResult?.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult?.operator : '';\n\n const pinMaxLengthByOp: { [key: string]: number } = {\n SA_MOBILY: 6,\n SA_STC: 4,\n SA_ZAIN: 4\n };\n\n /**\n * onPinPage\n * some scripts on the server need to be injected on pin page/view\n * This event will be handled on server\n */\n const pinPageEvent = new Event('onPinPage');\n window?.dispatchEvent(pinPageEvent);\n\n return {\n ...pinFlowCurrentState,\n type: 'PINEntry',\n result: RDS.NothingYet(),\n data: {\n actualPIN: msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' ? msisdnSubmissionResult.pin : null,\n msisdn,\n operator,\n pinMaxLength: operator !== '' && pinMaxLengthByOp[operator] ? pinMaxLengthByOp[operator] : null,\n isHeaderEnrichmentSuccess,\n ...(msisdnSubmissionResult.type === 'SingleMSISDNSubmissionResult' && msisdnSubmissionResult?.userType\n ? { userType: msisdnSubmissionResult.userType }\n : {})\n }\n };\n // END NORMAL TRIGGER PIN\n } catch (ex) {\n console.warn(ex);\n const errorType = ex.type;\n\n tracker.recedeInFlow('tallyman.v1-pin', 'msisdn-submission-failure', {\n msisdn,\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n\n if (isHeaderEnrichmentSuccess) {\n dispatch(\n setStrategyExtraData({\n type: PossibleTypes.PIN,\n data: {\n isHeaderEnrichmentSuccess: false,\n config\n }\n })\n );\n }\n\n if (redirectErrorTypes.includes(errorType) && window?.pac_analytics?.visitor?.waterfallRedirectUrl) {\n tracker.customEvent('Flow', 'redirect', 'waterfall-redirect', {\n redirect_url: window?.pac_analytics?.visitor?.waterfallRedirectUrl,\n errorType,\n errorCode: getErrorCode(errorType)\n });\n handleResolveRedirect(window?.pac_analytics?.visitor?.waterfallRedirectUrl);\n }\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n }\n});\n\n/**\n * submitPinAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: 'PINEntry', result: RDS.NothingYet()}}\n \n * Calls verify-pin api that check if the user enters a valid pin\n * Sets state to show thank you page if pin is valid\n */\ninterface SubmitPINArgs {\n window: Window;\n msisdn: string;\n pin: string;\n extraParams?: IHash;\n}\n\nexport const submitPinAction = createAsyncThunk<\n PINEntryState,\n SubmitPINArgs,\n {\n rejectValue: PINEntryFailure; // Type for rejectWithValue\n }\n>('pinFlow/submitPinAction', async ({ window, msisdn, pin, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { config } = state.strategy.currentState.data;\n const pinFlowCurrentState = state.pinFlow?.currentState;\n try {\n tracker.advancedInFlow('tallyman.v1-pin', 'pin-submitted', { msisdn, pin });\n const result = await submitPIN(window, pin, config, extraParams);\n tracker.advancedInFlow('tallyman.v1-pin', 'pin-submission-success', {\n msisdn,\n pin,\n finalUrl: result.productUrl\n });\n\n /**\n * Gateway redirect\n * Value returned in this case is actually the gateway url instead of the product url\n * More details on this ticket:\n * https://www.notion.so/sammedia/ES-OnMobile-Movistar-Direct-Ouisys-Integration-XR-Academy-ca60b176b0ea40a7b170e5d9e7deb491\n */\n // Start Gateway redirect\n if (result.gatewayRedirectUrl && result.gatewayRedirectUrl !== '') {\n tracker.advancedInFlow('tallyman.v1-pin', 'gateway-redirect', {\n msisdn,\n pin,\n gatewayRedirectUrl: result.gatewayRedirectUrl\n });\n window.location.href = result.gatewayRedirectUrl;\n }\n // End Gateway redirect\n\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End store msisdn\n\n return {\n ...pinFlowCurrentState,\n type: 'PINEntry',\n result: RDS.Success<PINEntryFailure, PINEntrySuccess>({\n finalUrl: result.productUrl,\n isAlreadySubscribed: result.isAlreadySubscribed || false\n })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: PINEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidPIN':\n errorType = 'InvalidPIN';\n break;\n case 'SessionBlocked':\n errorType = 'SessionBlocked';\n break;\n case 'ExpiredPIN':\n errorType = 'ExpiredPIN';\n break;\n case 'InsufficientBalance':\n errorType = 'InsufficientBalance';\n break;\n case 'DuplicatedRequest':\n errorType = 'DuplicatedRequest';\n break;\n default:\n errorType = 'UnknownError';\n break;\n }\n tracker.recedeInFlow('tallyman.v1-pin', 'pin-submission-failure', {\n msisdn,\n pin,\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n // Redirect to the product url if returned in the exception\n setTimeout(() => {\n if (ex.productUrl) {\n window.location.href = ex.productUrl;\n }\n }, 0);\n\n return rejectWithValue({\n errorType,\n error: ex.toString(),\n message: ex.message,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('pinFlow/backToStartAction', async (_, { getState, dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-pin', 'pin-state', 'requested to change phone number');\n const state: RootState = getState();\n\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { strategy } = state.strategy.currentState.data;\n if (strategy === 'pin') {\n return {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n };\n }\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\ntype CountryCodeMap = { [country: string]: string };\n\nconst countryCodes: CountryCodeMap = {\n PS: '970'\n // Add other countries and codes here\n};\n\nconst getInputValuePrefix = (country: string, international: string): string => {\n if (!country || !international) return '';\n\n // Convert the country to uppercase and retrieve the country code\n const normalizedCountry = country.toUpperCase();\n const countryCode = countryCodes[normalizedCountry];\n\n // Check if the country code exists in the mapping\n if (!countryCode) {\n console.error('Country code not found for', country);\n return '';\n }\n\n return `+${countryCode}`;\n};\n\n// Define your slice\nconst pinFlowSlice = createSlice({\n name: 'pinFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n // @ts-ignore\n state.currentState = {\n type:\n window?.location?.search?.includes('ui_show_pin_entry') ||\n (window?.location?.search?.includes('show-pin-entry') &&\n window?.pac_analytics?.visitor?.genericJsLinkResult?.gateway === 'tpay')\n ? 'PINEntry'\n : 'MSISDNEntry',\n result: RDS.Loading(),\n data: state.currentState.data\n };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<PINEntryState | MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n // @ts-ignore\n state.currentState = {\n type:\n window?.location?.search?.includes('ui_show_pin_entry') ||\n (window?.location?.search?.includes('show-pin-entry') &&\n window?.pac_analytics?.visitor?.genericJsLinkResult?.gateway === 'tpay')\n ? 'PINEntry'\n : 'MSISDNEntry',\n result: RDS.Failure(action.payload),\n data: state.currentState.data\n };\n })\n .addCase(submitPinAction.pending, (state) => {\n state.currentState = { type: 'PINEntry', result: RDS.Loading(), data: state.currentState.data };\n })\n .addCase(submitPinAction.fulfilled, (state, action: PayloadAction<PINEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitPinAction.rejected, (state, action: PayloadAction<PINEntryFailure>) => {\n state.currentState = { type: 'PINEntry', result: RDS.Failure(action.payload), data: state.currentState.data };\n })\n .addCase(backToStartAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n });\n }\n});\n\nexport const { reducer: pinFlowReducer, actions: pinFlowActions } = pinFlowSlice;\n\nexport const selectPinFlowState = (state: any) => state.pinFlow;\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Failure","RDS.Loading"],"mappings":"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"}
@@ -45,5 +45,5 @@ export declare type IStrategy = {
45
45
  };
46
46
  enableScriptTimer?: boolean;
47
47
  };
48
- export declare type IStrategyNames = 'pin' | 'mo' | 'mo-redir' | 'click2sms' | 'one-click' | 'ussd' | 'tpay-he' | 'credit-card' | 'tallyman-one-click' | 'pin-mo-ask-operator' | 'pin-mo-ask-mobile-number' | 'pin-one-click-ask-operator' | 'pin-one-click-detect-operator-by-ip' | 'one-click-mo-pin-detect-operator-by-ip-or-msisdn' | 'pin-click2sms-ask-operator' | 'mo-redir-one-click-detect-operator-by-ip' | 'pin-mo-redir-ask-mobile-number' | 'pin-click2sms-ask-mobile-number' | 'mo-one-click-detect-operator-by-ip' | 'click2sms-one-click-detect-operator-by-ip' | 'pin-header-enrichment' | 'pin-msisdn-fowarding-pin-header-enrichment' | 'he-pin-mo-redir-header-enrichment' | 'he-pin-one-click-header-enrichment' | 'he-pin-one-click-ask-operator' | 'click2sms-one-click-ask-operator' | 'pin-mo-detect-operator-by-ip' | 'he-mo-redir-one-click-header-enrichment' | 'pin-combo-ask-mobile-number' | 'header-enrichment-script' | 'mo-redir-mo-click2sms-one-click-detect-operator-by-ip-or-msisdn' | 'pin-mo-mo-redir-ask-mobile-number' | 'pin-click2sms-ask-mobile-number' | 'all-flows-detect-operator-by-ip-or-ask-mobile-number' | 'all-flows-detect-operator-by-ip-or-ask-operator' | 'all-flows-ask-mobile-number';
48
+ export declare type IStrategyNames = 'pin' | 'mo' | 'mo-redir' | 'click2sms' | 'one-click' | 'ussd' | 'tpay-he' | 'credit-card' | 'tallyman-one-click' | 'pin-mo-ask-operator' | 'pin-mo-ask-mobile-number' | 'pin-one-click-ask-operator' | 'pin-one-click-detect-operator-by-ip' | 'one-click-mo-pin-detect-operator-by-ip-or-msisdn' | 'pin-click2sms-ask-operator' | 'mo-redir-one-click-detect-operator-by-ip' | 'pin-mo-redir-ask-mobile-number' | 'pin-click2sms-ask-mobile-number' | 'mo-one-click-detect-operator-by-ip' | 'click2sms-one-click-detect-operator-by-ip' | 'pin-header-enrichment' | 'pin-msisdn-fowarding-pin-header-enrichment' | 'he-pin-mo-redir-header-enrichment' | 'he-pin-one-click-header-enrichment' | 'he-pin-one-click-ask-operator' | 'click2sms-one-click-ask-operator' | 'pin-mo-detect-operator-by-ip' | 'he-mo-redir-one-click-header-enrichment' | 'pin-combo-ask-mobile-number' | 'header-enrichment-script' | 'mo-redir-mo-click2sms-one-click-detect-operator-by-ip-or-msisdn' | 'pin-mo-mo-redir-ask-mobile-number' | 'pin-click2sms-ask-mobile-number' | 'all-flows-detect-operator-by-ip-or-ask-mobile-number' | 'all-flows-detect-operator-by-ip-or-ask-operator' | 'all-flows-ask-mobile-number' | 'all-flows-header-enrichment';
49
49
  //# sourceMappingURL=Strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Strategy.d.ts","sourceRoot":"","sources":["../../../src/common-types/Strategy.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,eAAe,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;AACrH,oBAAY,KAAK,GAAG;IAClB,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC3B,SAAS,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,KAAK,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAGF,oBAAY,SAAS,GAAG;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,cAAc,CAAC;IAChC,kBAAkB,CAAC,EAAE;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,oBAAY,cAAc,GACtB,KAAK,GACL,IAAI,GACJ,UAAU,GACV,WAAW,GACX,WAAW,GACX,MAAM,GACN,SAAS,GACT,aAAa,GACb,oBAAoB,GACpB,qBAAqB,GACrB,0BAA0B,GAC1B,4BAA4B,GAC5B,qCAAqC,GACrC,kDAAkD,GAClD,4BAA4B,GAC5B,0CAA0C,GAC1C,gCAAgC,GAChC,iCAAiC,GACjC,oCAAoC,GACpC,2CAA2C,GAC3C,uBAAuB,GACvB,4CAA4C,GAC5C,mCAAmC,GACnC,oCAAoC,GACpC,+BAA+B,GAC/B,kCAAkC,GAClC,8BAA8B,GAC9B,yCAAyC,GACzC,6BAA6B,GAC7B,0BAA0B,GAC1B,iEAAiE,GACjE,mCAAmC,GACnC,iCAAiC,GACjC,sDAAsD,GACtD,iDAAiD,GACjD,6BAA6B,CAAC"}
1
+ {"version":3,"file":"Strategy.d.ts","sourceRoot":"","sources":["../../../src/common-types/Strategy.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtC,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,oBAAY,OAAO,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,eAAe,GAAG,KAAK,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;AACrH,oBAAY,KAAK,GAAG;IAClB,IAAI,EAAE,eAAe,CAAC;IACtB,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,oBAAY,cAAc,GAAG;IAC3B,SAAS,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,KAAK,CAAC;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAGF,oBAAY,SAAS,GAAG;IACtB,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,cAAc,CAAC;IAChC,kBAAkB,CAAC,EAAE;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,oBAAY,cAAc,GACtB,KAAK,GACL,IAAI,GACJ,UAAU,GACV,WAAW,GACX,WAAW,GACX,MAAM,GACN,SAAS,GACT,aAAa,GACb,oBAAoB,GACpB,qBAAqB,GACrB,0BAA0B,GAC1B,4BAA4B,GAC5B,qCAAqC,GACrC,kDAAkD,GAClD,4BAA4B,GAC5B,0CAA0C,GAC1C,gCAAgC,GAChC,iCAAiC,GACjC,oCAAoC,GACpC,2CAA2C,GAC3C,uBAAuB,GACvB,4CAA4C,GAC5C,mCAAmC,GACnC,oCAAoC,GACpC,+BAA+B,GAC/B,kCAAkC,GAClC,8BAA8B,GAC9B,yCAAyC,GACzC,6BAA6B,GAC7B,0BAA0B,GAC1B,iEAAiE,GACjE,mCAAmC,GACnC,iCAAiC,GACjC,sDAAsD,GACtD,iDAAiD,GACjD,6BAA6B,GAC7B,6BAA6B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkSubscriptionHander.d.ts","sourceRoot":"","sources":["../../../src/utilities/checkSubscriptionHander.ts"],"names":[],"mappings":"AA4BA,wBAAsB,uBAAuB,CAAC,EAC5C,MAAM,EACN,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,WAAgB,EAChB,2BAAmC,EACnC,cAAsB,EACvB,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CA+ElB"}
1
+ {"version":3,"file":"checkSubscriptionHander.d.ts","sourceRoot":"","sources":["../../../src/utilities/checkSubscriptionHander.ts"],"names":[],"mappings":"AA6BA,wBAAsB,uBAAuB,CAAC,EAC5C,MAAM,EACN,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,WAAgB,EAChB,2BAAmC,EACnC,cAAsB,EACvB,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,CAAC,CAiFlB"}
@@ -0,0 +1,2 @@
1
+ export declare const handleResolveRedirect: (url: string) => void;
2
+ //# sourceMappingURL=handleResolveRedirect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleResolveRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/handleResolveRedirect.ts"],"names":[],"mappings":"AA0BA,eAAO,MAAM,qBAAqB,QAAS,MAAM,SAiBhD,CAAC"}
@@ -34,6 +34,6 @@ declare type IStrategy = {
34
34
  };
35
35
  enableScriptTimer?: boolean;
36
36
  };
37
- declare type IStrategyNames = 'pin' | 'mo' | 'mo-redir' | 'click2sms' | 'one-click' | 'ussd' | 'tpay-he' | 'credit-card' | 'tallyman-one-click' | 'pin-mo-ask-operator' | 'pin-mo-ask-mobile-number' | 'pin-one-click-ask-operator' | 'pin-one-click-detect-operator-by-ip' | 'one-click-mo-pin-detect-operator-by-ip-or-msisdn' | 'pin-click2sms-ask-operator' | 'mo-redir-one-click-detect-operator-by-ip' | 'pin-mo-redir-ask-mobile-number' | 'pin-click2sms-ask-mobile-number' | 'mo-one-click-detect-operator-by-ip' | 'click2sms-one-click-detect-operator-by-ip' | 'pin-header-enrichment' | 'pin-msisdn-fowarding-pin-header-enrichment' | 'he-pin-mo-redir-header-enrichment' | 'he-pin-one-click-header-enrichment' | 'he-pin-one-click-ask-operator' | 'click2sms-one-click-ask-operator' | 'pin-mo-detect-operator-by-ip' | 'he-mo-redir-one-click-header-enrichment' | 'pin-combo-ask-mobile-number' | 'header-enrichment-script' | 'mo-redir-mo-click2sms-one-click-detect-operator-by-ip-or-msisdn' | 'pin-mo-mo-redir-ask-mobile-number' | 'pin-click2sms-ask-mobile-number' | 'all-flows-detect-operator-by-ip-or-ask-mobile-number' | 'all-flows-detect-operator-by-ip-or-ask-operator' | 'all-flows-ask-mobile-number';
37
+ declare type IStrategyNames = 'pin' | 'mo' | 'mo-redir' | 'click2sms' | 'one-click' | 'ussd' | 'tpay-he' | 'credit-card' | 'tallyman-one-click' | 'pin-mo-ask-operator' | 'pin-mo-ask-mobile-number' | 'pin-one-click-ask-operator' | 'pin-one-click-detect-operator-by-ip' | 'one-click-mo-pin-detect-operator-by-ip-or-msisdn' | 'pin-click2sms-ask-operator' | 'mo-redir-one-click-detect-operator-by-ip' | 'pin-mo-redir-ask-mobile-number' | 'pin-click2sms-ask-mobile-number' | 'mo-one-click-detect-operator-by-ip' | 'click2sms-one-click-detect-operator-by-ip' | 'pin-header-enrichment' | 'pin-msisdn-fowarding-pin-header-enrichment' | 'he-pin-mo-redir-header-enrichment' | 'he-pin-one-click-header-enrichment' | 'he-pin-one-click-ask-operator' | 'click2sms-one-click-ask-operator' | 'pin-mo-detect-operator-by-ip' | 'he-mo-redir-one-click-header-enrichment' | 'pin-combo-ask-mobile-number' | 'header-enrichment-script' | 'mo-redir-mo-click2sms-one-click-detect-operator-by-ip-or-msisdn' | 'pin-mo-mo-redir-ask-mobile-number' | 'pin-click2sms-ask-mobile-number' | 'all-flows-detect-operator-by-ip-or-ask-mobile-number' | 'all-flows-detect-operator-by-ip-or-ask-operator' | 'all-flows-ask-mobile-number' | 'all-flows-header-enrichment';
38
38
 
39
39
  export type { ConfigDetails as C, IStrategyNames as I, IStrategy as a };
@@ -1,5 +1,5 @@
1
1
  import { R as RemoteDataState } from './RemoteDataState-D1aFrz8W.js';
2
- import { I as IStrategyNames } from './Strategy-N2e6pvR0.js';
2
+ import { I as IStrategyNames } from './Strategy-Bk7EyVl_.js';
3
3
  import { C as Click2smsFlowState } from './Click2smsTypes-BbhnGxiA.js';
4
4
  import { C as CreditCardFlowState } from './CreditCardTypes-BvAmIdgA.js';
5
5
  import { d as MoRedirFlowState } from './MoRedirTypes-CpTYupHS.js';
@@ -3,10 +3,10 @@ export { h as ICheckSubscriptionResult, f as IClick2smsConfig, i as IFetchResult
3
3
  import * as redux from 'redux';
4
4
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
5
5
  import * as _reduxjs_toolkit_dist_createAsyncThunk from '@reduxjs/toolkit/dist/createAsyncThunk';
6
- import { i as IHash } from './StrategyTypes-LKeXDiPK.js';
6
+ import { i as IHash } from './StrategyTypes-C_EkC4O3.js';
7
7
  import { useSelector } from 'react-redux';
8
8
  import { R as RemoteDataState } from './RemoteDataState-D1aFrz8W.js';
9
- import './Strategy-N2e6pvR0.js';
9
+ import './Strategy-Bk7EyVl_.js';
10
10
  import './CreditCardTypes-BvAmIdgA.js';
11
11
  import './MoRedirTypes-CpTYupHS.js';
12
12
  import './MoTypes-DgYUj5Qm.js';
@@ -1,4 +1,4 @@
1
- import { a as IStrategy } from './Strategy-N2e6pvR0.js';
1
+ import { a as IStrategy } from './Strategy-Bk7EyVl_.js';
2
2
 
3
3
  declare function setConfig(userConfig: IStrategy): void;
4
4
  declare function getConfig(): IStrategy;
@@ -1,12 +1,12 @@
1
- import { V as OneClickFlowCurrentState, W as IGETREDIRECTURLFailure, X as IGETREDIRECTURLSuccess, Y as SubscribeFailure, Z as SubscribeSuccess, _ as GETREDIRECTUrlState, $ as AJAXSUBSCRIBEState, a0 as OneClickFlowState } from './StrategyTypes-LKeXDiPK.js';
2
- export { a4 as IHEResult, a3 as IIDentifyUserResult, a2 as ILinkExtraParams, a6 as IMockOneClickFlowStates, a7 as ISubscribeParams, a5 as ISubscribeResult, a1 as SubscribeUserErrorTypes } from './StrategyTypes-LKeXDiPK.js';
1
+ import { V as OneClickFlowCurrentState, W as IGETREDIRECTURLFailure, X as IGETREDIRECTURLSuccess, Y as SubscribeFailure, Z as SubscribeSuccess, _ as GETREDIRECTUrlState, $ as AJAXSUBSCRIBEState, a0 as OneClickFlowState } from './StrategyTypes-C_EkC4O3.js';
2
+ export { a4 as IHEResult, a3 as IIDentifyUserResult, a2 as ILinkExtraParams, a6 as IMockOneClickFlowStates, a7 as ISubscribeParams, a5 as ISubscribeResult, a1 as SubscribeUserErrorTypes } from './StrategyTypes-C_EkC4O3.js';
3
3
  import { useSelector } from 'react-redux';
4
4
  import { R as RemoteDataState } from './RemoteDataState-D1aFrz8W.js';
5
5
  import * as redux from 'redux';
6
6
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
7
7
  import * as _reduxjs_toolkit_dist_createAsyncThunk from '@reduxjs/toolkit/dist/createAsyncThunk';
8
8
  import { I as IHash } from './IHash-0OgZ_1ij.js';
9
- import './Strategy-N2e6pvR0.js';
9
+ import './Strategy-Bk7EyVl_.js';
10
10
  import './Click2smsTypes-BbhnGxiA.js';
11
11
  import './CreditCardTypes-BvAmIdgA.js';
12
12
  import './MoRedirTypes-CpTYupHS.js';
@@ -1,6 +1,6 @@
1
- import { M as IMockFlowParams, K as IStrategyIDentifyUserResult } from './StrategyTypes-LKeXDiPK.js';
1
+ import { M as IMockFlowParams, K as IStrategyIDentifyUserResult } from './StrategyTypes-C_EkC4O3.js';
2
2
  import './RemoteDataState-D1aFrz8W.js';
3
- import './Strategy-N2e6pvR0.js';
3
+ import './Strategy-Bk7EyVl_.js';
4
4
  import './Click2smsTypes-BbhnGxiA.js';
5
5
  import './CreditCardTypes-BvAmIdgA.js';
6
6
  import './MoRedirTypes-CpTYupHS.js';
@@ -1,11 +1,11 @@
1
1
  import { R as RemoteDataState } from './RemoteDataState-D1aFrz8W.js';
2
2
  export { a as RDS } from './RemoteDataState-D1aFrz8W.js';
3
- import { S as StrategyCurrentState, I as IDENTIFYMSISDNEntryFailure, a as IDENTIFYMSISDNEntrySuccess, P as PossibleTypes, C as ConfigDetails$1, b as StrategyState } from './StrategyTypes-LKeXDiPK.js';
4
- export { R as ExtraStrategyData, H as HEResult, d as IConfig, s as IDENTIFYFailure, j as IDENTIFYMSISDNEntryErrorTypes, t as IDENTIFYSuccess, p as IDENTIFY_FLOW_HESuccess, o as IDENTIFY_OPERATOR_MSISDNEntrySuccess, m as IDETECTYOPERATOBYIPFailure, n as IDETECTYOPERATOBYIPSuccess, v as IDetectOperatorByIpPayload, f as IFlow, i as IHash, D as IIdentfyFlowByIPOperatorNextAction, A as IIdentfyFlowByMsisdnNextAction, B as IIdentfyFlowByOperatorNextAction, z as IIdentifyFlowByHePayload, y as IIdentifyFlowByIpOperatorPayload, c as IIdentifyResult, F as IIdenyifyFlowByMsisdnPayload, E as IIdenyifyFlowByMsisdnSumbitNextData, G as IIdenyifyStrategyPayload, M as IMockFlowParams, L as IMockFlows, T as IMockPinFlowStates, u as IOperatorSelectFlowIdentifyPayload, w as IOperatorSelectPayload, Q as IScriptHeaderEnrichmentFailure, N as IScriptHeaderEnrichmentSuccess, h as IStrategy, J as IStrategyCurrentState, K as IStrategyIDentifyUserResult, x as ISubmitMsisdnPayload, e as ISupportedFlows, k as IdentifyFlowOptionsResult, O as OPERATORSelectFailure, q as OPERATORSelectFlowIdentifyFailure, r as OPERATORSelectFlowIdentifySuccess, l as OPERATORSelectSuccess, U as RootState, g as StrategyConfig } from './StrategyTypes-LKeXDiPK.js';
3
+ import { S as StrategyCurrentState, I as IDENTIFYMSISDNEntryFailure, a as IDENTIFYMSISDNEntrySuccess, P as PossibleTypes, C as ConfigDetails$1, b as StrategyState } from './StrategyTypes-C_EkC4O3.js';
4
+ export { R as ExtraStrategyData, H as HEResult, d as IConfig, s as IDENTIFYFailure, j as IDENTIFYMSISDNEntryErrorTypes, t as IDENTIFYSuccess, p as IDENTIFY_FLOW_HESuccess, o as IDENTIFY_OPERATOR_MSISDNEntrySuccess, m as IDETECTYOPERATOBYIPFailure, n as IDETECTYOPERATOBYIPSuccess, v as IDetectOperatorByIpPayload, f as IFlow, i as IHash, D as IIdentfyFlowByIPOperatorNextAction, A as IIdentfyFlowByMsisdnNextAction, B as IIdentfyFlowByOperatorNextAction, z as IIdentifyFlowByHePayload, y as IIdentifyFlowByIpOperatorPayload, c as IIdentifyResult, F as IIdenyifyFlowByMsisdnPayload, E as IIdenyifyFlowByMsisdnSumbitNextData, G as IIdenyifyStrategyPayload, M as IMockFlowParams, L as IMockFlows, T as IMockPinFlowStates, u as IOperatorSelectFlowIdentifyPayload, w as IOperatorSelectPayload, Q as IScriptHeaderEnrichmentFailure, N as IScriptHeaderEnrichmentSuccess, h as IStrategy, J as IStrategyCurrentState, K as IStrategyIDentifyUserResult, x as ISubmitMsisdnPayload, e as ISupportedFlows, k as IdentifyFlowOptionsResult, O as OPERATORSelectFailure, q as OPERATORSelectFlowIdentifyFailure, r as OPERATORSelectFlowIdentifySuccess, l as OPERATORSelectSuccess, U as RootState, g as StrategyConfig } from './StrategyTypes-C_EkC4O3.js';
5
5
  import { useSelector } from 'react-redux';
6
6
  import * as _reduxjs_toolkit from '@reduxjs/toolkit';
7
7
  import * as _reduxjs_toolkit_dist_createAsyncThunk from '@reduxjs/toolkit/dist/createAsyncThunk';
8
- import { C as ConfigDetails } from './Strategy-N2e6pvR0.js';
8
+ import { C as ConfigDetails } from './Strategy-Bk7EyVl_.js';
9
9
  import * as redux from 'redux';
10
10
  import './Click2smsTypes-BbhnGxiA.js';
11
11
  import './CreditCardTypes-BvAmIdgA.js';
package/dist/ussdFlow.js CHANGED
@@ -6,6 +6,7 @@ import { searchToObject } from './searchToObject.js';
6
6
  import { s as storeMsisdn } from './storeMsisdn-ChiBh8mI.js';
7
7
  import { t as tracker } from './tracker-B_zsMRN2.js';
8
8
  import { i as identifyStrategy } from './strategySlice-DEsw1xc-.js';
9
+ import './handleResolveRedirect-5Hkm5YXF.js';
9
10
  import './helpers-BIBpnXln.js';
10
11
  import './updateUrlWithParams-ZaZt1BCf.js';
11
12
  import 'pacman-client';
@@ -1 +1 @@
1
- {"version":3,"file":"ussdFlow.js","sources":["../../src/flows/ussdFlow/hooks/useUssdFlowState.ts","../../src/flows/ussdFlow/match.ts","../../src/flows/ussdFlow/api.ts","../../src/flows/ussdFlow/main.ts","../../src/flows/ussdFlow/ussdFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useUssdFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.ussdFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MSISDNEntryFailure, MSISDNEntrySuccess, UssdFlowCurrentState } from '../../sharedFlowTypes/UssdTypes';\n\nfunction ussdFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: UssdFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { ussdFlowMatch };\n","import { IMSISDNSubmissionResult } from '../../sharedFlowTypes/UssdTypes';\n\nconst ussd = async (\n window: Window,\n slug: string,\n country: string,\n msisdn: string,\n device: string,\n offer: string,\n rockmanId: string,\n search: string,\n extraParamsQs: string\n): Promise<IMSISDNSubmissionResult> => {\n const params = new URLSearchParams({\n action: 'ussd',\n slug,\n country,\n msisdn,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n ...(search && { search })\n });\n\n if (extraParamsQs) {\n extraParamsQs.split('&').forEach((param) => {\n const [key, value] = param.split('=');\n if (key) params.append(key, value);\n });\n }\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params.toString()}`;\n return fetch(url).then((response) => response.json());\n};\n\nexport { ussd };\n","import { IError } from '../../common-types/IError';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { IKeywordShortcode, IMSISDNSubmissionResult } from '../../sharedFlowTypes/UssdTypes';\nimport { ussd } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi).join('');\n const { rockmanId } = window.pac_analytics.visitor;\n const result: IMSISDNSubmissionResult = await ussd(\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n );\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n console.error(error);\n throw error;\n } else {\n return result;\n }\n}\n\nexport const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n // @ts-ignore\n // eslint-disable-next-line no-nested-ternary\n !!window.pac_analytics.visitor['x-requested-with'] &&\n // @ts-ignore\n window.pac_analytics.visitor['x-requested-with'] !== null &&\n // @ts-ignore\n window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess,\n UssdFlowState\n} from '../../sharedFlowTypes/UssdTypes';\nimport { checkSubscriptionHander } from '../../utilities/checkSubscriptionHander';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy } from '../strategy';\nimport submitMSISDN from './main';\n\nconst mockedMSISDNEntrySuccess: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n keyword: 'TEST OK',\n shortcode: '777'\n })\n }\n};\n\nconst mockedMSISDNEntryFailure: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n\nconst defaultInitialState: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'msisdn-entry-failure-state':\n return mockedMSISDNEntryFailure;\n case 'msisdn-entry-success-state':\n return mockedMSISDNEntrySuccess;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls ussd api that open ussd prompt on mobile\n *\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('ussdFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Ussd Api Call\n tracker.advancedInFlow('tallyman.v1-ussd', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-ussd', 'msisdn-submission-success', { msisdn });\n // End Ussd Api Call\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n // Check For Subscription by rockman id and redirect to product url\n checkSubscriptionHander({\n window,\n flow: 'tallyman.v1-ussd',\n action: 'sale',\n args: {\n msisdn\n }\n });\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: MSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-ussd', 'msisdn-submission-failure', {\n msisdn,\n errorType: errorType || 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('moRedirFlow/backToStartAction', async (_, { dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-ussd', 'ussd-state', 'requested to change phone number');\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\nconst ussdFlowSlice = createSlice({\n name: 'ussdFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: ussdFlowReducer, actions: ussdFlowActions } = ussdFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectUssdFlowState = (state: any) => state.ussdFlow;\n"],"names":["RDS.Success","RDS.Failure","RDS.NothingYet","RDS.Loading"],"mappings":"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"}
1
+ {"version":3,"file":"ussdFlow.js","sources":["../../src/flows/ussdFlow/hooks/useUssdFlowState.ts","../../src/flows/ussdFlow/match.ts","../../src/flows/ussdFlow/api.ts","../../src/flows/ussdFlow/main.ts","../../src/flows/ussdFlow/ussdFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useUssdFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.ussdFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MSISDNEntryFailure, MSISDNEntrySuccess, UssdFlowCurrentState } from '../../sharedFlowTypes/UssdTypes';\n\nfunction ussdFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: UssdFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { ussdFlowMatch };\n","import { IMSISDNSubmissionResult } from '../../sharedFlowTypes/UssdTypes';\n\nconst ussd = async (\n window: Window,\n slug: string,\n country: string,\n msisdn: string,\n device: string,\n offer: string,\n rockmanId: string,\n search: string,\n extraParamsQs: string\n): Promise<IMSISDNSubmissionResult> => {\n const params = new URLSearchParams({\n action: 'ussd',\n slug,\n country,\n msisdn,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n ...(search && { search })\n });\n\n if (extraParamsQs) {\n extraParamsQs.split('&').forEach((param) => {\n const [key, value] = param.split('=');\n if (key) params.append(key, value);\n });\n }\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params.toString()}`;\n return fetch(url).then((response) => response.json());\n};\n\nexport { ussd };\n","import { IError } from '../../common-types/IError';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport { IKeywordShortcode, IMSISDNSubmissionResult } from '../../sharedFlowTypes/UssdTypes';\nimport { ussd } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi).join('');\n const { rockmanId } = window.pac_analytics.visitor;\n const result: IMSISDNSubmissionResult = await ussd(\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n );\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n console.error(error);\n throw error;\n } else {\n return result;\n }\n}\n\nexport const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n // @ts-ignore\n // eslint-disable-next-line no-nested-ternary\n !!window.pac_analytics.visitor['x-requested-with'] &&\n // @ts-ignore\n window.pac_analytics.visitor['x-requested-with'] !== null &&\n // @ts-ignore\n window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { IMockFlowParams, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess,\n UssdFlowState\n} from '../../sharedFlowTypes/UssdTypes';\nimport { checkSubscriptionHander } from '../../utilities/checkSubscriptionHander';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport { identifyStrategy } from '../strategy';\nimport submitMSISDN from './main';\n\nconst mockedMSISDNEntrySuccess: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({\n keyword: 'TEST OK',\n shortcode: '777'\n })\n }\n};\n\nconst mockedMSISDNEntryFailure: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n\nconst defaultInitialState: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\nconst setInitialState = (window: Window) => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n if (search['mock-flow']) {\n switch (search['current-state']) {\n case 'msisdn-entry-failure-state':\n return mockedMSISDNEntryFailure;\n case 'msisdn-entry-success-state':\n return mockedMSISDNEntrySuccess;\n default:\n console.error('Mock Flow not supported');\n return defaultInitialState;\n }\n } else {\n return defaultInitialState;\n }\n};\n\nconst initialState = setInitialState(window);\n\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls ussd api that open ussd prompt on mobile\n *\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('ussdFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Ussd Api Call\n tracker.advancedInFlow('tallyman.v1-ussd', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-ussd', 'msisdn-submission-success', { msisdn });\n // End Ussd Api Call\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n // Check For Subscription by rockman id and redirect to product url\n checkSubscriptionHander({\n window,\n flow: 'tallyman.v1-ussd',\n action: 'sale',\n args: {\n msisdn\n }\n });\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: MSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-ussd', 'msisdn-submission-failure', {\n msisdn,\n errorType: errorType || 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nexport const backToStartAction = createAsyncThunk<\n any,\n any,\n {\n rejectValue: any; // Type for rejectWithValue\n }\n>('moRedirFlow/backToStartAction', async (_, { dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-ussd', 'ussd-state', 'requested to change phone number');\n dispatch(identifyStrategy());\n } catch (ex) {\n console.warn(ex);\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n});\n\nconst ussdFlowSlice = createSlice({\n name: 'ussdFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: ussdFlowReducer, actions: ussdFlowActions } = ussdFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectUssdFlowState = (state: any) => state.ussdFlow;\n"],"names":["RDS.Success","RDS.Failure","RDS.NothingYet","RDS.Loading"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ouisys-engine",
3
- "version": "5.1.21",
3
+ "version": "5.1.22",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "directories": "dist dev-tools",
@@ -1,21 +0,0 @@
1
- var isUrl = function (value) {
2
- try {
3
- // eslint-disable-next-line no-new
4
- new URL(value);
5
- return true;
6
- }
7
- catch (_a) {
8
- return false;
9
- }
10
- };
11
- var handleWaterfallRedirect = function (url) {
12
- if (isUrl(url)) {
13
- window.location.href = url;
14
- }
15
- else {
16
- window.location.href = "/api/v1/resolve-wfl?token=".concat(url);
17
- }
18
- };
19
-
20
- export { handleWaterfallRedirect as h };
21
- //# sourceMappingURL=handleWaterfallRedirect-h5K2zX3N.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleWaterfallRedirect-h5K2zX3N.js","sources":["../../src/utilities/handleWaterfallRedirect.ts"],"sourcesContent":["const isUrl = (value: string): boolean => {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch {\n return false;\n }\n};\n\nexport const handleWaterfallRedirect = (url: string) => {\n if (isUrl(url)) {\n window.location.href = url;\n } else {\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n};\n"],"names":[],"mappings":"AAAA,IAAM,KAAK,GAAG,UAAC,KAAa,EAAA;IAC1B,IAAI;;AAEF,QAAA,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACf,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAAC,OAAM,EAAA,EAAA;AACN,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACH,CAAC,CAAC;AAEK,IAAM,uBAAuB,GAAG,UAAC,GAAW,EAAA;AACjD,IAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;AACd,QAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;AAC5B,KAAA;AAAM,SAAA;QACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA6B,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC;AAC3D,KAAA;AACH;;;;"}
@@ -1,2 +0,0 @@
1
- export declare const handleWaterfallRedirect: (url: string) => void;
2
- //# sourceMappingURL=handleWaterfallRedirect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleWaterfallRedirect.d.ts","sourceRoot":"","sources":["../../../src/utilities/handleWaterfallRedirect.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,uBAAuB,QAAS,MAAM,SAMlD,CAAC"}