ouisys-engine 5.1.28 → 5.1.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/moFlow.js +22 -4
- package/dist/moFlow.js.map +1 -1
- package/dist/moRedirFlow.js +1 -1
- package/dist/oneClickFlow.js +1 -1
- package/dist/pinFlow.js +1 -1
- package/dist/src/flows/moFlow/moFlowSlice.d.ts.map +1 -1
- package/dist/src/flows/strategy/strategies/headerEnrichment.d.ts +4 -0
- package/dist/src/flows/strategy/strategies/headerEnrichment.d.ts.map +1 -1
- package/dist/strategy.js +2 -2
- package/dist/{strategySlice-BYJ-hvjQ.js → strategySlice-Bki4ZBKm.js} +13 -7
- package/dist/strategySlice-Bki4ZBKm.js.map +1 -0
- package/dist/ussdFlow.js +1 -1
- package/package.json +1 -1
- package/dist/strategySlice-BYJ-hvjQ.js.map +0 -1
package/dist/moFlow.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { __awaiter, __generator, __read, __assign } from 'tslib';
|
|
2
2
|
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
3
|
-
import { S as Success,
|
|
3
|
+
import { S as Success, N as NothingYet, L as Loading, F as Failure } from './RemoteDataState-CwHLI23e.js';
|
|
4
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';
|
|
8
8
|
import { t as tracker } from './tracker-B_zsMRN2.js';
|
|
9
9
|
import { c as cleanSearchParams } from './cleanSearchParams-B2jK3H1j.js';
|
|
10
|
-
import { i as identifyStrategy } from './strategySlice-
|
|
10
|
+
import { i as identifyStrategy } from './strategySlice-Bki4ZBKm.js';
|
|
11
11
|
import 'pacman-client';
|
|
12
12
|
import 'uuid';
|
|
13
13
|
import './getConfig.js';
|
|
@@ -280,11 +280,26 @@ var submitMSISDNAction = createAsyncThunk('moFlow/submitMSISDNAction', function
|
|
|
280
280
|
});
|
|
281
281
|
});
|
|
282
282
|
var backToStartAction = createAsyncThunk('moFlow/backToStartAction', function (_, _a) {
|
|
283
|
-
var dispatch = _a.dispatch, rejectWithValue = _a.rejectWithValue;
|
|
283
|
+
var getState = _a.getState, dispatch = _a.dispatch, rejectWithValue = _a.rejectWithValue;
|
|
284
284
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
285
|
-
|
|
285
|
+
var state, strategy;
|
|
286
|
+
var _b, _c, _d;
|
|
287
|
+
return __generator(this, function (_e) {
|
|
286
288
|
try {
|
|
287
289
|
tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');
|
|
290
|
+
state = getState();
|
|
291
|
+
if (!((_d = (_c = (_b = state === null || state === void 0 ? void 0 : state.strategy) === null || _b === void 0 ? void 0 : _b.currentState) === null || _c === void 0 ? void 0 : _c.data) === null || _d === void 0 ? void 0 : _d.config)) {
|
|
292
|
+
return [2 /*return*/, rejectWithValue({
|
|
293
|
+
errorType: 'UnexpectedState'
|
|
294
|
+
})];
|
|
295
|
+
}
|
|
296
|
+
strategy = state.strategy.currentState.data.strategy;
|
|
297
|
+
if (strategy === 'mo' || strategy === 'he-mo-one-click-header-enrichment') {
|
|
298
|
+
return [2 /*return*/, {
|
|
299
|
+
type: 'MSISDNEntry',
|
|
300
|
+
result: NothingYet()
|
|
301
|
+
}];
|
|
302
|
+
}
|
|
288
303
|
dispatch(identifyStrategy());
|
|
289
304
|
}
|
|
290
305
|
catch (ex) {
|
|
@@ -314,6 +329,9 @@ var moFlowSlice = createSlice({
|
|
|
314
329
|
type: 'MSISDNEntry',
|
|
315
330
|
result: Failure(action.payload)
|
|
316
331
|
};
|
|
332
|
+
})
|
|
333
|
+
.addCase(backToStartAction.fulfilled, function (state, action) {
|
|
334
|
+
state.currentState = action.payload;
|
|
317
335
|
});
|
|
318
336
|
}
|
|
319
337
|
});
|
package/dist/moFlow.js.map
CHANGED
|
@@ -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 { 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":";;;;;;;;;;;;;;;;AAGO,IAAM,cAAc,GAAG,UAAC,WAAgC,EAAA;AAC7D,IAAA,IAAM,YAAY,GAAG,WAAW,CAAC,UAAC,KAAgB,EAAK,EAAA,OAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAzB,EAAyB,CAAC,CAAC;AAClF,IAAA,OAAO,YAAY,CAAC;AACtB;;ACHA,SAAS,WAAW,CAAI,EAIvB,EAAA;AAHC,IAAA,IAAA,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA;AAIX,IAAA,OAAO,UAAC,KAAK,EAAA;QACX,QAAQ,KAAK,CAAC,IAAI;AAChB,YAAA,KAAK,aAAa;AAChB,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnC,YAAA;;AAEE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;AACH,KAAC,CAAC;AACJ;;ACAA,IAAM,cAAc,GAAG,UAAO,EAoB7B,EAAA;QAnBC,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,MAAM,YAAA,EACN,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;;;;;;;yBAeF,MAAM,CAAC,YAAY,EAAnB,OAAmB,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;oBAAG,OAAM,CAAA,CAAA,YAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,IAAI,EAAE,CAAR,EAAQ,CAAC,CAAA,CAAA;;AAAtD,oBAAA,EAAA,GAAA,SAAsD,CAAA;;;AAAG,oBAAA,EAAA,GAAA,IAAI,CAAA;;;AAFjF,oBAAA,mBAAmB,GAE8D,EAAA,CAAA;;AAGvF,oBAAA,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC7B,oBAAA,MAAM,GAAG;AACb,wBAAA,MAAM,EAAE,iBAAiB;AACzB,wBAAA,IAAI,EAAA,IAAA;AACJ,wBAAA,OAAO,EAAA,OAAA;AACP,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,UAAU,EAAE,SAAS;AACrB,wBAAA,IAAI,EAAE,kBAAkB,CAAC,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC;AAChD,wBAAA,WAAW,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;AACxC,wBAAA,aAAa,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;wBACxC,mBAAmB,EAAE,CAAA,mBAAmB,KAAnB,IAAA,IAAA,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,IAAG,kBAAkB,CAAC,mBAAmB,KAAnB,IAAA,IAAA,mBAAmB,KAAnB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,mBAAmB,CAAE,WAAW,CAAC,GAAG,EAAE;AAEjH,wBAAA,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;;;AAGvC,wBAAA,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;AACvD,wBAAA,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;qBACxD,CAAC;AAEI,oBAAA,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;yBACvC,MAAM,CAAC,UAAC,EAAU,EAAA;AAAV,wBAAA,IAAA,EAAA,GAAA,aAAU,CAAT,CAAC,EAAA,CAAA,CAAA,CAAA,CAAA,KAAE,KAAK,GAAA,EAAA,CAAA,CAAA,EAAA;AAAM,wBAAA,OAAA,KAAK,CAAA;AAAL,qBAAK,CAAC;yBAC7B,GAAG,CAAC,UAAC,EAAY,EAAA;AAAZ,wBAAA,IAAA,EAAA,GAAA,aAAY,EAAX,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAM,wBAAA,OAAA,EAAG,CAAA,MAAA,CAAA,GAAG,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,KAAK,CAAE,CAAA;AAAjB,qBAAiB,CAAC;yBACxC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEP,oBAAA,IAAI,GAAI,MAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;oBAC7C,GAAG,GAAG,UAAG,IAAI,EAAA,gBAAA,CAAA,CAAA,MAAA,CAAiB,WAAW,CAAG,CAAA,MAAA,CAAA,MAAM,GAAG,WAAI,MAAM,CAAE,GAAG,EAAE,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,aAAa,CAAE,CAAC;oBAEhG,IAAI,MAAM,CAAC,6BAA6B,EAAE;wBACxC,OAAO,CAAA,CAAA,aAAA,MAAM,CAAC,6BAA6B,CAAC,CAAA;AAC7C,qBAAA;AACD,oBAAA,OAAA,CAAA,CAAA,aAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,IAAI,EAAE,CAAR,EAAQ,CAAC,CAAC,CAAA;;;;CACzC;;ACnEa,SAAgB,YAAY,CACxC,MAAc,EACd,WAAoB,EACpB,mBAA2B,EAC3B,WAAuC,EAAA;;;;;AAEjC,YAAA,MAAM,0BAAc,WAAW,IAAI,EAAE,MAAG,KAAK,EAAE,MAAA,CAAA,EAAA,GAAA,MAAM,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,GAAE,CAAC;YAC5F,OAAO,CAAA,CAAA,aAAA,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAA;;;AACjF,CAAA;AAiBK,SAAgB,sBAAsB,CAC1C,MAAc,EACd,MAAe,EACf,mBAA2B,EAC3B,WAAuC,EAAA;;;;;;;AAE/B,oBAAA,IAAI,GAA6B,MAAM,CAAA,IAAnC,EAAE,OAAO,GAAoB,MAAM,CAA1B,OAAA,EAAE,MAAM,GAAY,MAAM,CAAlB,MAAA,EAAE,KAAK,GAAK,MAAM,MAAX,CAAY;AAC1C,oBAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,aAAa,GAAG,CAAC,WAAW;AAChC,0BAAE,EAAE;AACJ,0BAAE,GAAI,CAAA,MAAA,CAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AACzB,6BAAA,GAAG,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,EAAG,CAAA,MAAA,CAAA,CAAC,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,WAAW,CAAC,CAAC,CAAC,CAAE,CAAA,EAAA,CAAC;AACpC,6BAAA,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;AACb,oBAAA,MAAM,GAAG,CAAA,CAAA,EAAA,GAAA,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,EAAE,CAAC,KAAI,EAAE,CAAC;AAC1D,oBAAA,SAAS,GAAK,MAAM,CAAC,aAAa,CAAC,OAAO,UAAjC,CAAkC;AAEX,oBAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AAC3D,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,IAAI,EAAA,IAAA;AACJ,4BAAA,OAAO,EAAA,OAAA;AACP,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,KAAK,EAAA,KAAA;AACL,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,aAAa,EAAA,aAAA;AACd,yBAAA,CAAC,CAAA,CAAA;;AAVI,oBAAA,MAAM,GAA4B,EAUtC,CAAA,IAAA,EAAA,CAAA;AAEF,oBAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;AAEtB,wBAAA,WAAW,GAAG,MAAM,CAAC,OAAO,KAAK,oBAAoB,GAAG,mBAAmB,GAAG,eAAe,CAAC;AAE9F,wBAAA,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;AAG/E,wBAAA,KAAK,GAAG,IAAI,KAAK,CAAC,EAAG,CAAA,MAAA,CAAA,IAAI,EAAM,KAAA,CAAA,CAAA,MAAA,CAAA,MAAM,CAAC,OAAO,CAAE,CAGpD,CAAC;AAEF,wBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AACnB,4BAAA,IAAI,EAAA,IAAA;AACJ,4BAAA,UAAU,EAAE,CAAA,EAAA,GAAA,MAAM,CAAC,WAAW,mCAAI,EAAE;AACrC,yBAAA,CAAC,CAAC;AAEH,wBAAA,MAAM,KAAK,CAAC;AACb,qBAAA;AAAM,yBAAA;wBACL,OAAY,CAAA,CAAA,aAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,MAAM,KAAE,OAAO,EAAE,MAAM,CAAC,cAAc,EAAG,CAAA,CAAA,CAAA;AACtD,qBAAA;;;;AACF,CAAA;AAiBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FO,IAAM,wBAAwB,GAAgB;AACnD,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,MAAM,EAAEA,OAAW,CAAyC;AAC1D,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,SAAS,EAAE,KAAK;SACjB,CAAC;AACH,KAAA;CACF,CAAC;AAEK,IAAM,wBAAwB,GAAgB;AACnD,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,MAAM,EAAEC,OAAW,CAAyC;AAC1D,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,KAAK,EAAE,uBAAuB;SAC/B,CAAC;AACH,KAAA;CACF,CAAC;AAQF,IAAM,mBAAmB,GAAgB;AACvC,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,MAAM,EAAEC,UAAc,EAAE;AACzB,KAAA;CACF,CAAC;AAEF,IAAM,eAAe,GAAG,UAAC,MAAc,EAAA;AACrC,IAAA,IAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAyB,CAAC;AAC9D,IAAA,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE;AACvB,QAAA,QAAQ,MAAM,CAAC,eAAe,CAAC;AAC7B,YAAA,KAAK,4BAA4B;AAC/B,gBAAA,OAAO,wBAAwB,CAAC;AAClC,YAAA,KAAK,4BAA4B;AAC/B,gBAAA,OAAO,wBAAwB,CAAC;AAClC,YAAA,KAAK,kCAAkC;AACrC,gBAAA,OAAO,wBAAwB,CAAC;AAClC,YAAA;AACE,gBAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AACzC,gBAAA,OAAO,mBAAmB,CAAC;AAC9B,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,mBAAmB,CAAC;AAC5B,KAAA;AACH,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAO7C;;;;;;AAMG;AACU,IAAA,kBAAkB,GAAG,gBAAgB,CAMhD,2BAA2B,EAAE,UAAO,EAA+B,EAAE,EAA6B,EAAA;AAA5D,IAAA,IAAA,MAAM,YAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA;QAAM,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAAA,CAAA;;;;;;;oBAC1F,KAAK,GAAc,QAAQ,EAAE,CAAC;AACpC,oBAAA,IAAI,EAAC,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,KAAK,aAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,QAAQ,0CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE;AAChD,wBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,gCAAA,SAAS,EAAE,iBAAiB;AAC7B,6BAAA,CAAC,CAAC,CAAA;AACJ,qBAAA;oBACO,MAAM,GAAK,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAA,MAArC,CAAsC;;;;;AAIlD,oBAAA,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;oBAC7C,OAAM,CAAA,CAAA,YAAA,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA,CAAA;;AAA7E,oBAAA,mBAAmB,GAAG,EAAuD,CAAA,IAAA,EAAA,CAAA;AACnF,oBAAA,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;AAK9E,oBAAA,IAAA,EAAA,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,MAAM,CAAA,EAA5E,OAA4E,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;oBAC9E,OAAM,CAAA,CAAA,YAAA,WAAW,CAAC,MAAM,CAAC;6BACtB,IAAI,CAAC,UAAC,IAAS,EAAA;4BACd,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gCAC1C,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;AACtE,6BAAA;AAAM,iCAAA;gCACL,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;AACrE,6BAAA;AACH,yBAAC,CAAC;6BACD,KAAK,CAAC,UAAC,KAAK,EAAA;4BACX,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC5E,yBAAC,CAAC,CAAA,CAAA;;AAVJ,oBAAA,EAAA,CAAA,IAAA,EAUI,CAAC;;;;gBAIP,OAAO,CAAA,CAAA,aAAA;AACL,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,MAAM,EAAEF,OAAW,CAAA,QAAA,CAAA,EAAA,EAA8C,mBAAmB,CAAG,CAAA;qBACxF,CAAC,CAAA;;;AAEF,oBAAA,OAAO,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC;AAEX,oBAAA,SAAS,GAAG,IAAE,CAAC,IAA6B,CAAC;AAEnD,oBAAA,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,2BAA2B,EAAE;AAClE,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAC;oBAEH,IAAI,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,MAAA,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,aAAa,0CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,oBAAoB,CAAA,EAAE;wBAClG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE;AAC5D,4BAAA,YAAY,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,0CAAE,oBAAoB;AAClE,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC;AACnC,yBAAA,CAAC,CAAC;AACH,wBAAA,qBAAqB,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,oBAAoB,CAAC,CAAC;AAC7E,qBAAA;AACD,oBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,4BAAA,SAAS,EAAA,SAAA;4BACT,UAAU,EAAE,IAAE,CAAC,UAAU;AAC1B,yBAAA,CAAC,CAAC,CAAA;;;;;AAEN,CAAA,EAAE;AAEU,IAAA,iBAAiB,GAAG,gBAAgB,CAM/C,0BAA0B,EAAE,UAAO,CAAC,EAAE,EAA6B,EAAA;QAA3B,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAAA,CAAA;;;YACjE,IAAI;gBACF,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAU,EAAE,kCAAkC,CAAC,CAAC;AACvF,gBAAA,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC9B,aAAA;AAAC,YAAA,OAAO,EAAE,EAAE;AACX,gBAAA,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjB,gBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,wBAAA,SAAS,EAAE,iBAAiB;AAC7B,qBAAA,CAAC,CAAC,CAAA;AACJ,aAAA;;;;AACF,CAAA,EAAE;AAEH,IAAM,WAAW,GAAG,WAAW,CAAC;AAC9B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,YAAY,EAAA,YAAA;AACZ,IAAA,QAAQ,EAAE,EAAE;IACZ,aAAa,EAAE,UAAC,OAAO,EAAA;QACrB,OAAO;AACJ,aAAA,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAC,KAAK,EAAA;AACzC,YAAA,KAAK,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAEG,OAAW,EAAE,EAAE,CAAC;AACtE,SAAC,CAAC;aACD,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAC,KAAK,EAAE,MAAuC,EAAA;AACpF,YAAA,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;AACtC,SAAC,CAAC;aACD,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAC,KAAK,EAAE,MAAyC,EAAA;YACrF,KAAK,CAAC,YAAY,GAAG;AACnB,gBAAA,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAEF,OAAW,CAAC,MAAM,CAAC,OAAO,CAAC;aACpC,CAAC;AACJ,SAAC,CAAC,CAAC;KACN;AACF,CAAA,CAAC,CAAC;AAEH;AACwB,IAAA,aAAa,GAA6B,WAAW,CAAxC,OAAA,CAAA,CAA6B,WAAW,CAAA;;;;"}
|
|
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 (_, { getState, dispatch, rejectWithValue }) => {\n try {\n tracker.recedeInFlow('tallyman.v1-mo', 'mo-state', 'requested to change phone number');\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue({\n errorType: 'UnexpectedState'\n });\n }\n const { strategy } = state.strategy.currentState.data;\n\n if (strategy === 'mo' || strategy === 'he-mo-one-click-header-enrichment') {\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\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 .addCase(backToStartAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\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":";;;;;;;;;;;;;;;;AAGO,IAAM,cAAc,GAAG,UAAC,WAAgC,EAAA;AAC7D,IAAA,IAAM,YAAY,GAAG,WAAW,CAAC,UAAC,KAAgB,EAAK,EAAA,OAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAzB,EAAyB,CAAC,CAAC;AAClF,IAAA,OAAO,YAAY,CAAC;AACtB;;ACHA,SAAS,WAAW,CAAI,EAIvB,EAAA;AAHC,IAAA,IAAA,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA;AAIX,IAAA,OAAO,UAAC,KAAK,EAAA;QACX,QAAQ,KAAK,CAAC,IAAI;AAChB,YAAA,KAAK,aAAa;AAChB,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACnC,YAAA;;AAEE,gBAAA,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;AACH,KAAC,CAAC;AACJ;;ACAA,IAAM,cAAc,GAAG,UAAO,EAoB7B,EAAA;QAnBC,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,MAAM,YAAA,EACN,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,MAAM,GAAA,EAAA,CAAA,MAAA,CAAA;;;;;;;yBAeF,MAAM,CAAC,YAAY,EAAnB,OAAmB,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;oBAAG,OAAM,CAAA,CAAA,YAAA,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,IAAI,EAAE,CAAR,EAAQ,CAAC,CAAA,CAAA;;AAAtD,oBAAA,EAAA,GAAA,SAAsD,CAAA;;;AAAG,oBAAA,EAAA,GAAA,IAAI,CAAA;;;AAFjF,oBAAA,mBAAmB,GAE8D,EAAA,CAAA;;AAGvF,oBAAA,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC7B,oBAAA,MAAM,GAAG;AACb,wBAAA,MAAM,EAAE,iBAAiB;AACzB,wBAAA,IAAI,EAAA,IAAA;AACJ,wBAAA,OAAO,EAAA,OAAA;AACP,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,OAAO,EAAE,KAAK;AACd,wBAAA,UAAU,EAAE,SAAS;AACrB,wBAAA,IAAI,EAAE,kBAAkB,CAAC,CAAA,EAAA,GAAA,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,QAAQ,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC;AAChD,wBAAA,WAAW,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE;AACxC,wBAAA,aAAa,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;wBACxC,mBAAmB,EAAE,CAAA,mBAAmB,KAAnB,IAAA,IAAA,mBAAmB,uBAAnB,mBAAmB,CAAE,WAAW,IAAG,kBAAkB,CAAC,mBAAmB,KAAnB,IAAA,IAAA,mBAAmB,KAAnB,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,mBAAmB,CAAE,WAAW,CAAC,GAAG,EAAE;AAEjH,wBAAA,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE;;;AAGvC,wBAAA,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;AACvD,wBAAA,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,EAAE;qBACxD,CAAC;AAEI,oBAAA,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;yBACvC,MAAM,CAAC,UAAC,EAAU,EAAA;AAAV,wBAAA,IAAA,EAAA,GAAA,aAAU,CAAT,CAAC,EAAA,CAAA,CAAA,CAAA,CAAA,KAAE,KAAK,GAAA,EAAA,CAAA,CAAA,EAAA;AAAM,wBAAA,OAAA,KAAK,CAAA;AAAL,qBAAK,CAAC;yBAC7B,GAAG,CAAC,UAAC,EAAY,EAAA;AAAZ,wBAAA,IAAA,EAAA,GAAA,aAAY,EAAX,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,GAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAAM,wBAAA,OAAA,EAAG,CAAA,MAAA,CAAA,GAAG,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,KAAK,CAAE,CAAA;AAAjB,qBAAiB,CAAC;yBACxC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEP,oBAAA,IAAI,GAAI,MAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;oBAC7C,GAAG,GAAG,UAAG,IAAI,EAAA,gBAAA,CAAA,CAAA,MAAA,CAAiB,WAAW,CAAG,CAAA,MAAA,CAAA,MAAM,GAAG,WAAI,MAAM,CAAE,GAAG,EAAE,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,aAAa,CAAE,CAAC;oBAEhG,IAAI,MAAM,CAAC,6BAA6B,EAAE;wBACxC,OAAO,CAAA,CAAA,aAAA,MAAM,CAAC,6BAA6B,CAAC,CAAA;AAC7C,qBAAA;AACD,oBAAA,OAAA,CAAA,CAAA,aAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAK,EAAA,OAAA,CAAC,CAAC,IAAI,EAAE,CAAR,EAAQ,CAAC,CAAC,CAAA;;;;CACzC;;ACnEa,SAAgB,YAAY,CACxC,MAAc,EACd,WAAoB,EACpB,mBAA2B,EAC3B,WAAuC,EAAA;;;;;AAEjC,YAAA,MAAM,0BAAc,WAAW,IAAI,EAAE,MAAG,KAAK,EAAE,MAAA,CAAA,EAAA,GAAA,MAAM,CAAC,aAAa,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,GAAE,CAAC;YAC5F,OAAO,CAAA,CAAA,aAAA,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAA;;;AACjF,CAAA;AAiBK,SAAgB,sBAAsB,CAC1C,MAAc,EACd,MAAe,EACf,mBAA2B,EAC3B,WAAuC,EAAA;;;;;;;AAE/B,oBAAA,IAAI,GAA6B,MAAM,CAAA,IAAnC,EAAE,OAAO,GAAoB,MAAM,CAA1B,OAAA,EAAE,MAAM,GAAY,MAAM,CAAlB,MAAA,EAAE,KAAK,GAAK,MAAM,MAAX,CAAY;AAC1C,oBAAA,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChD,aAAa,GAAG,CAAC,WAAW;AAChC,0BAAE,EAAE;AACJ,0BAAE,GAAI,CAAA,MAAA,CAAA,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AACzB,6BAAA,GAAG,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,EAAG,CAAA,MAAA,CAAA,CAAC,EAAI,GAAA,CAAA,CAAA,MAAA,CAAA,WAAW,CAAC,CAAC,CAAC,CAAE,CAAA,EAAA,CAAC;AACpC,6BAAA,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;AACb,oBAAA,MAAM,GAAG,CAAA,CAAA,EAAA,GAAA,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAC,EAAE,CAAC,KAAI,EAAE,CAAC;AAC1D,oBAAA,SAAS,GAAK,MAAM,CAAC,aAAa,CAAC,OAAO,UAAjC,CAAkC;AAEX,oBAAA,OAAA,CAAA,CAAA,YAAM,cAAc,CAAC;AAC3D,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,IAAI,EAAA,IAAA;AACJ,4BAAA,OAAO,EAAA,OAAA;AACP,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,KAAK,EAAA,KAAA;AACL,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,MAAM,EAAA,MAAA;AACN,4BAAA,aAAa,EAAA,aAAA;AACd,yBAAA,CAAC,CAAA,CAAA;;AAVI,oBAAA,MAAM,GAA4B,EAUtC,CAAA,IAAA,EAAA,CAAA;AAEF,oBAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;AAEtB,wBAAA,WAAW,GAAG,MAAM,CAAC,OAAO,KAAK,oBAAoB,GAAG,mBAAmB,GAAG,eAAe,CAAC;AAE9F,wBAAA,IAAI,GAAG,MAAM,CAAC,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;AAG/E,wBAAA,KAAK,GAAG,IAAI,KAAK,CAAC,EAAG,CAAA,MAAA,CAAA,IAAI,EAAM,KAAA,CAAA,CAAA,MAAA,CAAA,MAAM,CAAC,OAAO,CAAE,CAGpD,CAAC;AAEF,wBAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AACnB,4BAAA,IAAI,EAAA,IAAA;AACJ,4BAAA,UAAU,EAAE,CAAA,EAAA,GAAA,MAAM,CAAC,WAAW,mCAAI,EAAE;AACrC,yBAAA,CAAC,CAAC;AAEH,wBAAA,MAAM,KAAK,CAAC;AACb,qBAAA;AAAM,yBAAA;wBACL,OAAY,CAAA,CAAA,aAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,MAAM,KAAE,OAAO,EAAE,MAAM,CAAC,cAAc,EAAG,CAAA,CAAA,CAAA;AACtD,qBAAA;;;;AACF,CAAA;AAiBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1FO,IAAM,wBAAwB,GAAgB;AACnD,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,MAAM,EAAEA,OAAW,CAAyC;AAC1D,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,SAAS,EAAE,KAAK;SACjB,CAAC;AACH,KAAA;CACF,CAAC;AAEK,IAAM,wBAAwB,GAAgB;AACnD,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,MAAM,EAAEC,OAAW,CAAyC;AAC1D,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,KAAK,EAAE,uBAAuB;SAC/B,CAAC;AACH,KAAA;CACF,CAAC;AAQF,IAAM,mBAAmB,GAAgB;AACvC,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,MAAM,EAAEC,UAAc,EAAE;AACzB,KAAA;CACF,CAAC;AAEF,IAAM,eAAe,GAAG,UAAC,MAAc,EAAA;AACrC,IAAA,IAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAyB,CAAC;AAC9D,IAAA,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE;AACvB,QAAA,QAAQ,MAAM,CAAC,eAAe,CAAC;AAC7B,YAAA,KAAK,4BAA4B;AAC/B,gBAAA,OAAO,wBAAwB,CAAC;AAClC,YAAA,KAAK,4BAA4B;AAC/B,gBAAA,OAAO,wBAAwB,CAAC;AAClC,YAAA,KAAK,kCAAkC;AACrC,gBAAA,OAAO,wBAAwB,CAAC;AAClC,YAAA;AACE,gBAAA,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;AACzC,gBAAA,OAAO,mBAAmB,CAAC;AAC9B,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,OAAO,mBAAmB,CAAC;AAC5B,KAAA;AACH,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;AAO7C;;;;;;AAMG;AACU,IAAA,kBAAkB,GAAG,gBAAgB,CAMhD,2BAA2B,EAAE,UAAO,EAA+B,EAAE,EAA6B,EAAA;AAA5D,IAAA,IAAA,MAAM,YAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA;QAAM,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAAA,CAAA;;;;;;;oBAC1F,KAAK,GAAc,QAAQ,EAAE,CAAC;AACpC,oBAAA,IAAI,EAAC,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,KAAK,aAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,QAAQ,0CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE;AAChD,wBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,gCAAA,SAAS,EAAE,iBAAiB;AAC7B,6BAAA,CAAC,CAAC,CAAA;AACJ,qBAAA;oBACO,MAAM,GAAK,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAA,MAArC,CAAsC;;;;;AAIlD,oBAAA,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;oBAC7C,OAAM,CAAA,CAAA,YAAA,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA,CAAA;;AAA7E,oBAAA,mBAAmB,GAAG,EAAuD,CAAA,IAAA,EAAA,CAAA;AACnF,oBAAA,OAAO,CAAC,cAAc,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;AAK9E,oBAAA,IAAA,EAAA,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,KAAK,MAAM,CAAA,EAA5E,OAA4E,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;oBAC9E,OAAM,CAAA,CAAA,YAAA,WAAW,CAAC,MAAM,CAAC;6BACtB,IAAI,CAAC,UAAC,IAAS,EAAA;4BACd,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gCAC1C,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,uBAAuB,CAAC,CAAC;AACtE,6BAAA;AAAM,iCAAA;gCACL,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,sBAAsB,CAAC,CAAC;AACrE,6BAAA;AACH,yBAAC,CAAC;6BACD,KAAK,CAAC,UAAC,KAAK,EAAA;4BACX,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC;AAC5E,yBAAC,CAAC,CAAA,CAAA;;AAVJ,oBAAA,EAAA,CAAA,IAAA,EAUI,CAAC;;;;gBAIP,OAAO,CAAA,CAAA,aAAA;AACL,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,MAAM,EAAEF,OAAW,CAAA,QAAA,CAAA,EAAA,EAA8C,mBAAmB,CAAG,CAAA;qBACxF,CAAC,CAAA;;;AAEF,oBAAA,OAAO,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC;AAEX,oBAAA,SAAS,GAAG,IAAE,CAAC,IAA6B,CAAC;AAEnD,oBAAA,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,2BAA2B,EAAE;AAClE,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,SAAS,EAAA,SAAA;AACV,qBAAA,CAAC,CAAC;oBAEH,IAAI,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAI,MAAA,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,aAAa,0CAAE,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,oBAAoB,CAAA,EAAE;wBAClG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,oBAAoB,EAAE;AAC5D,4BAAA,YAAY,EAAE,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,KAAN,IAAA,IAAA,MAAM,KAAN,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,MAAM,CAAE,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,0CAAE,oBAAoB;AAClE,4BAAA,SAAS,EAAA,SAAA;AACT,4BAAA,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC;AACnC,yBAAA,CAAC,CAAC;AACH,wBAAA,qBAAqB,CAAC,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAM,aAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,aAAa,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,oBAAoB,CAAC,CAAC;AAC7E,qBAAA;AACD,oBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,4BAAA,SAAS,EAAA,SAAA;4BACT,UAAU,EAAE,IAAE,CAAC,UAAU;AAC1B,yBAAA,CAAC,CAAC,CAAA;;;;;AAEN,CAAA,EAAE;AAEU,IAAA,iBAAiB,GAAG,gBAAgB,CAM/C,0BAA0B,EAAE,UAAO,CAAC,EAAE,EAAuC,EAAA;AAArC,IAAA,IAAA,QAAQ,cAAA,EAAE,QAAQ,GAAA,EAAA,CAAA,QAAA,EAAE,eAAe,GAAA,EAAA,CAAA,eAAA,CAAA;;;;;YAC3E,IAAI;gBACF,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAU,EAAE,kCAAkC,CAAC,CAAC;gBACjF,KAAK,GAAc,QAAQ,EAAE,CAAC;AACpC,gBAAA,IAAI,EAAC,CAAA,EAAA,GAAA,MAAA,CAAA,EAAA,GAAA,KAAK,aAAL,KAAK,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAL,KAAK,CAAE,QAAQ,0CAAE,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAM,CAAA,EAAE;AAChD,oBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,4BAAA,SAAS,EAAE,iBAAiB;AAC7B,yBAAA,CAAC,CAAC,CAAA;AACJ,iBAAA;gBACO,QAAQ,GAAK,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAA,QAArC,CAAsC;AAEtD,gBAAA,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,mCAAmC,EAAE;oBACzE,OAAO,CAAA,CAAA,aAAA;AACL,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAEE,UAAc,EAAE;yBACzB,CAAC,CAAA;AACH,iBAAA;AACD,gBAAA,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAC9B,aAAA;AAAC,YAAA,OAAO,EAAE,EAAE;AACX,gBAAA,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACjB,gBAAA,OAAA,CAAA,CAAA,aAAO,eAAe,CAAC;AACrB,wBAAA,SAAS,EAAE,iBAAiB;AAC7B,qBAAA,CAAC,CAAC,CAAA;AACJ,aAAA;;;;AACF,CAAA,EAAE;AAEH,IAAM,WAAW,GAAG,WAAW,CAAC;AAC9B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,YAAY,EAAA,YAAA;AACZ,IAAA,QAAQ,EAAE,EAAE;IACZ,aAAa,EAAE,UAAC,OAAO,EAAA;QACrB,OAAO;AACJ,aAAA,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAC,KAAK,EAAA;AACzC,YAAA,KAAK,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAEC,OAAW,EAAE,EAAE,CAAC;AACtE,SAAC,CAAC;aACD,OAAO,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAC,KAAK,EAAE,MAAuC,EAAA;AACpF,YAAA,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;AACtC,SAAC,CAAC;aACD,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAC,KAAK,EAAE,MAAyC,EAAA;YACrF,KAAK,CAAC,YAAY,GAAG;AACnB,gBAAA,IAAI,EAAE,aAAa;gBACnB,MAAM,EAAEF,OAAW,CAAC,MAAM,CAAC,OAAO,CAAC;aACpC,CAAC;AACJ,SAAC,CAAC;aAED,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAC,KAAK,EAAE,MAAuC,EAAA;AACnF,YAAA,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;AACtC,SAAC,CAAC,CAAC;KACN;AACF,CAAA,CAAC,CAAC;AAEH;AACwB,IAAA,aAAa,GAA6B,WAAW,CAAxC,OAAA,CAAA,CAA6B,WAAW,CAAA;;;;"}
|
package/dist/moRedirFlow.js
CHANGED
|
@@ -6,7 +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 { u as updateUrlWithParams } from './updateUrlWithParams-ZaZt1BCf.js';
|
|
9
|
-
import { t as tryGetIPRangeName, i as identifyStrategy } from './strategySlice-
|
|
9
|
+
import { t as tryGetIPRangeName, i as identifyStrategy } from './strategySlice-Bki4ZBKm.js';
|
|
10
10
|
import { c as cleanSearchParams } from './cleanSearchParams-B2jK3H1j.js';
|
|
11
11
|
import 'pacman-client';
|
|
12
12
|
import 'uuid';
|
package/dist/oneClickFlow.js
CHANGED
|
@@ -3,7 +3,7 @@ import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
|
3
3
|
import { S as Success, N as NothingYet, L as Loading, F as Failure } from './RemoteDataState-CwHLI23e.js';
|
|
4
4
|
import { u as updateUrlParameter, t as tracker } from './tracker-B_zsMRN2.js';
|
|
5
5
|
import { searchToObject } from './searchToObject.js';
|
|
6
|
-
import { c as setStrategyExtraData, f as flowMapping } from './strategySlice-
|
|
6
|
+
import { c as setStrategyExtraData, f as flowMapping } from './strategySlice-Bki4ZBKm.js';
|
|
7
7
|
import { b as bupperizeCountry } from './api-oPdBWsMC.js';
|
|
8
8
|
import { l as loadScriptInnerHtml } from './loadScriptInnerHtml-CstJVRED.js';
|
|
9
9
|
import { c as cleanSearchParams } from './cleanSearchParams-B2jK3H1j.js';
|
package/dist/pinFlow.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
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
|
-
import { i as identifyStrategy, c as setStrategyExtraData, P as PossibleTypes } from './strategySlice-
|
|
4
|
+
import { i as identifyStrategy, c as setStrategyExtraData, P as PossibleTypes } from './strategySlice-Bki4ZBKm.js';
|
|
5
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';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"moFlowSlice.d.ts","sourceRoot":"","sources":["../../../../src/flows/moFlow/moFlowSlice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,+BAA+B,CAAC;AAUvC,eAAO,MAAM,wBAAwB,EAAE,WAQtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,WAQtC,CAAC;AACF,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE;QACZ,IAAI,EAAE,aAAa,CAAC;QACpB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACvC,CAAC;CACH;AA8BD,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AACD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;iBAId,kBAAkB;;;;;;;;EA8DjC,CAAC;AAEH,eAAO,MAAM,iBAAiB;iBAIb,GAAG;;;;;;;;
|
|
1
|
+
{"version":3,"file":"moFlowSlice.d.ts","sourceRoot":"","sources":["../../../../src/flows/moFlow/moFlowSlice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,oCAAoC,CAAC;AAC1D,OAAO,EAEL,kBAAkB,EAClB,gBAAgB,EAEjB,MAAM,+BAA+B,CAAC;AAUvC,eAAO,MAAM,wBAAwB,EAAE,WAQtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,WAQtC,CAAC;AACF,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE;QACZ,IAAI,EAAE,aAAa,CAAC;QACpB,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACvC,CAAC;CACH;AA8BD,UAAU,gBAAgB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AACD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;iBAId,kBAAkB;;;;;;;;EA8DjC,CAAC;AAEH,eAAO,MAAM,iBAAiB;iBAIb,GAAG;;;;;;;;EA0BlB,CAAC;AA4BH,eAAO,MAAiB,aAAa,oFAAW,aAAa,6DAAgB,CAAC;AAG9E,eAAO,MAAM,iBAAiB,UAAW,GAAG,QAAiB,CAAC"}
|
|
@@ -4,6 +4,7 @@ declare const handleHeaderEnrichment: () => Promise<{
|
|
|
4
4
|
result: RDS.RemoteDataState<unknown, unknown>;
|
|
5
5
|
data: {
|
|
6
6
|
config: import("../../../common-types/Strategy").ConfigDetails;
|
|
7
|
+
strategy: import("../../../common-types/Strategy").IStrategyNames;
|
|
7
8
|
operator?: undefined;
|
|
8
9
|
msisdn?: undefined;
|
|
9
10
|
isHeaderEnrichmentSuccess?: undefined;
|
|
@@ -19,6 +20,7 @@ declare const handleHeaderEnrichment: () => Promise<{
|
|
|
19
20
|
operator: string;
|
|
20
21
|
msisdn: string;
|
|
21
22
|
isHeaderEnrichmentSuccess: true;
|
|
23
|
+
strategy: import("../../../common-types/Strategy").IStrategyNames;
|
|
22
24
|
subscription_url?: undefined;
|
|
23
25
|
redirect_url?: undefined;
|
|
24
26
|
apn?: undefined;
|
|
@@ -29,6 +31,7 @@ declare const handleHeaderEnrichment: () => Promise<{
|
|
|
29
31
|
data: {
|
|
30
32
|
config: import("../../../common-types/Strategy").ConfigDetails;
|
|
31
33
|
operator: string;
|
|
34
|
+
strategy: import("../../../common-types/Strategy").IStrategyNames;
|
|
32
35
|
msisdn?: undefined;
|
|
33
36
|
isHeaderEnrichmentSuccess?: undefined;
|
|
34
37
|
subscription_url?: undefined;
|
|
@@ -46,6 +49,7 @@ declare const handleHeaderEnrichment: () => Promise<{
|
|
|
46
49
|
isHeaderEnrichmentSuccess: boolean;
|
|
47
50
|
msisdn: string;
|
|
48
51
|
apn: any;
|
|
52
|
+
strategy: import("../../../common-types/Strategy").IStrategyNames;
|
|
49
53
|
};
|
|
50
54
|
}>;
|
|
51
55
|
export { handleHeaderEnrichment };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerEnrichment.d.ts","sourceRoot":"","sources":["../../../../src/flows/strategy/strategies/headerEnrichment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,uCAAuC,CAAC;AAgC7D,QAAA,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"headerEnrichment.d.ts","sourceRoot":"","sources":["../../../../src/flows/strategy/strategies/headerEnrichment.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,uCAAuC,CAAC;AAgC7D,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoH3B,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
|
package/dist/strategy.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { R as RDS } from './RemoteDataState-CwHLI23e.js';
|
|
2
|
-
import { P as PossibleTypes } from './strategySlice-
|
|
3
|
-
export { i as identifyStrategy, a as selectOperatorAction, b as strategyReducer, s as submitMSISDNAction } from './strategySlice-
|
|
2
|
+
import { P as PossibleTypes } from './strategySlice-Bki4ZBKm.js';
|
|
3
|
+
export { i as identifyStrategy, a as selectOperatorAction, b as strategyReducer, s as submitMSISDNAction } from './strategySlice-Bki4ZBKm.js';
|
|
4
4
|
import 'tslib';
|
|
5
5
|
import '@reduxjs/toolkit';
|
|
6
6
|
import './searchToObject.js';
|
|
@@ -577,12 +577,13 @@ var resolveOperator = function (visitor, search, configs, msisdn) { return __awa
|
|
|
577
577
|
});
|
|
578
578
|
}); };
|
|
579
579
|
var handleHeaderEnrichment = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
580
|
-
var configs, defaultConfig, defaultFlowType, visitor, search, candidates, msisdn, isHeaderEnrichmentSuccess, operator, _a, subscription_url, redirect_url, flowObj, flowType, event_1, heResult, ex_1;
|
|
580
|
+
var configs, strategy, defaultConfig, defaultFlowType, visitor, search, candidates, msisdn, isHeaderEnrichmentSuccess, operator, _a, subscription_url, redirect_url, flowObj, flowType, event_1, heResult, ex_1;
|
|
581
581
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
582
582
|
return __generator(this, function (_o) {
|
|
583
583
|
switch (_o.label) {
|
|
584
584
|
case 0:
|
|
585
585
|
configs = getConfig();
|
|
586
|
+
strategy = configs.strategy;
|
|
586
587
|
defaultConfig = configs === null || configs === void 0 ? void 0 : configs.strategyConfigs.default;
|
|
587
588
|
defaultFlowType = defaultConfig.flow;
|
|
588
589
|
_o.label = 1;
|
|
@@ -621,7 +622,8 @@ var handleHeaderEnrichment = function () { return __awaiter(void 0, void 0, void
|
|
|
621
622
|
type: flowMapping[defaultFlowType],
|
|
622
623
|
result: NothingYet(),
|
|
623
624
|
data: {
|
|
624
|
-
config: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.flowConfig
|
|
625
|
+
config: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.flowConfig,
|
|
626
|
+
strategy: strategy
|
|
625
627
|
}
|
|
626
628
|
}];
|
|
627
629
|
}
|
|
@@ -633,7 +635,8 @@ var handleHeaderEnrichment = function () { return __awaiter(void 0, void 0, void
|
|
|
633
635
|
config: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.flowConfig,
|
|
634
636
|
operator: operator,
|
|
635
637
|
msisdn: msisdn,
|
|
636
|
-
isHeaderEnrichmentSuccess: isHeaderEnrichmentSuccess
|
|
638
|
+
isHeaderEnrichmentSuccess: isHeaderEnrichmentSuccess,
|
|
639
|
+
strategy: strategy
|
|
637
640
|
}
|
|
638
641
|
}];
|
|
639
642
|
}
|
|
@@ -645,7 +648,8 @@ var handleHeaderEnrichment = function () { return __awaiter(void 0, void 0, void
|
|
|
645
648
|
result: NothingYet(),
|
|
646
649
|
data: {
|
|
647
650
|
config: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.flowConfig,
|
|
648
|
-
operator: operator
|
|
651
|
+
operator: operator,
|
|
652
|
+
strategy: strategy
|
|
649
653
|
}
|
|
650
654
|
}];
|
|
651
655
|
}
|
|
@@ -677,7 +681,8 @@ var handleHeaderEnrichment = function () { return __awaiter(void 0, void 0, void
|
|
|
677
681
|
redirect_url: redirect_url || null,
|
|
678
682
|
isHeaderEnrichmentSuccess: isHeaderEnrichmentSuccess,
|
|
679
683
|
msisdn: msisdn,
|
|
680
|
-
apn: (_m = visitor === null || visitor === void 0 ? void 0 : visitor.heMsisdnResult) === null || _m === void 0 ? void 0 : _m.apn
|
|
684
|
+
apn: (_m = visitor === null || visitor === void 0 ? void 0 : visitor.heMsisdnResult) === null || _m === void 0 ? void 0 : _m.apn,
|
|
685
|
+
strategy: strategy
|
|
681
686
|
}
|
|
682
687
|
}];
|
|
683
688
|
case 8:
|
|
@@ -687,7 +692,8 @@ var handleHeaderEnrichment = function () { return __awaiter(void 0, void 0, void
|
|
|
687
692
|
type: flowMapping[defaultFlowType],
|
|
688
693
|
result: NothingYet(),
|
|
689
694
|
data: {
|
|
690
|
-
config: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.flowConfig
|
|
695
|
+
config: defaultConfig === null || defaultConfig === void 0 ? void 0 : defaultConfig.flowConfig,
|
|
696
|
+
strategy: strategy
|
|
691
697
|
}
|
|
692
698
|
}];
|
|
693
699
|
case 9: return [2 /*return*/];
|
|
@@ -1162,4 +1168,4 @@ var strategySlice = createSlice({
|
|
|
1162
1168
|
var strategyReducer = strategySlice.reducer;
|
|
1163
1169
|
|
|
1164
1170
|
export { PossibleTypes as P, selectOperatorAction as a, strategyReducer as b, setStrategyExtraData as c, flowMapping as f, identifyStrategy as i, submitMSISDNAction as s, tryGetIPRangeName as t };
|
|
1165
|
-
//# sourceMappingURL=strategySlice-
|
|
1171
|
+
//# sourceMappingURL=strategySlice-Bki4ZBKm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategySlice-Bki4ZBKm.js","sources":["../../src/sharedFlowTypes/StrategyTypes.ts","../../src/ips/tryGetIPRangeName.ts","../../src/flows/strategy/main.ts","../../src/flows/strategy/strategies/askMobileNumber.ts","../../src/flows/strategy/strategies/askOperator.ts","../../src/flows/strategy/strategies/callRedirectApi.ts","../../src/flows/strategy/strategies/detectOperatorByIp.ts","../../src/flows/strategy/strategies/headerEnrichment.ts","../../src/flows/strategy/strategies/injectHeaderEnrichmentScript.ts","../../src/flows/strategy/strategySlice.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable camelcase */\nimport * as RDS from '../common-types/RemoteDataState';\nimport { IStrategyNames } from '../common-types/Strategy';\nimport { Click2smsFlowState } from './Click2smsTypes';\nimport { CreditCardFlowState } from './CreditCardTypes';\nimport { MoRedirFlowState } from './MoRedirTypes';\nimport { MoFlowState } from './MoTypes';\nimport { OneClickFlowState } from './OneClickTypes';\nimport { PinFlowState } from './PinTypes';\nimport { UssdFlowState } from './UssdTypes';\n\nexport type IIdentifyResult = {\n operator: string;\n flow?: string;\n success: boolean;\n rockman_id?: string;\n message?: string;\n};\n\nexport interface HEResult {\n msisdn: string;\n operator: string;\n subscription_url?: string;\n redirect_url?: string;\n}\n\nexport type ConfigDetails = {\n host: string;\n slug: string;\n country: string;\n device?: 'smart' | 'feature';\n queryString?: Array<[string, string]>;\n automaticallySubmitAllOperators?: boolean;\n operators?: string[];\n service: string;\n offer?: string;\n};\n\nexport type IConfig = {\n offer?: string;\n slug?: string;\n country?: string;\n host?: string;\n device?: 'smart' | 'feature';\n automaticallySubmitAllOperators?: boolean;\n operators?: string[];\n service?: string;\n serviceId?: string;\n queryString?: any;\n apiAction?: any;\n};\n\nexport type ISupportedFlows = 'pin' | 'mo' | 'oneClick' | 'click2sms' | 'moRedir' | 'ussd' | 'creditCard';\nexport type IFlow = {\n flow: ISupportedFlows;\n flowOnWifi?: ISupportedFlows;\n operator?: string;\n flowConfig: ConfigDetails;\n default?: IFlow;\n rockman_id?: string;\n};\n\nexport type StrategyConfig = {\n operators: {\n [key: string]: IFlow;\n };\n default: IFlow;\n isUseMsisdnPrefix?: boolean;\n};\n// export type IStrategy = IPinStrategy | IMoStrategy;\n\nexport type IStrategy = {\n strategy: IStrategyNames;\n country: string;\n strategyConfigs: StrategyConfig;\n};\n\nexport interface IHash {\n [key: string]: string;\n}\n\nexport type IDENTIFYMSISDNEntryErrorTypes = 'AlreadySubscribed' | 'UnknownError' | 'InvalidMSISDN';\n\nexport type IDENTIFYMSISDNEntryFailure = {\n errorType: IDENTIFYMSISDNEntryErrorTypes;\n error: unknown;\n};\n\nexport type IdentifyFlowOptionsResult = {\n config: IConfig;\n nextAction?: unknown;\n msisdn?: string;\n operator?: string;\n subscription_url?: string;\n redirect_url?: string;\n rockman_id?: string;\n isHeaderEnrichmentSuccess?: boolean;\n autoRedirect?: boolean;\n isUseMsisdnPrefix?: boolean;\n};\n\nexport type IDENTIFYMSISDNEntrySuccess = {};\nexport type OPERATORSelectFailure = {};\nexport type OPERATORSelectSuccess = IdentifyFlowOptionsResult;\n\nexport type IDETECTYOPERATOBYIPFailure = {};\nexport type IDETECTYOPERATOBYIPSuccess = IdentifyFlowOptionsResult;\n\nexport type IDENTIFY_OPERATOR_MSISDNEntrySuccess = IdentifyFlowOptionsResult;\n\nexport type IDENTIFY_FLOW_HESuccess = IdentifyFlowOptionsResult;\n\nexport type OPERATORSelectFlowIdentifyFailure = {};\nexport type OPERATORSelectFlowIdentifySuccess = {\n operators: Array<string>;\n msisdn?: string;\n nextAction: 'selectOperator';\n};\nexport type IDENTIFYFailure = {};\n\nexport type IDENTIFYSuccess = {};\n\nexport type IOperatorSelectFlowIdentifyPayload = {\n type: 'IDENTIFY_FLOW_BY_OPERATOR_SELECT';\n result: RDS.RemoteDataState<OPERATORSelectFlowIdentifyFailure, OPERATORSelectFlowIdentifySuccess>;\n};\n\n// export type IIdentifyByIPPayload= {\n// type:\"IDENTIFY_FLOW_BY_IP\"\n// result: RDS.RemoteDataState<IDENTIFYBYIPFailure, IDENTIFYBYIPSuccess>;\n// }\n\nexport type IDetectOperatorByIpPayload = {\n type: 'DETECT_OPERATOR_BY_IP';\n result: RDS.RemoteDataState<IDETECTYOPERATOBYIPFailure, IDETECTYOPERATOBYIPSuccess>;\n};\n\nexport enum PossibleTypes {\n IDENTIFY_STRATEGY = 'IDENTIFY_STRATEGY',\n IDENTIFY_FLOW_BY_MSISDN = 'IDENTIFY_FLOW_BY_MSISDN',\n IDENTIFY_FLOW_BY_OPERATOR_SELECT = 'IDENTIFY_FLOW_BY_OPERATOR_SELECT',\n PIN = 'PIN',\n MO = 'MO',\n MO_REDIR = 'MO_REDIR',\n ONE_CLICK = 'ONE_CLICK',\n CLICK2SMS = 'CLICK2SMS',\n USSD = 'USSD',\n TPAY_HE = 'TPAY_HE',\n CREDIT_CARD = 'CREDIT_CARD'\n}\n\nexport type IOperatorSelectPayload = {\n type: PossibleTypes;\n result: OPERATORSelectSuccess;\n};\n\nexport type ISubmitMsisdnPayload = {\n type: PossibleTypes;\n result: IDENTIFY_OPERATOR_MSISDNEntrySuccess;\n};\n\nexport type IIdentifyFlowByIpOperatorPayload = {\n type: PossibleTypes;\n result: IDENTIFY_OPERATOR_MSISDNEntrySuccess;\n};\n\nexport type IIdentifyFlowByHePayload = {\n type: PossibleTypes;\n result: IDENTIFY_FLOW_HESuccess;\n};\n\nexport type IIdentfyFlowByMsisdnNextAction = 'submitMSISDNAction' | 'loadOc2sms';\nexport type IIdentfyFlowByOperatorNextAction = 'submitMSISDNAction' | 'loadOc2sms';\nexport type IIdentfyFlowByIPOperatorNextAction = 'getRedirectUrlAction' | 'submitMSISDNAction';\n\nexport type IIdenyifyFlowByMsisdnSumbitNextData = {\n nextAction: IIdentfyFlowByMsisdnNextAction;\n msisdn?: string;\n operator?: string;\n};\n\nexport type IIdenyifyFlowByMsisdnPayload = {\n type: 'IDENTIFY_FLOW_BY_MSISDN';\n result: RDS.RemoteDataState<IDENTIFYMSISDNEntryFailure, IDENTIFYMSISDNEntrySuccess>;\n data: IIdenyifyFlowByMsisdnSumbitNextData;\n};\n\nexport type IIdenyifyStrategyPayload = {\n type: 'IDENTIFY_FLOW_BY_MSISDN';\n result: RDS.RemoteDataState<IDENTIFYMSISDNEntryFailure, IDENTIFYMSISDNEntrySuccess>;\n data: IIdenyifyFlowByMsisdnSumbitNextData;\n};\n\nexport type IStrategyCurrentState =\n | {\n type: 'IDENTIFY_STRATEGY';\n result: RDS.RemoteDataState<IDENTIFYFailure, IDENTIFYSuccess>;\n }\n | {\n type: 'IDENTIFY_FLOW_BY_OPERATOR_SELECT';\n result: OPERATORSelectFlowIdentifySuccess;\n }\n | {\n type: 'DETECT_OPERATOR_BY_IP';\n result: RDS.RemoteDataState<IDETECTYOPERATOBYIPFailure, IDETECTYOPERATOBYIPSuccess>;\n }\n | {\n type: 'HE_IDENTIFY';\n result: RDS.RemoteDataState<IDENTIFYFailure, IDENTIFYSuccess>;\n }\n | {\n type: 'OPERATOR_SELECT';\n result: RDS.RemoteDataState<OPERATORSelectFailure, OPERATORSelectSuccess>;\n config: IConfig;\n }\n | {\n type: 'IDENTIFY_FLOW_BY_MSISDN';\n result: RDS.RemoteDataState<IDENTIFYMSISDNEntryFailure, IDENTIFYMSISDNEntrySuccess>;\n nextData: IIdenyifyFlowByMsisdnSumbitNextData;\n }\n | {\n type: 'PIN';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'MO';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'USSD';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'MO_REDIR';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'ONE_CLICK';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'CLICK2SMS';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'TPAY_HE';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'CREDIT_CARD';\n result: IdentifyFlowOptionsResult;\n };\n\nexport type IStrategyIDentifyUserResult =\n | {\n success: 'true';\n rockman_id: string;\n msisdn: string;\n operator?: string;\n subscription_url?: string;\n redirect_url?: string;\n 'redirect-back'?: string;\n 'msisdn-alias'?: string;\n }\n | {\n success: 'false';\n rockman_id: string;\n message: string;\n 'redirect-back'?: string;\n };\n\nexport type IMockFlows = 'pin' | 'mo' | 'oneclick' | 'click2sms' | 'moredir' | 'ussd' | 'tpay' | 'creditcard';\n\nexport interface IMockFlowParams<T> {\n 'mock-flow': IMockFlows;\n 'current-state': T;\n 'show-pin-entry': '1' | '0';\n 'show-thank-you': '1' | '0';\n 'show-chain-link': '1' | '0';\n operator: string;\n msisdn?: string;\n 'subscription-url'?: string;\n show_custom_error?: string;\n product_url?: string;\n ui_show_default_flow?: '1' | '0';\n ui_show_pin_entry?: '1' | '0';\n ui_error_message?: string;\n}\n\nexport interface IScriptHeaderEnrichmentSuccess extends CustomEvent {\n detail: {\n msisdn: string;\n operator_code: string;\n subscription_url: boolean;\n encrypted_msisdn: boolean;\n };\n}\n\nexport interface IScriptHeaderEnrichmentFailure extends CustomEvent {\n detail: {\n encrypted_msisdn: boolean;\n error_details: {\n error: any;\n stack: any;\n };\n };\n}\n\nexport interface ExtraStrategyData {\n isHeaderEnrichmentSuccess?: boolean;\n config?: ConfigDetails;\n msisdn?: string;\n rockman_id?: string;\n operator?: string;\n subscription_url?: string;\n redirect_url?: string;\n operators?: string[];\n strategy?: string;\n defaultConfig?: IFlow;\n defaultFlowType?: ISupportedFlows;\n skipRedirectCall?: boolean;\n apn?: string;\n}\nexport interface StrategyState {\n currentState: StrategyCurrentState;\n}\n\nexport interface StrategyCurrentState {\n type: PossibleTypes;\n result: RDS.RemoteDataState<any, any>;\n data?: ExtraStrategyData;\n}\n\nexport type IMockPinFlowStates = 'msisdn-state' | 'pin-state' | 'completed-state' | 'msisdn-failure-state';\n\nexport interface RootState {\n strategy?: StrategyState;\n pinFlow?: PinFlowState;\n moFlow?: MoFlowState;\n moRedirFlow?: MoRedirFlowState;\n click2smsFlow?: Click2smsFlowState;\n oneClickFlow?: OneClickFlowState;\n ussdFlow?: UssdFlowState;\n creditCardFlow?: CreditCardFlowState;\n}\n","/* eslint-disable no-param-reassign */\nimport { IVisitor } from '../common-types/IVisitor';\nimport queryString from '../pacman/queryString';\n\n// eslint-disable-next-line consistent-return\nexport default async function tryGetIPRangeName(visitor: IVisitor): Promise<string> {\n const mockip = queryString(window.location.href, 'mock-ip') || process.env.mock_ip;\n // eslint-disable-next-line no-console\n console.log('mockip', mockip);\n if (!visitor.ip && typeof window !== 'undefined') {\n try {\n const { host } = window.location;\n const newHost = window.DEV_BASE_URL_IP || host;\n const res = await fetch(`https://${newHost}/api/v1/ip${mockip ? `?mock-ip=${mockip}` : ''}`).then((x) =>\n x.json()\n );\n // return isIPInRange('37.200.146.28')\n visitor.ip = res.ip;\n visitor.ip_range_name = res.ip_range_name;\n return res.ip_range_name;\n } catch (ex) {\n console.warn('IP Lookup failed', ex);\n return '';\n }\n } else {\n return visitor.ip_range_name || '';\n }\n}\n","import { IError } from '../../common-types/IError';\nimport { IOptInFlowName } from '../../common-types/IOptInFlowName';\nimport { IStrategy, ISupportedFlows } from '../../common-types/Strategy';\nimport tryGetIPRangeName from '../../ips/tryGetIPRangeName';\nimport { HEResult, IConfig, IFlow, IIdentifyResult, PossibleTypes } from '../../sharedFlowTypes/StrategyTypes';\nimport { formatNumberToE164 } from '../../utilities/formatNumberToE164';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { identify } from './api';\n\nexport const flowMapping: Record<ISupportedFlows, PossibleTypes> = {\n mo: PossibleTypes.MO,\n pin: PossibleTypes.PIN,\n oneClick: PossibleTypes.ONE_CLICK,\n moRedir: PossibleTypes.MO_REDIR,\n click2sms: PossibleTypes.CLICK2SMS,\n ussd: PossibleTypes.USSD,\n tpayHe: PossibleTypes.TPAY_HE,\n creditCard: PossibleTypes.CREDIT_CARD\n};\n\n// @ts-ignore\nexport const trackerEventMapping: Record<ISupportedFlows, IOptInFlowName> = {\n mo: 'Msisdn to sms',\n pin: 'Pin',\n oneClick: '3G click',\n moRedir: 'Redirect',\n click2sms: 'Click to sms',\n tpayHe: 'Pin',\n ussd: 'Msisdn to sms'\n};\n\nexport const getTrackerEventName = (flowType: ISupportedFlows) => trackerEventMapping[flowType];\n\nexport async function determineFlowByMsidn({\n window,\n internationalMSISDN,\n configs\n}: {\n window: Window;\n internationalMSISDN: string;\n configs: IStrategy;\n}): Promise<IFlow> {\n if (!internationalMSISDN) {\n const submissionError = new Error(`Error in determineFlowByMsidn() identify action`) as IError;\n submissionError.type = 'SEInvalidMSISDN';\n throw submissionError;\n }\n const msisdn = internationalMSISDN.match(/\\d+/gi)?.join('') || ''; // tallyman API expects international msisdn without unknown special character\n const defaultFlowConfig = configs?.strategyConfigs?.default;\n const config = defaultFlowConfig.flowConfig;\n const operatorsConfig = configs?.strategyConfigs?.operators;\n\n const indentifyFlow = async (): Promise<IIdentifyResult> => {\n const { slug, country, device } = config;\n const { rockmanId } = window.pac_analytics.visitor;\n const { offer } = window.pac_analytics.visitor;\n const flowOperatorResult: IIdentifyResult = await identify({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId\n });\n return flowOperatorResult;\n };\n const theResult = await indentifyFlow();\n\n const flow = operatorsConfig[theResult.operator] ? operatorsConfig[theResult.operator] : null;\n const cannotDetect =\n theResult.success === false && theResult.message === 'Operator could not be found for the given MSISDN';\n const hlrError =\n theResult.success === false && theResult.message?.indexOf('HLR did not find the operator for given MSISDN') !== -1;\n\n if (cannotDetect || hlrError) {\n const submissionError = new Error(`Error in determineFlowByMsidn() identify action`) as IError & { msisdn: string };\n submissionError.type = 'FlowDetectFailed';\n submissionError.msisdn = msisdn;\n throw submissionError;\n } else if (flow !== null) {\n const flowObj = { operator: theResult.operator, default: defaultFlowConfig, ...flow };\n // @ts-ignore\n return flowObj;\n } else if (flow === null) {\n const flowObj = { operator: theResult.operator, ...defaultFlowConfig };\n // @ts-ignore\n return flowObj;\n } else {\n const submissionError = new Error(`Error in determineFlowByMsidn() identify action`) as IError;\n submissionError.type = 'SEInvalidMSISDN';\n throw submissionError;\n }\n}\n\nexport function determineFlowByOperator({ configs, operator }: { configs: IStrategy; operator: string }): IFlow {\n const defaultFlowConfig = configs?.strategyConfigs?.default;\n const operatorsConfig = configs?.strategyConfigs?.operators;\n\n const flowObj = {\n operator: operator?.toUpperCase(),\n default: defaultFlowConfig,\n ...operatorsConfig[operator?.toUpperCase()]\n };\n // @ts-ignore\n return flowObj;\n}\n\nexport async function determineFlowByOperatorFromIp({\n window,\n configs\n}: {\n window: Window;\n configs: IStrategy;\n}): Promise<IFlow> {\n const operator = await tryGetIPRangeName(window.pac_analytics.visitor);\n const flowObj = determineFlowByOperator({\n configs,\n operator: operator && operator.includes('_') ? operator.toUpperCase() : ''\n });\n return flowObj;\n}\n\nexport function getOperators({ configs }: { configs: IStrategy }): Array<string> {\n const operatorsConfig = configs?.strategyConfigs?.operators;\n const operators = Object.keys(operatorsConfig);\n return operators;\n}\n\nexport const getHeaderEnrichmentResult = async (operator?: string): Promise<HEResult> => {\n if (typeof window === 'undefined') {\n throw new Error('This function can only be run in a browser environment.');\n }\n\n const searchObj = searchToObject(window) as any; // Assumes the implementation of searchToObject\n if (searchObj.success === 'false') {\n throw new Error(`Error in getRedirectUrl() identify-user action:\\n${searchObj.message || 'NotOn3g'}`);\n }\n const responseUrl = searchObj.subscription_url || searchObj.redirect_url;\n\n if (responseUrl) {\n // Decode and parse\n const raw = window.atob(responseUrl);\n const newUrl = new URL(raw);\n\n // Enforce HTTPS\n newUrl.protocol = 'https:';\n\n const urlParams = new URLSearchParams(newUrl.search);\n const locParams = new URLSearchParams(window.location.search);\n\n let msisdn = urlParams.get('msisdn') || searchObj.msisdn;\n // Try decoded URL → searchObj → location.search for operator\n const operatorResult =\n operator || urlParams.get('operator') || searchObj.operator || locParams.get('operator') || '';\n\n if (msisdn) {\n msisdn = formatNumberToE164(msisdn, window?.pac_analytics?.visitor?.country);\n }\n if (operatorResult !== '') {\n newUrl.searchParams.set('operator', operatorResult);\n }\n return {\n msisdn: msisdn || '',\n operator: operatorResult || '',\n subscription_url: searchObj.subscription_url ? newUrl.href : undefined,\n redirect_url: searchObj.redirect_url ? raw : undefined\n };\n }\n console.error('No URL provided for redirection in the url params');\n\n const newUrl = new URL(window.location.href);\n const urlParams = new URLSearchParams(newUrl.search);\n\n let msisdn = urlParams.get('msisdn') || searchObj.msisdn;\n const operatorResult = urlParams.get('operator') || searchObj.operator;\n\n if (msisdn) {\n msisdn = formatNumberToE164(msisdn, window?.pac_analytics?.visitor?.country);\n }\n\n return {\n msisdn: msisdn || '',\n operator: operatorResult || ''\n };\n};\n\nexport const subscribe: (_url: string) => Promise<string> = async (_url: string) =>\n // const result:ISubscribeResult = await fetch(url + \"&operator=kw_viva\").then((x)=>x.json())\n\n // if(false === result.success){\n // const subscribeError = new Error(`Error in subscribe() one-click-subscribe action:\\n${result.message}`) as IError & {type:string;}\n // subscribeError['type'] = \"SubscriptionError\";\n // throw subscribeError\n // }else{\n '/product';\n// }\n\nexport function mockConfig({ configs, flow }: { configs: IStrategy; flow: string }): IConfig {\n const defaultFlowConfig = configs?.strategyConfigs?.default;\n const operatorsConfig = configs?.strategyConfigs?.operators;\n const opArr = Object.keys(operatorsConfig);\n const r = opArr.filter((o) => operatorsConfig[o].flow === flow);\n const operator = r[0];\n const flowObj = { offer: '1', operator, default: defaultFlowConfig, ...operatorsConfig[operator] };\n\n return flowObj;\n}\n\n// export const mockedPinFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.PIN,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('pin')\n// }\n// }\n// };\n\n// export const mockedMoFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.MO,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('mo')\n// }\n// }\n// };\n\n// export const mockedUssdFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.USSD,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('ussd')\n// }\n// }\n// };\n\n// export const mockedMoRdirFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.MO_REDIR,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('moRedir')\n// }\n// }\n// };\n\n// export const mockedClick2smsFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.CLICK2SMS,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('click2sms')\n// }\n// }\n// };\n\n// export const mockedOneClickFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.ONE_CLICK,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('oneClick')\n// }\n// }\n// };\n\n// export const mockedCreditCardFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.CREDIT_CARD,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('creditCard')\n// }\n// }\n// };\n// export const mockedMOFlow : State = { type: \"MO\", result:moFlow(mockTracker, mockConfig(\"mo\"))}\n// export const mockedOneClickFlow : State = { type: \"ONECLICK\", result:oneClickFlow(mockTracker, mockConfig(\"oneClick\"), {\"testextraparams\":\"1\"})}\n// export const mockedClick2smsFlow : State = { type: \"CLICK2SMS\", result:click2smsFlow(mockTracker, mockConfig(\"click2sms\"))}\n// export const mockedMORedirFlow : State = { type: \"MOREDIR\", result:moRedirFlow(mockTracker, mockConfig(\"moRedir\"))}\n","import { createAsyncThunk } from '@reduxjs/toolkit';\nimport * as RDS from '../../../common-types/RemoteDataState';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\n\nimport {\n IDENTIFYMSISDNEntryErrorTypes,\n ISupportedFlows,\n PossibleTypes,\n StrategyCurrentState\n} from '../../../sharedFlowTypes/StrategyTypes';\nimport { determineFlowByMsidn, flowMapping, getTrackerEventName } from '../main';\n\nexport const askMobileNumber = (): StrategyCurrentState => ({\n type: PossibleTypes.IDENTIFY_FLOW_BY_MSISDN,\n result: RDS.NothingYet()\n});\n\nexport const submitMSISDNAction = createAsyncThunk(\n 'strategy/submitMSISDNAction',\n async (\n {\n window,\n msisdn\n }: {\n window: Window;\n msisdn: string;\n isHeSuccess?: boolean;\n },\n { rejectWithValue }\n ) => {\n try {\n const configs = getConfig();\n const flowObj = await determineFlowByMsidn({ window, internationalMSISDN: msisdn, configs });\n const flowType = flowObj?.flow;\n const event = getTrackerEventName(flowType);\n const defaultConfig = configs?.strategyConfigs?.default;\n const defaultFlowType = defaultConfig?.flow as ISupportedFlows;\n\n if (!flowMapping[flowType]) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig\n }\n };\n }\n tracker.sendOptInFlowEvent(event);\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator,\n msisdn\n }\n };\n } catch (ex) {\n let errorType: IDENTIFYMSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'SEAlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'SEInvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n return rejectWithValue({\n errorType,\n error: ex,\n productUrl: ex.productUrl\n });\n }\n }\n);\n","import { createAsyncThunk } from '@reduxjs/toolkit';\nimport * as RDS from '../../../common-types/RemoteDataState';\n\nimport { PossibleTypes, StrategyCurrentState } from '../../../sharedFlowTypes/StrategyTypes';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\nimport { determineFlowByOperator, flowMapping, getOperators, getTrackerEventName } from '../main';\n\nexport const askOperator = (): StrategyCurrentState => {\n const configs = getConfig();\n const operators = getOperators({ configs });\n return {\n type: PossibleTypes.IDENTIFY_FLOW_BY_OPERATOR_SELECT,\n result: RDS.NothingYet(),\n data: {\n operators\n }\n };\n};\n\nexport const selectOperatorAction = createAsyncThunk(\n 'strategy/selectOperatorAction',\n async (\n {\n operator\n }: {\n operator: string;\n },\n { rejectWithValue }\n ) => {\n try {\n const configs = getConfig();\n\n const flowObj = determineFlowByOperator({\n configs,\n operator\n });\n\n const flowType = flowObj.flow;\n const event = getTrackerEventName(flowType);\n\n tracker.sendOptInFlowEvent(event);\n\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator\n }\n };\n } catch (ex) {\n const errorType = 'UnkownError';\n return rejectWithValue({\n errorType,\n error: ex.toString()\n });\n }\n }\n);\n","import * as RDS from '../../../common-types/RemoteDataState';\n\nimport { ISupportedFlows } from '../../../sharedFlowTypes/StrategyTypes';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\nimport { getRedirectUrl } from '../api';\nimport { flowMapping, getTrackerEventName } from '../main';\n\nconst callRedirectApi = async () => {\n const configs = getConfig();\n const defaultConfig = configs?.strategyConfigs.default;\n const defaultFlowType = defaultConfig.flow as ISupportedFlows;\n const { slug, country, device } = defaultConfig.flowConfig;\n const { rockmanId } = window.pac_analytics.visitor;\n const { offer } = window.pac_analytics.visitor;\n try {\n const result = await getRedirectUrl({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId\n });\n\n if (result.success === false) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig\n }\n };\n }\n\n // OPERATOR NOT KNOWN\n\n // const operator = result?.operator && result?.operator !== 'unknown' ? result?.operator : null;\n\n if (result?.payload?.network_type === 'data') {\n // const flowObj = await determineFlowByOperator({\n // operator,\n // configs\n // });\n // const flowType = flowObj.flow || defaultFlowType;\n const event = getTrackerEventName('oneClick');\n tracker.sendOptInFlowEvent(event);\n return {\n type: flowMapping.oneClick,\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n redirect_url: result.redirect_url || null\n }\n };\n }\n if (result?.payload?.network_type === 'wifi') {\n // const flowObj = await determineFlowByOperator({\n // operator,\n // configs\n // });\n // const flowType = flowObj.flow || defaultFlowType;\n const event = getTrackerEventName('moRedir');\n tracker.sendOptInFlowEvent(event);\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n redirect_url: result.redirect_url || null,\n skipRedirectCall: true\n }\n };\n }\n\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n redirect_url: result.redirect_url || null,\n skipRedirectCall: true\n }\n };\n } catch (ex) {\n console.error('error', ex);\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig\n }\n };\n }\n};\n\nexport { callRedirectApi };\n","import * as RDS from '../../../common-types/RemoteDataState';\nimport { IStrategyNames, ISupportedFlows } from '../../../common-types/Strategy';\n\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\nimport { determineFlowByOperatorFromIp, flowMapping, getTrackerEventName } from '../main';\nimport { askMobileNumber } from './askMobileNumber';\nimport { askOperator } from './askOperator';\n\nconst detectOperatorByIp = async (strategy?: IStrategyNames) => {\n try {\n const configs = getConfig();\n\n const flowObj = await determineFlowByOperatorFromIp({\n window,\n configs\n });\n const defaultConfig = configs?.strategyConfigs?.default;\n const defaultFlowType = defaultConfig?.flow as ISupportedFlows;\n\n if (\n !flowObj.flow &&\n (strategy === 'all-flows-detect-operator-by-ip-or-ask-mobile-number' ||\n strategy === 'all-flows-ask-mobile-number')\n ) {\n return askMobileNumber();\n }\n\n if (!flowObj.flow && strategy === 'all-flows-detect-operator-by-ip-or-ask-operator') {\n return askOperator();\n }\n\n const flowType = flowObj.flow;\n if (!flowMapping[flowType]) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n strategy\n }\n };\n }\n const event = getTrackerEventName(flowType);\n\n tracker.sendOptInFlowEvent(event);\n\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator,\n strategy,\n defaultConfig,\n defaultFlowType\n }\n };\n } catch (ex) {\n console.error('error', ex);\n }\n};\n\nexport { detectOperatorByIp };\n","import IVisitor from '../../../common-types/IVisitor';\nimport * as RDS from '../../../common-types/RemoteDataState';\nimport { IStrategy } from '../../../common-types/Strategy';\n\nimport { ISupportedFlows } from '../../../sharedFlowTypes/StrategyTypes';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { searchToObject } from '../../../utilities/searchToObject';\nimport { tracker } from '../../../utilities/tracker';\nimport {\n determineFlowByMsidn,\n determineFlowByOperator,\n flowMapping,\n getHeaderEnrichmentResult,\n getTrackerEventName\n} from '../main';\n\nconst resolveOperator = async (\n visitor: IVisitor,\n search: any,\n configs: IStrategy,\n msisdn: string\n): Promise<string | null> => {\n const firstSync = search?.operator ?? visitor?.heMsisdnDecryptedByApiResult?.operator;\n if (firstSync) return firstSync;\n\n const flow = await determineFlowByMsidn({\n window,\n configs,\n internationalMSISDN: msisdn\n });\n\n return flow?.operator ?? null;\n};\nconst handleHeaderEnrichment = async () => {\n const configs = getConfig();\n const { strategy } = configs;\n\n const defaultConfig = configs?.strategyConfigs.default;\n const defaultFlowType = defaultConfig.flow as ISupportedFlows;\n\n try {\n const visitor = (window.pac_analytics?.visitor ?? {}) as any;\n\n const search = searchToObject(window) as { operator: string; msisdn: string };\n\n const candidates: (string | undefined)[] = [\n search?.msisdn,\n visitor.heMsisdnDecryptedByApiResult?.msisdn,\n visitor.heMsisdnResult?.msisdn\n ];\n\n const msisdn = candidates.find((s) => !!s) ?? null;\n const isHeaderEnrichmentSuccess = msisdn !== null;\n\n const operator = msisdn ? await resolveOperator(visitor, search, configs, msisdn) : null;\n\n if (isHeaderEnrichmentSuccess) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-detected', {\n msisdn,\n operator\n });\n } else {\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure');\n }\n if (operator === null) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n strategy\n }\n };\n }\n\n if (configs.strategy === 'pin-header-enrichment' && isHeaderEnrichmentSuccess) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n operator,\n msisdn,\n isHeaderEnrichmentSuccess,\n strategy\n }\n };\n }\n\n if (window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.isContentBlocked) {\n window.isContentBlocked = true;\n tracker.customEvent('Flow', 'recede-auto', 'content-blocked', {\n errorType: 'ContentBlocked',\n error: 'ContentBlocked',\n message: 'ContentBlocked',\n ...window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult\n });\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n operator,\n strategy\n }\n };\n }\n let subscription_url = null;\n let redirect_url = null;\n const flowObj = await determineFlowByOperator({\n operator,\n configs\n });\n const flowType = flowObj.flow || defaultFlowType;\n const event = getTrackerEventName(flowType);\n\n tracker.sendOptInFlowEvent(event);\n if (flowType === 'oneClick') {\n const heResult = await getHeaderEnrichmentResult(operator && operator !== '' ? operator : null);\n\n subscription_url = heResult?.subscription_url || null;\n redirect_url = heResult?.redirect_url || null;\n }\n\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator,\n subscription_url: subscription_url || null,\n redirect_url: redirect_url || null,\n isHeaderEnrichmentSuccess,\n msisdn,\n apn: visitor?.heMsisdnResult?.apn,\n strategy\n }\n };\n } catch (ex) {\n console.error('error', ex);\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n strategy\n }\n };\n }\n};\n\nexport { handleHeaderEnrichment };\n","/* eslint-disable func-names */\nimport * as RDS from '../../../common-types/RemoteDataState';\nimport {\n IConfig,\n IFlow,\n IScriptHeaderEnrichmentFailure,\n IScriptHeaderEnrichmentSuccess,\n ISupportedFlows,\n PossibleTypes\n} from '../../../sharedFlowTypes/StrategyTypes';\nimport { formatNumberToE164 } from '../../../utilities/formatNumberToE164';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\nimport { determineFlowByOperator, flowMapping, getTrackerEventName } from '../main';\n\n/**\n * Creates a response object with the given parameters.\n *\n * @param {string} msisdn - The MSISDN (Mobile Station International Subscriber Directory Number).\n * @param {IConfig} config - The configuration object.\n * @param {string | null} operator - The operator (default: null).\n * @return {object} The response that sets the state.\n */\nconst createResponseObject = (config: IConfig, flow?: ISupportedFlows) => ({\n type: flowMapping[flow] || PossibleTypes.PIN,\n result: RDS.NothingYet(),\n data: {\n config\n }\n});\n\n/**\n * Injects header enrichment script based on the provided window object.\n *\n * @param {Window} window - The window object containing analytics visitor details.\n * @return {Promise} A promise that resolves based on specific events or timeouts.\n */\nconst injectHeaderEnrichmentScript = async ({ window }: { window: Window }) => {\n const configs = getConfig();\n const enableScriptTimer = configs?.enableScriptTimer;\n const { strategyConfigs } = configs;\n const config = strategyConfigs?.default?.flowConfig;\n\n return new Promise((resolve) => {\n try {\n let heMsisdn = window?.pac_analytics?.visitor?.heMsisdn;\n const country = window?.pac_analytics?.visitor?.country;\n\n if (heMsisdn && country) {\n heMsisdn = formatNumberToE164(heMsisdn, country);\n }\n\n let msisdnDetected = false;\n let timerExpired = false;\n let timerId: string | number | NodeJS.Timeout;\n\n if (enableScriptTimer) {\n timerId = setTimeout(() => {\n if (!msisdnDetected) {\n timerExpired = true;\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure', {\n errorType: '3 second timer expired'\n });\n\n window.isPrelanderClicked = true;\n resolve({\n type: PossibleTypes.PIN,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig\n }\n });\n }\n }, 3000);\n }\n\n const onSuccess = (event: Event) => {\n const { detail } = event as IScriptHeaderEnrichmentSuccess;\n heMsisdn = detail?.msisdn;\n if (detail?.msisdn && !detail?.encrypted_msisdn) {\n heMsisdn = formatNumberToE164(detail.msisdn, country);\n window.msisdn = heMsisdn;\n } else {\n window.msisdn = detail?.msisdn;\n window.is_encrypted_msisdn = detail?.encrypted_msisdn;\n }\n\n if (enableScriptTimer) {\n if (!timerExpired) {\n msisdnDetected = true;\n clearTimeout(timerId);\n\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-detected', {\n msisdn: heMsisdn\n });\n const flowObj = determineFlowByOperator({\n configs: getConfig(),\n operator: detail?.operator_code\n });\n window.removeEventListener('he-success', onSuccess);\n window.removeEventListener('he-fail', onFail);\n resolve(headerEnrichmentScript(flowObj, heMsisdn, detail?.operator_code, true));\n }\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-detected', {\n msisdn: heMsisdn,\n operator: detail?.operator_code\n });\n const flowObj = determineFlowByOperator({\n configs: getConfig(),\n operator: detail?.operator_code\n });\n window.removeEventListener('he-success', onSuccess);\n window.removeEventListener('he-fail', onFail);\n resolve(headerEnrichmentScript(flowObj, heMsisdn, detail?.operator_code, true));\n }\n };\n\n const onFail = (event: Event) => {\n const { detail } = event as IScriptHeaderEnrichmentFailure;\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure', detail?.error_details);\n window.removeEventListener('he-success', onSuccess);\n window.removeEventListener('he-fail', onFail);\n resolve(createResponseObject(config, strategyConfigs?.default.flow as ISupportedFlows));\n };\n\n window.addEventListener('he-success', onSuccess);\n window.addEventListener('he-fail', onFail);\n\n if (!window?.heScriptUrl) {\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure', {\n errorType: 'Error he script url not set'\n });\n window.dispatchEvent(new Event('he-fail'));\n return;\n }\n window.addEventListener('error', (event) => {\n console.error('Global error:', event?.error);\n tracker.customEvent('Flow', 'recede-auto', 'global-error', {\n errorMessage: event?.error?.message,\n errorStack: event?.error?.stack\n });\n });\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.id = 'he-js-link';\n script.src = `${window.heScriptUrl}`; // URL Comes from server\n script.referrerPolicy = 'origin';\n document.head.appendChild(script);\n\n script.onerror = (error: any) => {\n console.error('Error loading Header Enrichment script.');\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure', {\n errorType: 'Error loading Header Enrichment script',\n errorMessage: error.message\n });\n window.dispatchEvent(new Event('he-fail'));\n };\n } catch (err) {\n console.error('Error in header enrichment:', err);\n resolve(createResponseObject(config, strategyConfigs?.default.flow as ISupportedFlows));\n }\n });\n};\n\nconst headerEnrichmentScript = (\n flowObj: IFlow,\n msisdn: string | null = null,\n operator: string | null = null,\n isHeaderEnrichmentSuccess: boolean\n) => {\n const defaultConfig = getConfig().strategyConfigs?.default;\n const defaultFlowType = defaultConfig?.flow;\n const flowType = flowObj.flow || flowObj.default?.flow;\n const event = getTrackerEventName(flowType);\n\n tracker.sendOptInFlowEvent(event);\n\n if (!flowObj.flow) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n operator,\n msisdn,\n isHeaderEnrichmentSuccess\n }\n };\n }\n\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator,\n isHeaderEnrichmentSuccess\n }\n };\n};\n\nexport { injectHeaderEnrichmentScript };\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { searchToObject } from '../../utilities/searchToObject';\n\nimport {\n IMockFlowParams,\n IMockPinFlowStates,\n ISupportedFlows,\n PossibleTypes,\n RootState,\n StrategyCurrentState,\n StrategyState\n} from '../../sharedFlowTypes/StrategyTypes';\nimport { getConfig } from '../../utilities/getConfig';\nimport { determineFlowByOperator, flowMapping } from './main';\nimport { askMobileNumber, submitMSISDNAction } from './strategies/askMobileNumber';\nimport { askOperator, selectOperatorAction } from './strategies/askOperator';\n\nimport { tracker } from '../../utilities/tracker';\nimport { callRedirectApi } from './strategies/callRedirectApi';\nimport { detectOperatorByIp } from './strategies/detectOperatorByIp';\nimport { handleHeaderEnrichment } from './strategies/headerEnrichment';\nimport { injectHeaderEnrichmentScript } from './strategies/injectHeaderEnrichmentScript';\n\nwindow.tracker = tracker;\nconst initialState: StrategyState = {\n currentState: {\n type: PossibleTypes.IDENTIFY_STRATEGY,\n result: RDS.NothingYet(),\n data: undefined\n }\n};\n\nconst mockStrategyStateByUrlParam = (): StrategyCurrentState => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n\n if (search['mock-flow'] !== undefined) {\n if (search.operator !== undefined) {\n window.operator = search.operator;\n }\n\n switch (search['mock-flow']) {\n case 'pin':\n return {\n type: PossibleTypes.PIN,\n result: RDS.Success({})\n };\n\n case 'mo':\n return {\n type: PossibleTypes.MO,\n result: RDS.Success({})\n };\n case 'moredir':\n return {\n type: PossibleTypes.MO_REDIR,\n result: RDS.Success({})\n };\n case 'oneclick':\n return {\n type: PossibleTypes.ONE_CLICK,\n result: RDS.Success({}),\n data: {\n subscription_url: search['subscription-url']\n }\n };\n case 'click2sms':\n return {\n type: PossibleTypes.CLICK2SMS,\n result: RDS.Success({})\n };\n case 'ussd':\n return {\n type: PossibleTypes.USSD,\n result: RDS.Success({})\n };\n case 'creditcard':\n return {\n type: PossibleTypes.CREDIT_CARD,\n result: RDS.Success({})\n };\n default:\n throw new Error('(mockStrategyStateByUrlParam) Strategy Mock Flow not supported');\n }\n }\n};\n\n/**\n * Identify Strategy\n * @returns {type: 'strategy/identifyStrategy', payload: {type: PossibleTypes.MO, result: IdentifyFlowOptionsResult}}\n * - Add type\n * - Makes a decision on which strategy to use in order to identify the flow\n * - Strategy could be asking user's phone number, selecting an operator etc\n * - all with the intension of getting the flow and its configuration\n * - Flows are usually tied to an operator in the pages config.json\n * - But they could also be single flows\n *\n */\n\nexport const identifyStrategy = createAsyncThunk('strategy/identifyStrategy', async () => {\n const configs = getConfig();\n const { strategy, strategyConfigs } = configs;\n // const { isUseMsisdnPrefix } = strategyConfigs;\n const search = searchToObject(window) as IMockFlowParams<IMockPinFlowStates>;\n if (search['mock-flow'] !== undefined) {\n return mockStrategyStateByUrlParam();\n }\n if (search.ui_show_default_flow === '1') {\n const flow = strategyConfigs?.default.flow as ISupportedFlows;\n const config = strategyConfigs?.default?.flowConfig;\n return {\n type: flowMapping[flow],\n result: RDS.NothingYet(),\n data: {\n config\n }\n };\n }\n if (\n (search['show-pin-entry'] && search['show-pin-entry'] === '1') ||\n (search['show-thank-you'] && search['show-thank-you'] === '1') ||\n (search.show_custom_error && search.show_custom_error === '1')\n ) {\n const flowObj = determineFlowByOperator({\n configs,\n operator: search.operator\n });\n const strategyResult: StrategyCurrentState = {\n type: PossibleTypes.PIN,\n result: RDS.Success({}),\n data: {\n config: flowObj?.flowConfig || strategyConfigs?.default?.flowConfig\n }\n };\n return strategyResult;\n }\n\n if (strategy.includes('ask-operator')) {\n return askOperator();\n }\n if (strategy.includes('detect-operator-by-ip')) {\n return detectOperatorByIp(strategy);\n }\n if (strategy?.includes('ask-mobile-number')) {\n return askMobileNumber();\n }\n\n if (strategy?.includes('detect-operator-by-redirect-api')) {\n return callRedirectApi();\n }\n\n if (strategy?.includes('header-enrichment') && strategy !== 'header-enrichment-script') {\n const n = await handleHeaderEnrichment();\n // @ts-ignore\n return n;\n }\n\n switch (strategy) {\n // REOVING THIS AS IT INJECTS UNUSED CODE\n case 'header-enrichment-script':\n // eslint-disable-next-line no-return-await\n return injectHeaderEnrichmentScript({\n window\n });\n case 'pin': {\n tracker.sendOptInFlowEvent('Pin');\n return {\n type: PossibleTypes.PIN,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n }\n case 'mo':\n tracker.sendOptInFlowEvent('Msisdn to sms');\n return {\n type: PossibleTypes.MO,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'mo-redir':\n return {\n type: PossibleTypes.MO_REDIR,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'one-click':\n tracker.sendOptInFlowEvent('Redirect');\n return {\n type: PossibleTypes.ONE_CLICK,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'click2sms':\n tracker.sendOptInFlowEvent('Click to sms');\n return {\n type: PossibleTypes.CLICK2SMS,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'ussd':\n tracker.sendOptInFlowEvent('USSD');\n return {\n type: PossibleTypes.USSD,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'credit-card':\n // @ts-ignore\n tracker.sendOptInFlowEvent('Credit card');\n return {\n type: PossibleTypes.CREDIT_CARD,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n default:\n throw new Error('Strategy not supported');\n }\n});\n\nexport const setStrategyExtraData = createAsyncThunk(\n 'strategy/setStrategyExtraData',\n async ({ type, data }: { type: PossibleTypes; data: any }) => ({\n type,\n result: RDS.NothingYet(),\n data\n })\n);\n\nexport const strategySlice = createSlice({\n name: 'strategy',\n initialState,\n reducers: {\n // Define synchronous reducers as needed\n },\n extraReducers: (builder) => {\n // @ts-ignore\n builder\n .addCase(identifyStrategy.pending, (state) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_STRATEGY,\n result: RDS.Loading()\n };\n })\n // @ts-ignore\n .addCase(identifyStrategy.fulfilled, (state, action: PayloadAction<StrategyCurrentState>) => {\n state.currentState = action.payload;\n })\n .addCase(identifyStrategy.rejected, (state, action) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_STRATEGY,\n result: RDS.Failure(action.error.message)\n };\n })\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_FLOW_BY_MSISDN,\n result: RDS.Loading()\n };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<StrategyCurrentState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_FLOW_BY_MSISDN,\n result: RDS.Failure(action.payload)\n };\n })\n .addCase(setStrategyExtraData.fulfilled, (state, action) => {\n state.currentState = action.payload;\n })\n .addCase(selectOperatorAction.pending, (state) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_FLOW_BY_OPERATOR_SELECT,\n result: RDS.Loading()\n };\n })\n .addCase(selectOperatorAction.fulfilled, (state, action: PayloadAction<any>) => {\n state.currentState = action.payload;\n })\n .addCase(selectOperatorAction.rejected, (state, action) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_FLOW_BY_OPERATOR_SELECT,\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\nexport const selectStrategyState = (state: RootState) => state.strategy;\nexport const strategyReducer = strategySlice.reducer;\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Loading","RDS.Failure"],"mappings":"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"}
|
package/dist/ussdFlow.js
CHANGED
|
@@ -5,7 +5,7 @@ import { checkSubscriptionHander } from './checkSubscriptionHander.js';
|
|
|
5
5
|
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
|
-
import { i as identifyStrategy } from './strategySlice-
|
|
8
|
+
import { i as identifyStrategy } from './strategySlice-Bki4ZBKm.js';
|
|
9
9
|
import './handleResolveRedirect-5Hkm5YXF.js';
|
|
10
10
|
import './helpers-BIBpnXln.js';
|
|
11
11
|
import './updateUrlWithParams-ZaZt1BCf.js';
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"strategySlice-BYJ-hvjQ.js","sources":["../../src/sharedFlowTypes/StrategyTypes.ts","../../src/ips/tryGetIPRangeName.ts","../../src/flows/strategy/main.ts","../../src/flows/strategy/strategies/askMobileNumber.ts","../../src/flows/strategy/strategies/askOperator.ts","../../src/flows/strategy/strategies/callRedirectApi.ts","../../src/flows/strategy/strategies/detectOperatorByIp.ts","../../src/flows/strategy/strategies/headerEnrichment.ts","../../src/flows/strategy/strategies/injectHeaderEnrichmentScript.ts","../../src/flows/strategy/strategySlice.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\n/* eslint-disable camelcase */\nimport * as RDS from '../common-types/RemoteDataState';\nimport { IStrategyNames } from '../common-types/Strategy';\nimport { Click2smsFlowState } from './Click2smsTypes';\nimport { CreditCardFlowState } from './CreditCardTypes';\nimport { MoRedirFlowState } from './MoRedirTypes';\nimport { MoFlowState } from './MoTypes';\nimport { OneClickFlowState } from './OneClickTypes';\nimport { PinFlowState } from './PinTypes';\nimport { UssdFlowState } from './UssdTypes';\n\nexport type IIdentifyResult = {\n operator: string;\n flow?: string;\n success: boolean;\n rockman_id?: string;\n message?: string;\n};\n\nexport interface HEResult {\n msisdn: string;\n operator: string;\n subscription_url?: string;\n redirect_url?: string;\n}\n\nexport type ConfigDetails = {\n host: string;\n slug: string;\n country: string;\n device?: 'smart' | 'feature';\n queryString?: Array<[string, string]>;\n automaticallySubmitAllOperators?: boolean;\n operators?: string[];\n service: string;\n offer?: string;\n};\n\nexport type IConfig = {\n offer?: string;\n slug?: string;\n country?: string;\n host?: string;\n device?: 'smart' | 'feature';\n automaticallySubmitAllOperators?: boolean;\n operators?: string[];\n service?: string;\n serviceId?: string;\n queryString?: any;\n apiAction?: any;\n};\n\nexport type ISupportedFlows = 'pin' | 'mo' | 'oneClick' | 'click2sms' | 'moRedir' | 'ussd' | 'creditCard';\nexport type IFlow = {\n flow: ISupportedFlows;\n flowOnWifi?: ISupportedFlows;\n operator?: string;\n flowConfig: ConfigDetails;\n default?: IFlow;\n rockman_id?: string;\n};\n\nexport type StrategyConfig = {\n operators: {\n [key: string]: IFlow;\n };\n default: IFlow;\n isUseMsisdnPrefix?: boolean;\n};\n// export type IStrategy = IPinStrategy | IMoStrategy;\n\nexport type IStrategy = {\n strategy: IStrategyNames;\n country: string;\n strategyConfigs: StrategyConfig;\n};\n\nexport interface IHash {\n [key: string]: string;\n}\n\nexport type IDENTIFYMSISDNEntryErrorTypes = 'AlreadySubscribed' | 'UnknownError' | 'InvalidMSISDN';\n\nexport type IDENTIFYMSISDNEntryFailure = {\n errorType: IDENTIFYMSISDNEntryErrorTypes;\n error: unknown;\n};\n\nexport type IdentifyFlowOptionsResult = {\n config: IConfig;\n nextAction?: unknown;\n msisdn?: string;\n operator?: string;\n subscription_url?: string;\n redirect_url?: string;\n rockman_id?: string;\n isHeaderEnrichmentSuccess?: boolean;\n autoRedirect?: boolean;\n isUseMsisdnPrefix?: boolean;\n};\n\nexport type IDENTIFYMSISDNEntrySuccess = {};\nexport type OPERATORSelectFailure = {};\nexport type OPERATORSelectSuccess = IdentifyFlowOptionsResult;\n\nexport type IDETECTYOPERATOBYIPFailure = {};\nexport type IDETECTYOPERATOBYIPSuccess = IdentifyFlowOptionsResult;\n\nexport type IDENTIFY_OPERATOR_MSISDNEntrySuccess = IdentifyFlowOptionsResult;\n\nexport type IDENTIFY_FLOW_HESuccess = IdentifyFlowOptionsResult;\n\nexport type OPERATORSelectFlowIdentifyFailure = {};\nexport type OPERATORSelectFlowIdentifySuccess = {\n operators: Array<string>;\n msisdn?: string;\n nextAction: 'selectOperator';\n};\nexport type IDENTIFYFailure = {};\n\nexport type IDENTIFYSuccess = {};\n\nexport type IOperatorSelectFlowIdentifyPayload = {\n type: 'IDENTIFY_FLOW_BY_OPERATOR_SELECT';\n result: RDS.RemoteDataState<OPERATORSelectFlowIdentifyFailure, OPERATORSelectFlowIdentifySuccess>;\n};\n\n// export type IIdentifyByIPPayload= {\n// type:\"IDENTIFY_FLOW_BY_IP\"\n// result: RDS.RemoteDataState<IDENTIFYBYIPFailure, IDENTIFYBYIPSuccess>;\n// }\n\nexport type IDetectOperatorByIpPayload = {\n type: 'DETECT_OPERATOR_BY_IP';\n result: RDS.RemoteDataState<IDETECTYOPERATOBYIPFailure, IDETECTYOPERATOBYIPSuccess>;\n};\n\nexport enum PossibleTypes {\n IDENTIFY_STRATEGY = 'IDENTIFY_STRATEGY',\n IDENTIFY_FLOW_BY_MSISDN = 'IDENTIFY_FLOW_BY_MSISDN',\n IDENTIFY_FLOW_BY_OPERATOR_SELECT = 'IDENTIFY_FLOW_BY_OPERATOR_SELECT',\n PIN = 'PIN',\n MO = 'MO',\n MO_REDIR = 'MO_REDIR',\n ONE_CLICK = 'ONE_CLICK',\n CLICK2SMS = 'CLICK2SMS',\n USSD = 'USSD',\n TPAY_HE = 'TPAY_HE',\n CREDIT_CARD = 'CREDIT_CARD'\n}\n\nexport type IOperatorSelectPayload = {\n type: PossibleTypes;\n result: OPERATORSelectSuccess;\n};\n\nexport type ISubmitMsisdnPayload = {\n type: PossibleTypes;\n result: IDENTIFY_OPERATOR_MSISDNEntrySuccess;\n};\n\nexport type IIdentifyFlowByIpOperatorPayload = {\n type: PossibleTypes;\n result: IDENTIFY_OPERATOR_MSISDNEntrySuccess;\n};\n\nexport type IIdentifyFlowByHePayload = {\n type: PossibleTypes;\n result: IDENTIFY_FLOW_HESuccess;\n};\n\nexport type IIdentfyFlowByMsisdnNextAction = 'submitMSISDNAction' | 'loadOc2sms';\nexport type IIdentfyFlowByOperatorNextAction = 'submitMSISDNAction' | 'loadOc2sms';\nexport type IIdentfyFlowByIPOperatorNextAction = 'getRedirectUrlAction' | 'submitMSISDNAction';\n\nexport type IIdenyifyFlowByMsisdnSumbitNextData = {\n nextAction: IIdentfyFlowByMsisdnNextAction;\n msisdn?: string;\n operator?: string;\n};\n\nexport type IIdenyifyFlowByMsisdnPayload = {\n type: 'IDENTIFY_FLOW_BY_MSISDN';\n result: RDS.RemoteDataState<IDENTIFYMSISDNEntryFailure, IDENTIFYMSISDNEntrySuccess>;\n data: IIdenyifyFlowByMsisdnSumbitNextData;\n};\n\nexport type IIdenyifyStrategyPayload = {\n type: 'IDENTIFY_FLOW_BY_MSISDN';\n result: RDS.RemoteDataState<IDENTIFYMSISDNEntryFailure, IDENTIFYMSISDNEntrySuccess>;\n data: IIdenyifyFlowByMsisdnSumbitNextData;\n};\n\nexport type IStrategyCurrentState =\n | {\n type: 'IDENTIFY_STRATEGY';\n result: RDS.RemoteDataState<IDENTIFYFailure, IDENTIFYSuccess>;\n }\n | {\n type: 'IDENTIFY_FLOW_BY_OPERATOR_SELECT';\n result: OPERATORSelectFlowIdentifySuccess;\n }\n | {\n type: 'DETECT_OPERATOR_BY_IP';\n result: RDS.RemoteDataState<IDETECTYOPERATOBYIPFailure, IDETECTYOPERATOBYIPSuccess>;\n }\n | {\n type: 'HE_IDENTIFY';\n result: RDS.RemoteDataState<IDENTIFYFailure, IDENTIFYSuccess>;\n }\n | {\n type: 'OPERATOR_SELECT';\n result: RDS.RemoteDataState<OPERATORSelectFailure, OPERATORSelectSuccess>;\n config: IConfig;\n }\n | {\n type: 'IDENTIFY_FLOW_BY_MSISDN';\n result: RDS.RemoteDataState<IDENTIFYMSISDNEntryFailure, IDENTIFYMSISDNEntrySuccess>;\n nextData: IIdenyifyFlowByMsisdnSumbitNextData;\n }\n | {\n type: 'PIN';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'MO';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'USSD';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'MO_REDIR';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'ONE_CLICK';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'CLICK2SMS';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'TPAY_HE';\n result: IdentifyFlowOptionsResult;\n }\n | {\n type: 'CREDIT_CARD';\n result: IdentifyFlowOptionsResult;\n };\n\nexport type IStrategyIDentifyUserResult =\n | {\n success: 'true';\n rockman_id: string;\n msisdn: string;\n operator?: string;\n subscription_url?: string;\n redirect_url?: string;\n 'redirect-back'?: string;\n 'msisdn-alias'?: string;\n }\n | {\n success: 'false';\n rockman_id: string;\n message: string;\n 'redirect-back'?: string;\n };\n\nexport type IMockFlows = 'pin' | 'mo' | 'oneclick' | 'click2sms' | 'moredir' | 'ussd' | 'tpay' | 'creditcard';\n\nexport interface IMockFlowParams<T> {\n 'mock-flow': IMockFlows;\n 'current-state': T;\n 'show-pin-entry': '1' | '0';\n 'show-thank-you': '1' | '0';\n 'show-chain-link': '1' | '0';\n operator: string;\n msisdn?: string;\n 'subscription-url'?: string;\n show_custom_error?: string;\n product_url?: string;\n ui_show_default_flow?: '1' | '0';\n ui_show_pin_entry?: '1' | '0';\n ui_error_message?: string;\n}\n\nexport interface IScriptHeaderEnrichmentSuccess extends CustomEvent {\n detail: {\n msisdn: string;\n operator_code: string;\n subscription_url: boolean;\n encrypted_msisdn: boolean;\n };\n}\n\nexport interface IScriptHeaderEnrichmentFailure extends CustomEvent {\n detail: {\n encrypted_msisdn: boolean;\n error_details: {\n error: any;\n stack: any;\n };\n };\n}\n\nexport interface ExtraStrategyData {\n isHeaderEnrichmentSuccess?: boolean;\n config?: ConfigDetails;\n msisdn?: string;\n rockman_id?: string;\n operator?: string;\n subscription_url?: string;\n redirect_url?: string;\n operators?: string[];\n strategy?: string;\n defaultConfig?: IFlow;\n defaultFlowType?: ISupportedFlows;\n skipRedirectCall?: boolean;\n apn?: string;\n}\nexport interface StrategyState {\n currentState: StrategyCurrentState;\n}\n\nexport interface StrategyCurrentState {\n type: PossibleTypes;\n result: RDS.RemoteDataState<any, any>;\n data?: ExtraStrategyData;\n}\n\nexport type IMockPinFlowStates = 'msisdn-state' | 'pin-state' | 'completed-state' | 'msisdn-failure-state';\n\nexport interface RootState {\n strategy?: StrategyState;\n pinFlow?: PinFlowState;\n moFlow?: MoFlowState;\n moRedirFlow?: MoRedirFlowState;\n click2smsFlow?: Click2smsFlowState;\n oneClickFlow?: OneClickFlowState;\n ussdFlow?: UssdFlowState;\n creditCardFlow?: CreditCardFlowState;\n}\n","/* eslint-disable no-param-reassign */\nimport { IVisitor } from '../common-types/IVisitor';\nimport queryString from '../pacman/queryString';\n\n// eslint-disable-next-line consistent-return\nexport default async function tryGetIPRangeName(visitor: IVisitor): Promise<string> {\n const mockip = queryString(window.location.href, 'mock-ip') || process.env.mock_ip;\n // eslint-disable-next-line no-console\n console.log('mockip', mockip);\n if (!visitor.ip && typeof window !== 'undefined') {\n try {\n const { host } = window.location;\n const newHost = window.DEV_BASE_URL_IP || host;\n const res = await fetch(`https://${newHost}/api/v1/ip${mockip ? `?mock-ip=${mockip}` : ''}`).then((x) =>\n x.json()\n );\n // return isIPInRange('37.200.146.28')\n visitor.ip = res.ip;\n visitor.ip_range_name = res.ip_range_name;\n return res.ip_range_name;\n } catch (ex) {\n console.warn('IP Lookup failed', ex);\n return '';\n }\n } else {\n return visitor.ip_range_name || '';\n }\n}\n","import { IError } from '../../common-types/IError';\nimport { IOptInFlowName } from '../../common-types/IOptInFlowName';\nimport { IStrategy, ISupportedFlows } from '../../common-types/Strategy';\nimport tryGetIPRangeName from '../../ips/tryGetIPRangeName';\nimport { HEResult, IConfig, IFlow, IIdentifyResult, PossibleTypes } from '../../sharedFlowTypes/StrategyTypes';\nimport { formatNumberToE164 } from '../../utilities/formatNumberToE164';\nimport { searchToObject } from '../../utilities/searchToObject';\nimport { identify } from './api';\n\nexport const flowMapping: Record<ISupportedFlows, PossibleTypes> = {\n mo: PossibleTypes.MO,\n pin: PossibleTypes.PIN,\n oneClick: PossibleTypes.ONE_CLICK,\n moRedir: PossibleTypes.MO_REDIR,\n click2sms: PossibleTypes.CLICK2SMS,\n ussd: PossibleTypes.USSD,\n tpayHe: PossibleTypes.TPAY_HE,\n creditCard: PossibleTypes.CREDIT_CARD\n};\n\n// @ts-ignore\nexport const trackerEventMapping: Record<ISupportedFlows, IOptInFlowName> = {\n mo: 'Msisdn to sms',\n pin: 'Pin',\n oneClick: '3G click',\n moRedir: 'Redirect',\n click2sms: 'Click to sms',\n tpayHe: 'Pin',\n ussd: 'Msisdn to sms'\n};\n\nexport const getTrackerEventName = (flowType: ISupportedFlows) => trackerEventMapping[flowType];\n\nexport async function determineFlowByMsidn({\n window,\n internationalMSISDN,\n configs\n}: {\n window: Window;\n internationalMSISDN: string;\n configs: IStrategy;\n}): Promise<IFlow> {\n if (!internationalMSISDN) {\n const submissionError = new Error(`Error in determineFlowByMsidn() identify action`) as IError;\n submissionError.type = 'SEInvalidMSISDN';\n throw submissionError;\n }\n const msisdn = internationalMSISDN.match(/\\d+/gi)?.join('') || ''; // tallyman API expects international msisdn without unknown special character\n const defaultFlowConfig = configs?.strategyConfigs?.default;\n const config = defaultFlowConfig.flowConfig;\n const operatorsConfig = configs?.strategyConfigs?.operators;\n\n const indentifyFlow = async (): Promise<IIdentifyResult> => {\n const { slug, country, device } = config;\n const { rockmanId } = window.pac_analytics.visitor;\n const { offer } = window.pac_analytics.visitor;\n const flowOperatorResult: IIdentifyResult = await identify({\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId\n });\n return flowOperatorResult;\n };\n const theResult = await indentifyFlow();\n\n const flow = operatorsConfig[theResult.operator] ? operatorsConfig[theResult.operator] : null;\n const cannotDetect =\n theResult.success === false && theResult.message === 'Operator could not be found for the given MSISDN';\n const hlrError =\n theResult.success === false && theResult.message?.indexOf('HLR did not find the operator for given MSISDN') !== -1;\n\n if (cannotDetect || hlrError) {\n const submissionError = new Error(`Error in determineFlowByMsidn() identify action`) as IError & { msisdn: string };\n submissionError.type = 'FlowDetectFailed';\n submissionError.msisdn = msisdn;\n throw submissionError;\n } else if (flow !== null) {\n const flowObj = { operator: theResult.operator, default: defaultFlowConfig, ...flow };\n // @ts-ignore\n return flowObj;\n } else if (flow === null) {\n const flowObj = { operator: theResult.operator, ...defaultFlowConfig };\n // @ts-ignore\n return flowObj;\n } else {\n const submissionError = new Error(`Error in determineFlowByMsidn() identify action`) as IError;\n submissionError.type = 'SEInvalidMSISDN';\n throw submissionError;\n }\n}\n\nexport function determineFlowByOperator({ configs, operator }: { configs: IStrategy; operator: string }): IFlow {\n const defaultFlowConfig = configs?.strategyConfigs?.default;\n const operatorsConfig = configs?.strategyConfigs?.operators;\n\n const flowObj = {\n operator: operator?.toUpperCase(),\n default: defaultFlowConfig,\n ...operatorsConfig[operator?.toUpperCase()]\n };\n // @ts-ignore\n return flowObj;\n}\n\nexport async function determineFlowByOperatorFromIp({\n window,\n configs\n}: {\n window: Window;\n configs: IStrategy;\n}): Promise<IFlow> {\n const operator = await tryGetIPRangeName(window.pac_analytics.visitor);\n const flowObj = determineFlowByOperator({\n configs,\n operator: operator && operator.includes('_') ? operator.toUpperCase() : ''\n });\n return flowObj;\n}\n\nexport function getOperators({ configs }: { configs: IStrategy }): Array<string> {\n const operatorsConfig = configs?.strategyConfigs?.operators;\n const operators = Object.keys(operatorsConfig);\n return operators;\n}\n\nexport const getHeaderEnrichmentResult = async (operator?: string): Promise<HEResult> => {\n if (typeof window === 'undefined') {\n throw new Error('This function can only be run in a browser environment.');\n }\n\n const searchObj = searchToObject(window) as any; // Assumes the implementation of searchToObject\n if (searchObj.success === 'false') {\n throw new Error(`Error in getRedirectUrl() identify-user action:\\n${searchObj.message || 'NotOn3g'}`);\n }\n const responseUrl = searchObj.subscription_url || searchObj.redirect_url;\n\n if (responseUrl) {\n // Decode and parse\n const raw = window.atob(responseUrl);\n const newUrl = new URL(raw);\n\n // Enforce HTTPS\n newUrl.protocol = 'https:';\n\n const urlParams = new URLSearchParams(newUrl.search);\n const locParams = new URLSearchParams(window.location.search);\n\n let msisdn = urlParams.get('msisdn') || searchObj.msisdn;\n // Try decoded URL → searchObj → location.search for operator\n const operatorResult =\n operator || urlParams.get('operator') || searchObj.operator || locParams.get('operator') || '';\n\n if (msisdn) {\n msisdn = formatNumberToE164(msisdn, window?.pac_analytics?.visitor?.country);\n }\n if (operatorResult !== '') {\n newUrl.searchParams.set('operator', operatorResult);\n }\n return {\n msisdn: msisdn || '',\n operator: operatorResult || '',\n subscription_url: searchObj.subscription_url ? newUrl.href : undefined,\n redirect_url: searchObj.redirect_url ? raw : undefined\n };\n }\n console.error('No URL provided for redirection in the url params');\n\n const newUrl = new URL(window.location.href);\n const urlParams = new URLSearchParams(newUrl.search);\n\n let msisdn = urlParams.get('msisdn') || searchObj.msisdn;\n const operatorResult = urlParams.get('operator') || searchObj.operator;\n\n if (msisdn) {\n msisdn = formatNumberToE164(msisdn, window?.pac_analytics?.visitor?.country);\n }\n\n return {\n msisdn: msisdn || '',\n operator: operatorResult || ''\n };\n};\n\nexport const subscribe: (_url: string) => Promise<string> = async (_url: string) =>\n // const result:ISubscribeResult = await fetch(url + \"&operator=kw_viva\").then((x)=>x.json())\n\n // if(false === result.success){\n // const subscribeError = new Error(`Error in subscribe() one-click-subscribe action:\\n${result.message}`) as IError & {type:string;}\n // subscribeError['type'] = \"SubscriptionError\";\n // throw subscribeError\n // }else{\n '/product';\n// }\n\nexport function mockConfig({ configs, flow }: { configs: IStrategy; flow: string }): IConfig {\n const defaultFlowConfig = configs?.strategyConfigs?.default;\n const operatorsConfig = configs?.strategyConfigs?.operators;\n const opArr = Object.keys(operatorsConfig);\n const r = opArr.filter((o) => operatorsConfig[o].flow === flow);\n const operator = r[0];\n const flowObj = { offer: '1', operator, default: defaultFlowConfig, ...operatorsConfig[operator] };\n\n return flowObj;\n}\n\n// export const mockedPinFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.PIN,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('pin')\n// }\n// }\n// };\n\n// export const mockedMoFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.MO,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('mo')\n// }\n// }\n// };\n\n// export const mockedUssdFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.USSD,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('ussd')\n// }\n// }\n// };\n\n// export const mockedMoRdirFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.MO_REDIR,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('moRedir')\n// }\n// }\n// };\n\n// export const mockedClick2smsFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.CLICK2SMS,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('click2sms')\n// }\n// }\n// };\n\n// export const mockedOneClickFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.ONE_CLICK,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('oneClick')\n// }\n// }\n// };\n\n// export const mockedCreditCardFlow: StrategyState = {\n// currentState: {\n// type: PossibleTypes.CREDIT_CARD,\n// result: RDS.NothingYet(),\n// data: {\n// config: mockConfig('creditCard')\n// }\n// }\n// };\n// export const mockedMOFlow : State = { type: \"MO\", result:moFlow(mockTracker, mockConfig(\"mo\"))}\n// export const mockedOneClickFlow : State = { type: \"ONECLICK\", result:oneClickFlow(mockTracker, mockConfig(\"oneClick\"), {\"testextraparams\":\"1\"})}\n// export const mockedClick2smsFlow : State = { type: \"CLICK2SMS\", result:click2smsFlow(mockTracker, mockConfig(\"click2sms\"))}\n// export const mockedMORedirFlow : State = { type: \"MOREDIR\", result:moRedirFlow(mockTracker, mockConfig(\"moRedir\"))}\n","import { createAsyncThunk } from '@reduxjs/toolkit';\nimport * as RDS from '../../../common-types/RemoteDataState';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\n\nimport {\n IDENTIFYMSISDNEntryErrorTypes,\n ISupportedFlows,\n PossibleTypes,\n StrategyCurrentState\n} from '../../../sharedFlowTypes/StrategyTypes';\nimport { determineFlowByMsidn, flowMapping, getTrackerEventName } from '../main';\n\nexport const askMobileNumber = (): StrategyCurrentState => ({\n type: PossibleTypes.IDENTIFY_FLOW_BY_MSISDN,\n result: RDS.NothingYet()\n});\n\nexport const submitMSISDNAction = createAsyncThunk(\n 'strategy/submitMSISDNAction',\n async (\n {\n window,\n msisdn\n }: {\n window: Window;\n msisdn: string;\n isHeSuccess?: boolean;\n },\n { rejectWithValue }\n ) => {\n try {\n const configs = getConfig();\n const flowObj = await determineFlowByMsidn({ window, internationalMSISDN: msisdn, configs });\n const flowType = flowObj?.flow;\n const event = getTrackerEventName(flowType);\n const defaultConfig = configs?.strategyConfigs?.default;\n const defaultFlowType = defaultConfig?.flow as ISupportedFlows;\n\n if (!flowMapping[flowType]) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig\n }\n };\n }\n tracker.sendOptInFlowEvent(event);\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator,\n msisdn\n }\n };\n } catch (ex) {\n let errorType: IDENTIFYMSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'SEAlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'SEInvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n return rejectWithValue({\n errorType,\n error: ex,\n productUrl: ex.productUrl\n });\n }\n }\n);\n","import { createAsyncThunk } from '@reduxjs/toolkit';\nimport * as RDS from '../../../common-types/RemoteDataState';\n\nimport { PossibleTypes, StrategyCurrentState } from '../../../sharedFlowTypes/StrategyTypes';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\nimport { determineFlowByOperator, flowMapping, getOperators, getTrackerEventName } from '../main';\n\nexport const askOperator = (): StrategyCurrentState => {\n const configs = getConfig();\n const operators = getOperators({ configs });\n return {\n type: PossibleTypes.IDENTIFY_FLOW_BY_OPERATOR_SELECT,\n result: RDS.NothingYet(),\n data: {\n operators\n }\n };\n};\n\nexport const selectOperatorAction = createAsyncThunk(\n 'strategy/selectOperatorAction',\n async (\n {\n operator\n }: {\n operator: string;\n },\n { rejectWithValue }\n ) => {\n try {\n const configs = getConfig();\n\n const flowObj = determineFlowByOperator({\n configs,\n operator\n });\n\n const flowType = flowObj.flow;\n const event = getTrackerEventName(flowType);\n\n tracker.sendOptInFlowEvent(event);\n\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator\n }\n };\n } catch (ex) {\n const errorType = 'UnkownError';\n return rejectWithValue({\n errorType,\n error: ex.toString()\n });\n }\n }\n);\n","import * as RDS from '../../../common-types/RemoteDataState';\n\nimport { ISupportedFlows } from '../../../sharedFlowTypes/StrategyTypes';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\nimport { getRedirectUrl } from '../api';\nimport { flowMapping, getTrackerEventName } from '../main';\n\nconst callRedirectApi = async () => {\n const configs = getConfig();\n const defaultConfig = configs?.strategyConfigs.default;\n const defaultFlowType = defaultConfig.flow as ISupportedFlows;\n const { slug, country, device } = defaultConfig.flowConfig;\n const { rockmanId } = window.pac_analytics.visitor;\n const { offer } = window.pac_analytics.visitor;\n try {\n const result = await getRedirectUrl({\n window,\n country,\n slug,\n device,\n offer,\n rockmanId\n });\n\n if (result.success === false) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig\n }\n };\n }\n\n // OPERATOR NOT KNOWN\n\n // const operator = result?.operator && result?.operator !== 'unknown' ? result?.operator : null;\n\n if (result?.payload?.network_type === 'data') {\n // const flowObj = await determineFlowByOperator({\n // operator,\n // configs\n // });\n // const flowType = flowObj.flow || defaultFlowType;\n const event = getTrackerEventName('oneClick');\n tracker.sendOptInFlowEvent(event);\n return {\n type: flowMapping.oneClick,\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n redirect_url: result.redirect_url || null\n }\n };\n }\n if (result?.payload?.network_type === 'wifi') {\n // const flowObj = await determineFlowByOperator({\n // operator,\n // configs\n // });\n // const flowType = flowObj.flow || defaultFlowType;\n const event = getTrackerEventName('moRedir');\n tracker.sendOptInFlowEvent(event);\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n redirect_url: result.redirect_url || null,\n skipRedirectCall: true\n }\n };\n }\n\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n redirect_url: result.redirect_url || null,\n skipRedirectCall: true\n }\n };\n } catch (ex) {\n console.error('error', ex);\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig\n }\n };\n }\n};\n\nexport { callRedirectApi };\n","import * as RDS from '../../../common-types/RemoteDataState';\nimport { IStrategyNames, ISupportedFlows } from '../../../common-types/Strategy';\n\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\nimport { determineFlowByOperatorFromIp, flowMapping, getTrackerEventName } from '../main';\nimport { askMobileNumber } from './askMobileNumber';\nimport { askOperator } from './askOperator';\n\nconst detectOperatorByIp = async (strategy?: IStrategyNames) => {\n try {\n const configs = getConfig();\n\n const flowObj = await determineFlowByOperatorFromIp({\n window,\n configs\n });\n const defaultConfig = configs?.strategyConfigs?.default;\n const defaultFlowType = defaultConfig?.flow as ISupportedFlows;\n\n if (\n !flowObj.flow &&\n (strategy === 'all-flows-detect-operator-by-ip-or-ask-mobile-number' ||\n strategy === 'all-flows-ask-mobile-number')\n ) {\n return askMobileNumber();\n }\n\n if (!flowObj.flow && strategy === 'all-flows-detect-operator-by-ip-or-ask-operator') {\n return askOperator();\n }\n\n const flowType = flowObj.flow;\n if (!flowMapping[flowType]) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n strategy\n }\n };\n }\n const event = getTrackerEventName(flowType);\n\n tracker.sendOptInFlowEvent(event);\n\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator,\n strategy,\n defaultConfig,\n defaultFlowType\n }\n };\n } catch (ex) {\n console.error('error', ex);\n }\n};\n\nexport { detectOperatorByIp };\n","import IVisitor from '../../../common-types/IVisitor';\nimport * as RDS from '../../../common-types/RemoteDataState';\nimport { IStrategy } from '../../../common-types/Strategy';\n\nimport { ISupportedFlows } from '../../../sharedFlowTypes/StrategyTypes';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { searchToObject } from '../../../utilities/searchToObject';\nimport { tracker } from '../../../utilities/tracker';\nimport {\n determineFlowByMsidn,\n determineFlowByOperator,\n flowMapping,\n getHeaderEnrichmentResult,\n getTrackerEventName\n} from '../main';\n\nconst resolveOperator = async (\n visitor: IVisitor,\n search: any,\n configs: IStrategy,\n msisdn: string\n): Promise<string | null> => {\n const firstSync = search?.operator ?? visitor?.heMsisdnDecryptedByApiResult?.operator;\n if (firstSync) return firstSync;\n\n const flow = await determineFlowByMsidn({\n window,\n configs,\n internationalMSISDN: msisdn\n });\n\n return flow?.operator ?? null;\n};\nconst handleHeaderEnrichment = async () => {\n const configs = getConfig();\n const defaultConfig = configs?.strategyConfigs.default;\n const defaultFlowType = defaultConfig.flow as ISupportedFlows;\n\n try {\n const visitor = (window.pac_analytics?.visitor ?? {}) as any;\n\n const search = searchToObject(window) as { operator: string; msisdn: string };\n\n const candidates: (string | undefined)[] = [\n search?.msisdn,\n visitor.heMsisdnDecryptedByApiResult?.msisdn,\n visitor.heMsisdnResult?.msisdn\n ];\n\n const msisdn = candidates.find((s) => !!s) ?? null;\n const isHeaderEnrichmentSuccess = msisdn !== null;\n\n const operator = msisdn ? await resolveOperator(visitor, search, configs, msisdn) : null;\n\n if (isHeaderEnrichmentSuccess) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-detected', {\n msisdn,\n operator\n });\n } else {\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure');\n }\n if (operator === null) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig\n }\n };\n }\n\n if (configs.strategy === 'pin-header-enrichment' && isHeaderEnrichmentSuccess) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n operator,\n msisdn,\n isHeaderEnrichmentSuccess\n }\n };\n }\n\n if (window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult?.isContentBlocked) {\n window.isContentBlocked = true;\n tracker.customEvent('Flow', 'recede-auto', 'content-blocked', {\n errorType: 'ContentBlocked',\n error: 'ContentBlocked',\n message: 'ContentBlocked',\n ...window?.pac_analytics?.visitor?.heMsisdnDecryptedByApiResult\n });\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n operator\n }\n };\n }\n let subscription_url = null;\n let redirect_url = null;\n const flowObj = await determineFlowByOperator({\n operator,\n configs\n });\n const flowType = flowObj.flow || defaultFlowType;\n const event = getTrackerEventName(flowType);\n\n tracker.sendOptInFlowEvent(event);\n if (flowType === 'oneClick') {\n const heResult = await getHeaderEnrichmentResult(operator && operator !== '' ? operator : null);\n\n subscription_url = heResult?.subscription_url || null;\n redirect_url = heResult?.redirect_url || null;\n }\n\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator,\n subscription_url: subscription_url || null,\n redirect_url: redirect_url || null,\n isHeaderEnrichmentSuccess,\n msisdn,\n apn: visitor?.heMsisdnResult?.apn\n }\n };\n } catch (ex) {\n console.error('error', ex);\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig\n }\n };\n }\n};\n\nexport { handleHeaderEnrichment };\n","/* eslint-disable func-names */\nimport * as RDS from '../../../common-types/RemoteDataState';\nimport {\n IConfig,\n IFlow,\n IScriptHeaderEnrichmentFailure,\n IScriptHeaderEnrichmentSuccess,\n ISupportedFlows,\n PossibleTypes\n} from '../../../sharedFlowTypes/StrategyTypes';\nimport { formatNumberToE164 } from '../../../utilities/formatNumberToE164';\nimport { getConfig } from '../../../utilities/getConfig';\nimport { tracker } from '../../../utilities/tracker';\nimport { determineFlowByOperator, flowMapping, getTrackerEventName } from '../main';\n\n/**\n * Creates a response object with the given parameters.\n *\n * @param {string} msisdn - The MSISDN (Mobile Station International Subscriber Directory Number).\n * @param {IConfig} config - The configuration object.\n * @param {string | null} operator - The operator (default: null).\n * @return {object} The response that sets the state.\n */\nconst createResponseObject = (config: IConfig, flow?: ISupportedFlows) => ({\n type: flowMapping[flow] || PossibleTypes.PIN,\n result: RDS.NothingYet(),\n data: {\n config\n }\n});\n\n/**\n * Injects header enrichment script based on the provided window object.\n *\n * @param {Window} window - The window object containing analytics visitor details.\n * @return {Promise} A promise that resolves based on specific events or timeouts.\n */\nconst injectHeaderEnrichmentScript = async ({ window }: { window: Window }) => {\n const configs = getConfig();\n const enableScriptTimer = configs?.enableScriptTimer;\n const { strategyConfigs } = configs;\n const config = strategyConfigs?.default?.flowConfig;\n\n return new Promise((resolve) => {\n try {\n let heMsisdn = window?.pac_analytics?.visitor?.heMsisdn;\n const country = window?.pac_analytics?.visitor?.country;\n\n if (heMsisdn && country) {\n heMsisdn = formatNumberToE164(heMsisdn, country);\n }\n\n let msisdnDetected = false;\n let timerExpired = false;\n let timerId: string | number | NodeJS.Timeout;\n\n if (enableScriptTimer) {\n timerId = setTimeout(() => {\n if (!msisdnDetected) {\n timerExpired = true;\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure', {\n errorType: '3 second timer expired'\n });\n\n window.isPrelanderClicked = true;\n resolve({\n type: PossibleTypes.PIN,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig\n }\n });\n }\n }, 3000);\n }\n\n const onSuccess = (event: Event) => {\n const { detail } = event as IScriptHeaderEnrichmentSuccess;\n heMsisdn = detail?.msisdn;\n if (detail?.msisdn && !detail?.encrypted_msisdn) {\n heMsisdn = formatNumberToE164(detail.msisdn, country);\n window.msisdn = heMsisdn;\n } else {\n window.msisdn = detail?.msisdn;\n window.is_encrypted_msisdn = detail?.encrypted_msisdn;\n }\n\n if (enableScriptTimer) {\n if (!timerExpired) {\n msisdnDetected = true;\n clearTimeout(timerId);\n\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-detected', {\n msisdn: heMsisdn\n });\n const flowObj = determineFlowByOperator({\n configs: getConfig(),\n operator: detail?.operator_code\n });\n window.removeEventListener('he-success', onSuccess);\n window.removeEventListener('he-fail', onFail);\n resolve(headerEnrichmentScript(flowObj, heMsisdn, detail?.operator_code, true));\n }\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-detected', {\n msisdn: heMsisdn,\n operator: detail?.operator_code\n });\n const flowObj = determineFlowByOperator({\n configs: getConfig(),\n operator: detail?.operator_code\n });\n window.removeEventListener('he-success', onSuccess);\n window.removeEventListener('he-fail', onFail);\n resolve(headerEnrichmentScript(flowObj, heMsisdn, detail?.operator_code, true));\n }\n };\n\n const onFail = (event: Event) => {\n const { detail } = event as IScriptHeaderEnrichmentFailure;\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure', detail?.error_details);\n window.removeEventListener('he-success', onSuccess);\n window.removeEventListener('he-fail', onFail);\n resolve(createResponseObject(config, strategyConfigs?.default.flow as ISupportedFlows));\n };\n\n window.addEventListener('he-success', onSuccess);\n window.addEventListener('he-fail', onFail);\n\n if (!window?.heScriptUrl) {\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure', {\n errorType: 'Error he script url not set'\n });\n window.dispatchEvent(new Event('he-fail'));\n return;\n }\n window.addEventListener('error', (event) => {\n console.error('Global error:', event?.error);\n tracker.customEvent('Flow', 'recede-auto', 'global-error', {\n errorMessage: event?.error?.message,\n errorStack: event?.error?.stack\n });\n });\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.id = 'he-js-link';\n script.src = `${window.heScriptUrl}`; // URL Comes from server\n script.referrerPolicy = 'origin';\n document.head.appendChild(script);\n\n script.onerror = (error: any) => {\n console.error('Error loading Header Enrichment script.');\n tracker.customEvent('Flow', 'recede-auto', 'msisdn-detection-failure', {\n errorType: 'Error loading Header Enrichment script',\n errorMessage: error.message\n });\n window.dispatchEvent(new Event('he-fail'));\n };\n } catch (err) {\n console.error('Error in header enrichment:', err);\n resolve(createResponseObject(config, strategyConfigs?.default.flow as ISupportedFlows));\n }\n });\n};\n\nconst headerEnrichmentScript = (\n flowObj: IFlow,\n msisdn: string | null = null,\n operator: string | null = null,\n isHeaderEnrichmentSuccess: boolean\n) => {\n const defaultConfig = getConfig().strategyConfigs?.default;\n const defaultFlowType = defaultConfig?.flow;\n const flowType = flowObj.flow || flowObj.default?.flow;\n const event = getTrackerEventName(flowType);\n\n tracker.sendOptInFlowEvent(event);\n\n if (!flowObj.flow) {\n return {\n type: flowMapping[defaultFlowType],\n result: RDS.NothingYet(),\n data: {\n config: defaultConfig?.flowConfig,\n operator,\n msisdn,\n isHeaderEnrichmentSuccess\n }\n };\n }\n\n return {\n type: flowMapping[flowType],\n result: RDS.NothingYet(),\n data: {\n config: flowObj.flowConfig,\n operator: flowObj.operator,\n isHeaderEnrichmentSuccess\n }\n };\n};\n\nexport { injectHeaderEnrichmentScript };\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { searchToObject } from '../../utilities/searchToObject';\n\nimport {\n IMockFlowParams,\n IMockPinFlowStates,\n ISupportedFlows,\n PossibleTypes,\n RootState,\n StrategyCurrentState,\n StrategyState\n} from '../../sharedFlowTypes/StrategyTypes';\nimport { getConfig } from '../../utilities/getConfig';\nimport { determineFlowByOperator, flowMapping } from './main';\nimport { askMobileNumber, submitMSISDNAction } from './strategies/askMobileNumber';\nimport { askOperator, selectOperatorAction } from './strategies/askOperator';\n\nimport { tracker } from '../../utilities/tracker';\nimport { callRedirectApi } from './strategies/callRedirectApi';\nimport { detectOperatorByIp } from './strategies/detectOperatorByIp';\nimport { handleHeaderEnrichment } from './strategies/headerEnrichment';\nimport { injectHeaderEnrichmentScript } from './strategies/injectHeaderEnrichmentScript';\n\nwindow.tracker = tracker;\nconst initialState: StrategyState = {\n currentState: {\n type: PossibleTypes.IDENTIFY_STRATEGY,\n result: RDS.NothingYet(),\n data: undefined\n }\n};\n\nconst mockStrategyStateByUrlParam = (): StrategyCurrentState => {\n const search = searchToObject(window) as IMockFlowParams<any>;\n\n if (search['mock-flow'] !== undefined) {\n if (search.operator !== undefined) {\n window.operator = search.operator;\n }\n\n switch (search['mock-flow']) {\n case 'pin':\n return {\n type: PossibleTypes.PIN,\n result: RDS.Success({})\n };\n\n case 'mo':\n return {\n type: PossibleTypes.MO,\n result: RDS.Success({})\n };\n case 'moredir':\n return {\n type: PossibleTypes.MO_REDIR,\n result: RDS.Success({})\n };\n case 'oneclick':\n return {\n type: PossibleTypes.ONE_CLICK,\n result: RDS.Success({}),\n data: {\n subscription_url: search['subscription-url']\n }\n };\n case 'click2sms':\n return {\n type: PossibleTypes.CLICK2SMS,\n result: RDS.Success({})\n };\n case 'ussd':\n return {\n type: PossibleTypes.USSD,\n result: RDS.Success({})\n };\n case 'creditcard':\n return {\n type: PossibleTypes.CREDIT_CARD,\n result: RDS.Success({})\n };\n default:\n throw new Error('(mockStrategyStateByUrlParam) Strategy Mock Flow not supported');\n }\n }\n};\n\n/**\n * Identify Strategy\n * @returns {type: 'strategy/identifyStrategy', payload: {type: PossibleTypes.MO, result: IdentifyFlowOptionsResult}}\n * - Add type\n * - Makes a decision on which strategy to use in order to identify the flow\n * - Strategy could be asking user's phone number, selecting an operator etc\n * - all with the intension of getting the flow and its configuration\n * - Flows are usually tied to an operator in the pages config.json\n * - But they could also be single flows\n *\n */\n\nexport const identifyStrategy = createAsyncThunk('strategy/identifyStrategy', async () => {\n const configs = getConfig();\n const { strategy, strategyConfigs } = configs;\n // const { isUseMsisdnPrefix } = strategyConfigs;\n const search = searchToObject(window) as IMockFlowParams<IMockPinFlowStates>;\n if (search['mock-flow'] !== undefined) {\n return mockStrategyStateByUrlParam();\n }\n if (search.ui_show_default_flow === '1') {\n const flow = strategyConfigs?.default.flow as ISupportedFlows;\n const config = strategyConfigs?.default?.flowConfig;\n return {\n type: flowMapping[flow],\n result: RDS.NothingYet(),\n data: {\n config\n }\n };\n }\n if (\n (search['show-pin-entry'] && search['show-pin-entry'] === '1') ||\n (search['show-thank-you'] && search['show-thank-you'] === '1') ||\n (search.show_custom_error && search.show_custom_error === '1')\n ) {\n const flowObj = determineFlowByOperator({\n configs,\n operator: search.operator\n });\n const strategyResult: StrategyCurrentState = {\n type: PossibleTypes.PIN,\n result: RDS.Success({}),\n data: {\n config: flowObj?.flowConfig || strategyConfigs?.default?.flowConfig\n }\n };\n return strategyResult;\n }\n\n if (strategy.includes('ask-operator')) {\n return askOperator();\n }\n if (strategy.includes('detect-operator-by-ip')) {\n return detectOperatorByIp(strategy);\n }\n if (strategy?.includes('ask-mobile-number')) {\n return askMobileNumber();\n }\n\n if (strategy?.includes('detect-operator-by-redirect-api')) {\n return callRedirectApi();\n }\n\n if (strategy?.includes('header-enrichment') && strategy !== 'header-enrichment-script') {\n const n = await handleHeaderEnrichment();\n // @ts-ignore\n return n;\n }\n\n switch (strategy) {\n // REOVING THIS AS IT INJECTS UNUSED CODE\n case 'header-enrichment-script':\n // eslint-disable-next-line no-return-await\n return injectHeaderEnrichmentScript({\n window\n });\n case 'pin': {\n tracker.sendOptInFlowEvent('Pin');\n return {\n type: PossibleTypes.PIN,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n }\n case 'mo':\n tracker.sendOptInFlowEvent('Msisdn to sms');\n return {\n type: PossibleTypes.MO,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'mo-redir':\n return {\n type: PossibleTypes.MO_REDIR,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'one-click':\n tracker.sendOptInFlowEvent('Redirect');\n return {\n type: PossibleTypes.ONE_CLICK,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'click2sms':\n tracker.sendOptInFlowEvent('Click to sms');\n return {\n type: PossibleTypes.CLICK2SMS,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'ussd':\n tracker.sendOptInFlowEvent('USSD');\n return {\n type: PossibleTypes.USSD,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n case 'credit-card':\n // @ts-ignore\n tracker.sendOptInFlowEvent('Credit card');\n return {\n type: PossibleTypes.CREDIT_CARD,\n result: RDS.Success({}),\n data: {\n config: strategyConfigs?.default?.flowConfig,\n strategy\n }\n };\n default:\n throw new Error('Strategy not supported');\n }\n});\n\nexport const setStrategyExtraData = createAsyncThunk(\n 'strategy/setStrategyExtraData',\n async ({ type, data }: { type: PossibleTypes; data: any }) => ({\n type,\n result: RDS.NothingYet(),\n data\n })\n);\n\nexport const strategySlice = createSlice({\n name: 'strategy',\n initialState,\n reducers: {\n // Define synchronous reducers as needed\n },\n extraReducers: (builder) => {\n // @ts-ignore\n builder\n .addCase(identifyStrategy.pending, (state) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_STRATEGY,\n result: RDS.Loading()\n };\n })\n // @ts-ignore\n .addCase(identifyStrategy.fulfilled, (state, action: PayloadAction<StrategyCurrentState>) => {\n state.currentState = action.payload;\n })\n .addCase(identifyStrategy.rejected, (state, action) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_STRATEGY,\n result: RDS.Failure(action.error.message)\n };\n })\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_FLOW_BY_MSISDN,\n result: RDS.Loading()\n };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<StrategyCurrentState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_FLOW_BY_MSISDN,\n result: RDS.Failure(action.payload)\n };\n })\n .addCase(setStrategyExtraData.fulfilled, (state, action) => {\n state.currentState = action.payload;\n })\n .addCase(selectOperatorAction.pending, (state) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_FLOW_BY_OPERATOR_SELECT,\n result: RDS.Loading()\n };\n })\n .addCase(selectOperatorAction.fulfilled, (state, action: PayloadAction<any>) => {\n state.currentState = action.payload;\n })\n .addCase(selectOperatorAction.rejected, (state, action) => {\n state.currentState = {\n type: PossibleTypes.IDENTIFY_FLOW_BY_OPERATOR_SELECT,\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\nexport const selectStrategyState = (state: RootState) => state.strategy;\nexport const strategyReducer = strategySlice.reducer;\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Loading","RDS.Failure"],"mappings":"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"}
|