ouisys-engine 4.7.0-alpha.1 → 4.7.0-alpha.5

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.
Files changed (61) hide show
  1. package/dist/RemoteDataState-lcf8PfJd.js +2 -0
  2. package/dist/{RemoteDataState-CwHLI23e.js.map → RemoteDataState-lcf8PfJd.js.map} +1 -1
  3. package/dist/bupperizeCountry-CEtt0MKz.js +2 -0
  4. package/dist/bupperizeCountry-CEtt0MKz.js.map +1 -0
  5. package/dist/checkSubscriptionByRockmanIdOnly-BwR1un1L.js +2 -0
  6. package/dist/{checkSubscriptionByRockmanIdOnly-C89Ph9cV.js.map → checkSubscriptionByRockmanIdOnly-BwR1un1L.js.map} +1 -1
  7. package/dist/checkSubscriptionHander.js +1 -52
  8. package/dist/checkSubscriptionHander.js.map +1 -1
  9. package/dist/click2smsFlow.js +1 -245
  10. package/dist/click2smsFlow.js.map +1 -1
  11. package/dist/creditCardFlow.js +1 -247
  12. package/dist/creditCardFlow.js.map +1 -1
  13. package/dist/getConfig.js +1 -13
  14. package/dist/getConfig.js.map +1 -1
  15. package/dist/handleClickChainFlow.js +1 -31
  16. package/dist/handleClickChainFlow.js.map +1 -1
  17. package/dist/handleSubmitNumber.js +1 -64
  18. package/dist/handleSubmitNumber.js.map +1 -1
  19. package/dist/helpers-xPhGBX-B.js +2 -0
  20. package/dist/helpers-xPhGBX-B.js.map +1 -0
  21. package/dist/loadScriptInnerHtml-BzQm-AFb.js +2 -0
  22. package/dist/loadScriptInnerHtml-BzQm-AFb.js.map +1 -0
  23. package/dist/moFlow.js +1 -274
  24. package/dist/moFlow.js.map +1 -1
  25. package/dist/moRedirFlow.js +1 -224
  26. package/dist/moRedirFlow.js.map +1 -1
  27. package/dist/oneClickFlow.js +1 -463
  28. package/dist/oneClickFlow.js.map +1 -1
  29. package/dist/pinFlow.js +1 -696
  30. package/dist/pinFlow.js.map +1 -1
  31. package/dist/searchToObject.js +1 -18
  32. package/dist/searchToObject.js.map +1 -1
  33. package/dist/storeMsisdn-Cjq8_qYH.js +2 -0
  34. package/dist/{storeMsisdn-ChiBh8mI.js.map → storeMsisdn-Cjq8_qYH.js.map} +1 -1
  35. package/dist/strategy.js +1 -49
  36. package/dist/strategy.js.map +1 -1
  37. package/dist/strategySlice-CtjrhCrS.js +2 -0
  38. package/dist/{strategySlice-bF74rxDK.js.map → strategySlice-CtjrhCrS.js.map} +1 -1
  39. package/dist/tracker-DaaILhEr.js +2 -0
  40. package/dist/tracker-DaaILhEr.js.map +1 -0
  41. package/dist/tracker.js +1 -4
  42. package/dist/tracker.js.map +1 -1
  43. package/dist/tryGetIPRangeName-QW-9NgzE.js +2 -0
  44. package/dist/tryGetIPRangeName-QW-9NgzE.js.map +1 -0
  45. package/dist/ussdFlow.js +1 -210
  46. package/dist/ussdFlow.js.map +1 -1
  47. package/package.json +2 -6
  48. package/dist/RemoteDataState-CwHLI23e.js +0 -75
  49. package/dist/bupperizeCountry-CCDIOHP6.js +0 -4
  50. package/dist/bupperizeCountry-CCDIOHP6.js.map +0 -1
  51. package/dist/checkSubscriptionByRockmanIdOnly-C89Ph9cV.js +0 -27
  52. package/dist/helpers-J_h-ZgxH.js +0 -29
  53. package/dist/helpers-J_h-ZgxH.js.map +0 -1
  54. package/dist/loadScriptInnerHtml-DPcoY467.js +0 -26
  55. package/dist/loadScriptInnerHtml-DPcoY467.js.map +0 -1
  56. package/dist/storeMsisdn-ChiBh8mI.js +0 -58
  57. package/dist/strategySlice-bF74rxDK.js +0 -842
  58. package/dist/tracker-B_zsMRN2.js +0 -79
  59. package/dist/tracker-B_zsMRN2.js.map +0 -1
  60. package/dist/tryGetIPRangeName-C69HEG5W.js +0 -42
  61. package/dist/tryGetIPRangeName-C69HEG5W.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ussdFlow.js","sources":["../src/flows/ussdFlow/hooks/useUssdFlowState.ts","../src/flows/ussdFlow/match.ts","../src/flows/ussdFlow/api.ts","../src/flows/ussdFlow/main.ts","../src/flows/ussdFlow/ussdFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useUssdFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.ussdFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MSISDNEntryFailure, MSISDNEntrySuccess, UssdFlowCurrentState } from '../../sharedFlowTypes/UssdTypes';\n\nfunction ussdFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: UssdFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { ussdFlowMatch };\n","import { IMSISDNSubmissionResult } from '../../sharedFlowTypes/UssdTypes';\n\nconst ussd = async (\n window: Window,\n slug: string,\n country: string,\n msisdn: string,\n device: string,\n offer: string,\n rockmanId: string,\n search: string,\n extraParamsQs: string\n): Promise<IMSISDNSubmissionResult> => {\n const params = new URLSearchParams({\n action: 'ussd',\n slug,\n country,\n msisdn,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n ...(search && { search })\n });\n\n if (extraParamsQs) {\n extraParamsQs.split('&').forEach((param) => {\n const [key, value] = param.split('=');\n if (key) params.append(key, value);\n });\n }\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params.toString()}`;\n return fetch(url).then((response) => response.json());\n};\n\nexport { ussd };\n","import { IError } from '../../common-types/IError';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport {\n IKeywordShortcode,\n IMSISDNSubmissionResult,\n MSISDNEntryFailure,\n MSISDNEntrySuccess,\n UssdFlowState\n} from '../../sharedFlowTypes/UssdTypes';\nimport { ussd } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi).join('');\n const { rockmanId } = window.pac_analytics.visitor;\n const result: IMSISDNSubmissionResult = await ussd(\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n );\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n console.error(error);\n throw error;\n } else {\n return result;\n }\n}\n\nexport const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n // @ts-ignore\n // eslint-disable-next-line no-nested-ternary\n !!window.pac_analytics.visitor['x-requested-with'] &&\n // @ts-ignore\n window.pac_analytics.visitor['x-requested-with'] !== null &&\n // @ts-ignore\n window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n\nexport const mockedMSISDNEntrySuccess: UssdFlowState = {\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: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess,\n UssdFlowState\n} from '../../sharedFlowTypes/UssdTypes';\nimport { checkSubscriptionHander } from '../../utilities/checkSubscriptionHander';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport submitMSISDN from './main';\n\nconst initialState: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls ussd api that open ussd prompt on mobile\n *\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('ussdFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Ussd Api Call\n tracker.advancedInFlow('tallyman.v1-ussd', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-ussd', 'msisdn-submission-success', { msisdn });\n // End Ussd Api Call\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n // Check For Subscription by rockman id and redirect to product url\n checkSubscriptionHander({\n window,\n flow: 'tallyman.v1-ussd',\n action: 'sale',\n args: {\n msisdn\n }\n });\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: MSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-ussd', 'msisdn-submission-failure', {\n msisdn,\n errorType: errorType || 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nconst ussdFlowSlice = createSlice({\n name: 'ussdFlow',\n initialState,\n reducers: {\n backToStartAction(state) {\n tracker.recedeInFlow('tallyman.v1-ussd', 'ussd-state', 'requested to change phone number');\n\n // TODO GO BACK TO IDENTIFY BY MSISDN BASED ON STRATEGY\n state.currentState = { type: 'MSISDNEntry', result: RDS.NothingYet() };\n }\n },\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: ussdFlowReducer, actions: ussdFlowActions } = ussdFlowSlice;\nexport const { backToStartAction } = ussdFlowActions;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectUssdFlowState = (state: any) => state.ussdFlow;\n"],"names":["RDS.NothingYet","RDS.Success","RDS.Loading","RDS.Failure"],"mappings":";;;;;;;;;;;;AAGO,IAAM,gBAAgB,GAAG,UAAC,WAAgC,EAAA;AAC/D,IAAA,IAAM,YAAY,GAAG,WAAW,CAAC,UAAC,KAAgB,EAAK,EAAA,OAAA,KAAK,CAAC,QAAQ,CAAC,YAAY,CAA3B,EAA2B,CAAC,CAAC;AACpF,IAAA,OAAO,YAAY,CAAC;AACtB;;ACHA,SAAS,aAAa,CAAI,EAIzB,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;;ACfA,IAAM,IAAI,GAAG,UACX,MAAc,EACd,IAAY,EACZ,OAAe,EACf,MAAc,EACd,MAAc,EACd,KAAa,EACb,SAAiB,EACjB,MAAc,EACd,aAAqB,EAAA,EAAA,OAAA,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;AAEf,QAAA,MAAM,GAAG,IAAI,eAAe,YAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAA,IAAA,EACJ,OAAO,EAAA,OAAA,EACP,MAAM,EAAA,MAAA,EACN,MAAM,EAAA,MAAA,EACN,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,EACzB,UAAU,EAAE,SAAS,EAAA,GACjB,MAAM,IAAI,EAAE,MAAM,QAAA,EAAE,GACxB,CAAC;AAEH,QAAA,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK,EAAA;AAC/B,gBAAA,IAAA,EAAA,GAAA,MAAA,CAAe,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAA,CAAA,CAAA,EAA9B,GAAG,GAAA,EAAA,CAAA,CAAA,CAAA,EAAE,KAAK,QAAoB,CAAC;AACtC,gBAAA,IAAI,GAAG;AAAE,oBAAA,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrC,aAAC,CAAC,CAAC;AACJ,SAAA;AACK,QAAA,IAAI,GAAI,MAAiB,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7C,GAAG,GAAG,UAAG,IAAI,EAAA,gBAAA,CAAA,CAAA,MAAA,CAAiB,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAC;AACxD,QAAA,OAAA,CAAA,CAAA,aAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ,EAAK,EAAA,OAAA,QAAQ,CAAC,IAAI,EAAE,CAAf,EAAe,CAAC,CAAC,CAAA;;KACvD;;ACrBa,SAAgB,YAAY,CACxC,MAAc,EACd,WAAoB,EACpB,mBAA2B,EAC3B,WAAuC,EAAA;;;;AAEjC,YAAA,MAAM,cAAc,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAM,WAAW,IAAI,EAAE,EAAG,CAAC;YAC9F,OAAO,CAAA,CAAA,aAAA,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAA;;;AACjF,CAAA;AAEK,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,mBAAmB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnD,oBAAA,SAAS,GAAK,MAAM,CAAC,aAAa,CAAC,OAAO,UAAjC,CAAkC;oBACX,OAAM,CAAA,CAAA,YAAA,IAAI,CAChD,MAAM,EACN,IAAI,EACJ,OAAO,EACP,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,MAAM,EACN,aAAa,CACd,CAAA,CAAA;;AAVK,oBAAA,MAAM,GAA4B,EAUvC,CAAA,IAAA,EAAA,CAAA;AAED,oBAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;AACtB,wBAAA,IAAI,GAAG,MAAM,CAAC,OAAO,KAAK,oBAAoB,GAAG,mBAAmB,GAAG,eAAe,CAAC;AACvF,wBAAA,KAAK,GAAG,IAAI,KAAK,CAAC,EAAG,CAAA,MAAA,CAAA,IAAI,EAAM,KAAA,CAAA,CAAA,MAAA,CAAA,MAAM,CAAC,OAAO,CAAE,CAA8B,CAAC;AACpF,wBAAA,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;AAClB,wBAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACrB,wBAAA,MAAM,KAAK,CAAC;AACb,qBAAA;AAAM,yBAAA;AACL,wBAAA,OAAA,CAAA,CAAA,aAAO,MAAM,CAAC,CAAA;AACf,qBAAA;;;;AACF;;AC1CD,IAAM,YAAY,GAAkB;AAClC,IAAA,YAAY,EAAE;AACZ,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,MAAM,EAAEA,UAAc,EAAE;AACzB,KAAA;CACF,CAAC;AAOF;;;;;;AAMG;AACU,IAAA,kBAAkB,GAAG,gBAAgB,CAMhD,6BAA6B,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;;;;;;oBAC5F,KAAK,GAAc,QAAQ,EAAE,CAAC;oBAE5B,MAAM,GAAK,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAA,MAArC,CAAsC;;;;;AAIlD,oBAAA,OAAO,CAAC,cAAc,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;oBAC/C,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,kBAAkB,EAAE,2BAA2B,EAAE,EAAE,MAAM,EAAA,MAAA,EAAE,CAAC,CAAC;AAKhF,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;;;;;AAKP,oBAAA,uBAAuB,CAAC;AACtB,wBAAA,MAAM,EAAA,MAAA;AACN,wBAAA,IAAI,EAAE,kBAAkB;AACxB,wBAAA,MAAM,EAAE,MAAM;AACd,wBAAA,IAAI,EAAE;AACJ,4BAAA,MAAM,EAAA,MAAA;AACP,yBAAA;AACF,qBAAA,CAAC,CAAC;oBAEH,OAAO,CAAA,CAAA,aAAA;AACL,4BAAA,IAAI,EAAE,aAAa;AACnB,4BAAA,MAAM,EAAEC,OAAW,CAAA,QAAA,CAAA,EAAA,EAA8C,mBAAmB,CAAG,CAAA;yBACxF,CAAC,CAAA;;;AAEF,oBAAA,OAAO,CAAC,IAAI,CAAC,IAAE,CAAC,CAAC;AACb,oBAAA,SAAS,SAAuB,CAAC;oBACrC,QAAQ,IAAE,CAAC,IAAI;AACb,wBAAA,KAAK,mBAAmB;4BACtB,SAAS,GAAG,mBAAmB,CAAC;4BAChC,MAAM;AACR,wBAAA,KAAK,eAAe;4BAClB,SAAS,GAAG,eAAe,CAAC;4BAC5B,MAAM;AACR,wBAAA;4BACE,SAAS,GAAG,cAAc,CAAC;AAC9B,qBAAA;AAED,oBAAA,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,2BAA2B,EAAE;AACpE,wBAAA,MAAM,EAAA,MAAA;wBACN,SAAS,EAAE,SAAS,IAAI,cAAc;AACvC,qBAAA,CAAC,CAAC;AAEH,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;AAEH,IAAM,aAAa,GAAG,WAAW,CAAC;AAChC,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,YAAY,EAAA,YAAA;AACZ,IAAA,QAAQ,EAAE;AACR,QAAA,iBAAiB,YAAC,KAAK,EAAA;YACrB,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,YAAY,EAAE,kCAAkC,CAAC,CAAC;;AAG3F,YAAA,KAAK,CAAC,YAAY,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAED,UAAc,EAAE,EAAE,CAAC;SACxE;AACF,KAAA;IACD,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,EAAEE,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,EAAEC,OAAW,CAAC,MAAM,CAAC,OAAO,CAAC;aACpC,CAAC;AACJ,SAAC,CAAC,CAAC;KACN;AACF,CAAA,CAAC,CAAC;AAEH;AACwB,IAAA,eAAe,GAA+B,aAAa,CAA5C,OAAA,CAAA,CAAW,eAAe,GAAK,aAAa,CAAA,QAAC;AACrE,IAAA,iBAAiB,GAAK,eAAe;;;;"}
1
+ {"version":3,"file":"ussdFlow.js","sources":["../src/flows/ussdFlow/hooks/useUssdFlowState.ts","../src/flows/ussdFlow/match.ts","../src/flows/ussdFlow/api.ts","../src/flows/ussdFlow/main.ts","../src/flows/ussdFlow/ussdFlowSlice.ts"],"sourcesContent":["import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useUssdFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.ussdFlow.currentState);\n return currentState;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { MSISDNEntryFailure, MSISDNEntrySuccess, UssdFlowCurrentState } from '../../sharedFlowTypes/UssdTypes';\n\nfunction ussdFlowMatch<R>({\n msisdnEntry\n}: {\n msisdnEntry: (rds: RDS.RemoteDataState<MSISDNEntryFailure, MSISDNEntrySuccess>) => R;\n}): (state: UssdFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'MSISDNEntry':\n return msisdnEntry(state.result);\n default:\n // TODO - this should be an error or something\n return msisdnEntry(state.result);\n }\n };\n}\n\nexport { ussdFlowMatch };\n","import { IMSISDNSubmissionResult } from '../../sharedFlowTypes/UssdTypes';\n\nconst ussd = async (\n window: Window,\n slug: string,\n country: string,\n msisdn: string,\n device: string,\n offer: string,\n rockmanId: string,\n search: string,\n extraParamsQs: string\n): Promise<IMSISDNSubmissionResult> => {\n const params = new URLSearchParams({\n action: 'ussd',\n slug,\n country,\n msisdn,\n device,\n offerId: offer.toString(),\n rockman_id: rockmanId,\n ...(search && { search })\n });\n\n if (extraParamsQs) {\n extraParamsQs.split('&').forEach((param) => {\n const [key, value] = param.split('=');\n if (key) params.append(key, value);\n });\n }\n const host = (window as Window).DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params.toString()}`;\n return fetch(url).then((response) => response.json());\n};\n\nexport { ussd };\n","import { IError } from '../../common-types/IError';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { IConfig } from '../../sharedFlowTypes/StrategyTypes';\nimport {\n IKeywordShortcode,\n IMSISDNSubmissionResult,\n MSISDNEntryFailure,\n MSISDNEntrySuccess,\n UssdFlowState\n} from '../../sharedFlowTypes/UssdTypes';\nimport { ussd } from './api';\n\nexport default async function submitMSISDN(\n window: Window,\n maybeConfig: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const config: IConfig = { offer: window.pac_analytics.visitor.offer, ...(maybeConfig || {}) };\n return submitMSISDNWithConfig(window, config, internationalMSISDN, extraParams);\n}\n\nexport async function submitMSISDNWithConfig(\n window: Window,\n config: IConfig,\n internationalMSISDN: string,\n extraParams?: { [key: string]: string }\n): Promise<IKeywordShortcode> {\n const { slug, country, device, offer } = config;\n const search = window.location.search.substr(1) || '';\n const extraParamsQs = !extraParams\n ? ''\n : `&${Object.keys(extraParams)\n .map((k) => `${k}=${extraParams[k]}`)\n .join('&')}`;\n const msisdn = internationalMSISDN.match(/\\d+/gi).join('');\n const { rockmanId } = window.pac_analytics.visitor;\n const result: IMSISDNSubmissionResult = await ussd(\n window,\n slug,\n country,\n msisdn,\n device,\n offer,\n rockmanId,\n search,\n extraParamsQs\n );\n\n if (result.success === false) {\n const type = result.message === 'ALREADY SUBSCRIBED' ? 'AlreadySubscribed' : 'InvalidMSISDN';\n const error = new Error(`${type}:\\n${result.message}`) as IError & { type: string };\n error.type = type;\n console.error(error);\n throw error;\n } else {\n return result;\n }\n}\n\nexport const formatSMSLink = (keywordAndShortcode: IKeywordShortcode) =>\n // @ts-ignore\n // eslint-disable-next-line no-nested-ternary\n !!window.pac_analytics.visitor['x-requested-with'] &&\n // @ts-ignore\n window.pac_analytics.visitor['x-requested-with'] !== null &&\n // @ts-ignore\n window.pac_analytics.visitor['x-requested-with'].indexOf('com.facebook') !== -1\n ? `sms://${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`\n : typeof navigator !== 'undefined' && (/iPhone/i.test(navigator.userAgent) || /Mac OS/i.test(navigator.userAgent))\n ? `sms:${keywordAndShortcode.shortcode}&body=${keywordAndShortcode.keyword}`\n : `sms:${keywordAndShortcode.shortcode}?body=${keywordAndShortcode.keyword}`;\n\nexport const mockedMSISDNEntrySuccess: UssdFlowState = {\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: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.Failure<MSISDNEntryFailure, MSISDNEntrySuccess>({\n errorType: 'InvalidMSISDN',\n error: 'Invalid Mobile Number'\n })\n }\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport { IHash } from '../../common-types/IHash';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport {\n MSISDNEntryErrorTypes,\n MSISDNEntryFailure,\n MSISDNEntryState,\n MSISDNEntrySuccess,\n UssdFlowState\n} from '../../sharedFlowTypes/UssdTypes';\nimport { checkSubscriptionHander } from '../../utilities/checkSubscriptionHander';\nimport { storeMsisdn } from '../../utilities/storeMsisdn';\nimport { tracker } from '../../utilities/tracker';\nimport submitMSISDN from './main';\n\nconst initialState: UssdFlowState = {\n currentState: {\n type: 'MSISDNEntry',\n result: RDS.NothingYet()\n }\n};\n\ninterface SubmitMSISDNArgs {\n window: Window;\n msisdn: string;\n extraParams?: IHash;\n}\n/**\n * submitMSISDNAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls ussd api that open ussd prompt on mobile\n *\n */\nexport const submitMSISDNAction = createAsyncThunk<\n MSISDNEntryState,\n SubmitMSISDNArgs,\n {\n rejectValue: MSISDNEntryFailure;\n }\n>('ussdFlow/submitMSISDNAction', async ({ window, msisdn, extraParams }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n\n const { config } = state.strategy.currentState.data;\n\n try {\n // Start Ussd Api Call\n tracker.advancedInFlow('tallyman.v1-ussd', 'msisdn-submitted', { msisdn });\n const keywordAndShortcode = await submitMSISDN(window, config, msisdn, extraParams);\n tracker.advancedInFlow('tallyman.v1-ussd', 'msisdn-submission-success', { msisdn });\n // End Ussd Api Call\n\n // Start Store Msisdn\n // if storeMsisdn is true, encrypt msisdn and save it in cookie, localStorage, and zürch\n if (extraParams && extraParams.storeMsisdn && extraParams.storeMsisdn === 'true') {\n await storeMsisdn(msisdn)\n .then((data: any) => {\n if (data && data.data && data.data.success) {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-success');\n } else {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-failed');\n }\n })\n .catch((error) => {\n tracker.customEvent('Flow', 'advance-auto', 'msisdn-stored-error', error);\n });\n }\n // End Store Msisdn\n\n // Check For Subscription by rockman id and redirect to product url\n checkSubscriptionHander({\n window,\n flow: 'tallyman.v1-ussd',\n action: 'sale',\n args: {\n msisdn\n }\n });\n\n return {\n type: 'MSISDNEntry',\n result: RDS.Success<MSISDNEntryFailure, MSISDNEntrySuccess>({ ...keywordAndShortcode })\n };\n } catch (ex) {\n console.warn(ex);\n let errorType: MSISDNEntryErrorTypes;\n switch (ex.type) {\n case 'AlreadySubscribed':\n errorType = 'AlreadySubscribed';\n break;\n case 'InvalidMSISDN':\n errorType = 'InvalidMSISDN';\n break;\n default:\n errorType = 'UnknownError';\n }\n\n tracker.recedeInFlow('tallyman.v1-ussd', 'msisdn-submission-failure', {\n msisdn,\n errorType: errorType || 'UnknownError'\n });\n\n return rejectWithValue({\n errorType,\n productUrl: ex.productUrl\n });\n }\n});\n\nconst ussdFlowSlice = createSlice({\n name: 'ussdFlow',\n initialState,\n reducers: {\n backToStartAction(state) {\n tracker.recedeInFlow('tallyman.v1-ussd', 'ussd-state', 'requested to change phone number');\n\n // TODO GO BACK TO IDENTIFY BY MSISDN BASED ON STRATEGY\n state.currentState = { type: 'MSISDNEntry', result: RDS.NothingYet() };\n }\n },\n extraReducers: (builder) => {\n builder\n .addCase(submitMSISDNAction.pending, (state) => {\n state.currentState = { type: 'MSISDNEntry', result: RDS.Loading() };\n })\n .addCase(submitMSISDNAction.fulfilled, (state, action: PayloadAction<MSISDNEntryState>) => {\n state.currentState = action.payload;\n })\n .addCase(submitMSISDNAction.rejected, (state, action: PayloadAction<MSISDNEntryFailure>) => {\n state.currentState = {\n type: 'MSISDNEntry',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: ussdFlowReducer, actions: ussdFlowActions } = ussdFlowSlice;\nexport const { backToStartAction } = ussdFlowActions;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectUssdFlowState = (state: any) => state.ussdFlow;\n"],"names":["useUssdFlowState","useSelector","state","ussdFlow","currentState","ussdFlowMatch","_a","msisdnEntry","type","result","ussd","window","slug","country","msisdn","device","offer","rockmanId","search","extraParamsQs","__awaiter","params","URLSearchParams","action","offerId","toString","rockman_id","split","forEach","param","__read","key","value","append","host","DEV_BASE_URL","url","concat","fetch","then","response","json","submitMSISDN","maybeConfig","internationalMSISDN","extraParams","config","pac_analytics","visitor","submitMSISDNWithConfig","location","substr","Object","keys","map","k","join","match","sent","success","message","error","Error","console","initialState","RDS.NothingYet","submitMSISDNAction","createAsyncThunk","_b","getState","rejectWithValue","strategy","data","tracker","advancedInFlow","keywordAndShortcode","_c","storeMsisdn","customEvent","catch","checkSubscriptionHander","flow","args","RDS.Success","__assign","warn","ex_1","errorType","recedeInFlow","productUrl","ussdFlowSlice","createSlice","name","reducers","backToStartAction","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","RDS.Failure","ussdFlowReducer","reducer","actions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ouisys-engine",
3
- "version": "4.7.0-alpha.1",
3
+ "version": "4.7.0-alpha.5",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "directories": "dist dev-tools",
@@ -21,7 +21,7 @@
21
21
  "type": "module",
22
22
  "sideEffects": false,
23
23
  "files": [
24
- "dist"
24
+ "dist/"
25
25
  ],
26
26
  "exports": {
27
27
  "./strategy": "./dist/strategy.js",
@@ -87,7 +87,6 @@
87
87
  },
88
88
  "dependencies": {
89
89
  "@reduxjs/toolkit": "^2.2.3",
90
- "awesome-phonenumber": "2.73.0",
91
90
  "immutability-helper": "3.1.1",
92
91
  "pacman-client": "1.5.6",
93
92
  "react-addons-update": "15.6.3",
@@ -161,9 +160,6 @@
161
160
  "rollup-plugin-typescript2": "^0.36.0",
162
161
  "ts-node": "10.8.2"
163
162
  },
164
- "peerDependencies": {
165
- "awesome-phonenumber": "2.73.0"
166
- },
167
163
  "resolutions": {
168
164
  "@types/react": "18.0.14",
169
165
  "@types/react-dom": "18.0.5",
@@ -1,75 +0,0 @@
1
- function match(_a) {
2
- var nothingYet = _a.nothingYet, loading = _a.loading, failure = _a.failure, success = _a.success;
3
- return function (model) {
4
- switch (model.type) {
5
- case 'NothingYet':
6
- return nothingYet();
7
- case 'Loading':
8
- return loading();
9
- case 'Failure':
10
- return failure(model.error);
11
- case 'Success':
12
- return success(model.data);
13
- default:
14
- return nothingYet();
15
- }
16
- };
17
- }
18
- var NothingYet = function () { return ({
19
- type: 'NothingYet'
20
- }); };
21
- var Loading = function () { return ({
22
- type: 'Loading'
23
- }); };
24
- var Failure = function (error) { return ({
25
- type: 'Failure',
26
- error: error
27
- }); };
28
- var Success = function (data) { return ({
29
- type: 'Success',
30
- data: data
31
- }); };
32
- var IsNothingYet = function (s) { return s.type === 'NothingYet'; };
33
- var IsLoading = function (s) { return s.type === 'Loading'; };
34
- var IsFailure = function (s) { return s.type === 'Failure'; };
35
- var IsSuccess = function (s) { return s.type === 'Success'; };
36
- var WhenFailure = function (d, r) { return function (s) {
37
- return s.type === 'Failure' ? r(s.error) : d;
38
- }; };
39
- var WhenLoading = function (d, r) { return function (s) {
40
- return s.type === 'Loading' ? r() : d;
41
- }; };
42
- var WhenSuccess = function (d, r) { return function (s) {
43
- return s.type === 'Success' ? r(s.data) : d;
44
- }; };
45
- var MatchFailure = function (_a) {
46
- var failure = _a.failure, otherwise = _a.otherwise;
47
- return function (s) { return (s.type === 'Failure' ? failure(s.error) : otherwise()); };
48
- };
49
- var MatchSuccess = function (_a) {
50
- var success = _a.success, otherwise = _a.otherwise;
51
- return function (s) {
52
- return s.type === 'Success' ? success(s.data) : otherwise(s);
53
- };
54
- };
55
-
56
- var RemoteDataState = /*#__PURE__*/Object.freeze({
57
- __proto__: null,
58
- Failure: Failure,
59
- IsFailure: IsFailure,
60
- IsLoading: IsLoading,
61
- IsNothingYet: IsNothingYet,
62
- IsSuccess: IsSuccess,
63
- Loading: Loading,
64
- MatchFailure: MatchFailure,
65
- MatchSuccess: MatchSuccess,
66
- NothingYet: NothingYet,
67
- Success: Success,
68
- WhenFailure: WhenFailure,
69
- WhenLoading: WhenLoading,
70
- WhenSuccess: WhenSuccess,
71
- match: match
72
- });
73
-
74
- export { Failure as F, Loading as L, NothingYet as N, RemoteDataState as R, Success as S };
75
- //# sourceMappingURL=RemoteDataState-CwHLI23e.js.map
@@ -1,4 +0,0 @@
1
- var bupperizeCountry = function (c) { return (c === 'gb' ? 'uk' : c); };
2
-
3
- export { bupperizeCountry as b };
4
- //# sourceMappingURL=bupperizeCountry-CCDIOHP6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bupperizeCountry-CCDIOHP6.js","sources":["../src/utilities/bupperizeCountry.ts"],"sourcesContent":["const bupperizeCountry = (c: string) => (c === 'gb' ? 'uk' : c);\nexport { bupperizeCountry };\n"],"names":[],"mappings":"AAAM,IAAA,gBAAgB,GAAG,UAAC,CAAS,IAAK,QAAC,CAAC,KAAK,IAAI,GAAG,IAAI,GAAG,CAAC,EAAtB;;;;"}
@@ -1,27 +0,0 @@
1
- import { __awaiter, __generator } from 'tslib';
2
-
3
- var checkSubscriptionByRockmanIdOnly = function (_a) {
4
- var window = _a.window, rockmanId = _a.rockmanId;
5
- return __awaiter(void 0, void 0, void 0, function () {
6
- var host, params, urlParams, url, response;
7
- return __generator(this, function (_b) {
8
- switch (_b.label) {
9
- case 0:
10
- host = window.DEV_BASE_URL || '';
11
- params = {
12
- action: 'check-subscription',
13
- rockman_id: rockmanId
14
- };
15
- urlParams = new URLSearchParams(params).toString();
16
- url = "".concat(host, "/tallyman/v1/?").concat(urlParams);
17
- return [4 /*yield*/, fetch(url)];
18
- case 1:
19
- response = _b.sent();
20
- return [2 /*return*/, response.json()];
21
- }
22
- });
23
- });
24
- };
25
-
26
- export { checkSubscriptionByRockmanIdOnly as c };
27
- //# sourceMappingURL=checkSubscriptionByRockmanIdOnly-C89Ph9cV.js.map
@@ -1,29 +0,0 @@
1
- import { __awaiter, __generator } from 'tslib';
2
-
3
- var wait = function (ms) { return new Promise(function (resolve) { return setTimeout(function () { return resolve(); }, ms); }); };
4
- var loop = function (f, max, stop, i) { return __awaiter(void 0, void 0, void 0, function () {
5
- var r;
6
- return __generator(this, function (_a) {
7
- switch (_a.label) {
8
- case 0: return [4 /*yield*/, f()];
9
- case 1:
10
- r = _a.sent();
11
- if (stop(r) || i >= max) {
12
- return [2 /*return*/, r];
13
- }
14
- return [4 /*yield*/, wait(1000)];
15
- case 2:
16
- _a.sent();
17
- return [2 /*return*/, loop(f, max, stop, i + 1)];
18
- }
19
- });
20
- }); };
21
- function right(r) {
22
- return { type: 'right', value: r };
23
- }
24
- function left(l) {
25
- return { type: 'left', value: l };
26
- }
27
-
28
- export { loop as a, left as l, right as r };
29
- //# sourceMappingURL=helpers-J_h-ZgxH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers-J_h-ZgxH.js","sources":["../src/utilities/helpers.ts"],"sourcesContent":["import Either from '../common-types/Either';\n\nexport const wait = (ms: number) => new Promise<void>((resolve) => setTimeout(() => resolve(), ms));\n\nexport const loop = async <_I extends Record<string, unknown>, R extends Record<string, unknown>>(\n f: () => Promise<R>,\n max: number,\n stop: (r: R) => boolean,\n i: number\n): Promise<R> => {\n const r = await f();\n if (stop(r) || i >= max) {\n return r;\n }\n await wait(1000);\n return loop(f, max, stop, i + 1);\n};\n\nexport function right<L, R>(r: R) {\n return { type: 'right', value: r } as Either<L, R>;\n}\nexport function left<L, R>(l: L) {\n return { type: 'left', value: l } as Either<L, R>;\n}\n"],"names":[],"mappings":";;AAEO,IAAM,IAAI,GAAG,UAAC,EAAU,EAAK,EAAA,OAAA,IAAI,OAAO,CAAO,UAAC,OAAO,EAAK,EAAA,OAAA,UAAU,CAAC,YAAM,EAAA,OAAA,OAAO,EAAE,GAAA,EAAE,EAAE,CAAC,CAA/B,EAA+B,CAAC,CAAA,EAAA,CAAC;AAEvF,IAAA,IAAI,GAAG,UAClB,CAAmB,EACnB,GAAW,EACX,IAAuB,EACvB,CAAS,EAAA,EAAA,OAAA,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;oBAEC,OAAM,CAAA,CAAA,YAAA,CAAC,EAAE,CAAA,CAAA;;AAAb,gBAAA,CAAC,GAAG,EAAS,CAAA,IAAA,EAAA,CAAA;gBACnB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE;AACvB,oBAAA,OAAA,CAAA,CAAA,aAAO,CAAC,CAAC,CAAA;AACV,iBAAA;AACD,gBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,IAAI,CAAC,CAAA,CAAA;;AAAhB,gBAAA,EAAA,CAAA,IAAA,EAAgB,CAAC;AACjB,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;;;MACjC;AAEI,SAAU,KAAK,CAAO,CAAI,EAAA;IAC9B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAkB,CAAC;AACrD,CAAC;AACK,SAAU,IAAI,CAAO,CAAI,EAAA;IAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAkB,CAAC;AACpD;;;;"}
@@ -1,26 +0,0 @@
1
- var loadScriptInnerHtml = function (innerHTML, isBody) {
2
- var script = document.createElement('script');
3
- script.type = 'text/javascript';
4
- script.innerHTML = innerHTML;
5
- script.id = window.gateway === 'agency_mt2' ? 'EvinaPinTrigger' : '';
6
- if (isBody) {
7
- document.getElementsByTagName('body')[0].appendChild(script);
8
- }
9
- else {
10
- var headElem = document.getElementsByTagName('head')[0];
11
- headElem.insertBefore(script, headElem.firstChild);
12
- setTimeout(function () {
13
- if (window.gateway === 'agency_mt2' && typeof window.evina_dcb !== undefined) {
14
- // eslint-disable-next-line no-console
15
- console.log('Ev ready');
16
- var event_1 = new Event('DCBProtectRun');
17
- if (typeof window !== 'undefined') {
18
- document.dispatchEvent(event_1);
19
- }
20
- }
21
- }, 0);
22
- }
23
- };
24
-
25
- export { loadScriptInnerHtml as l };
26
- //# sourceMappingURL=loadScriptInnerHtml-DPcoY467.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadScriptInnerHtml-DPcoY467.js","sources":["../src/utilities/loadScriptInnerHtml.ts"],"sourcesContent":["const loadScriptInnerHtml = (innerHTML: string, isBody?: boolean) => {\n const script = document.createElement('script');\n script.type = 'text/javascript';\n script.innerHTML = innerHTML;\n script.id = window.gateway === 'agency_mt2' ? 'EvinaPinTrigger' : '';\n if (isBody) {\n document.getElementsByTagName('body')[0].appendChild(script);\n } else {\n const headElem = document.getElementsByTagName('head')[0];\n headElem.insertBefore(script, headElem.firstChild);\n\n setTimeout(() => {\n if (window.gateway === 'agency_mt2' && typeof window.evina_dcb !== undefined) {\n // eslint-disable-next-line no-console\n console.log('Ev ready');\n const event = new Event('DCBProtectRun');\n if (typeof window !== 'undefined') {\n document.dispatchEvent(event);\n }\n }\n }, 0);\n }\n};\n\nexport { loadScriptInnerHtml };\n"],"names":[],"mappings":"AAAA,IAAM,mBAAmB,GAAG,UAAC,SAAiB,EAAE,MAAgB,EAAA;IAC9D,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAChD,IAAA,MAAM,CAAC,IAAI,GAAG,iBAAiB,CAAC;AAChC,IAAA,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AAC7B,IAAA,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,KAAK,YAAY,GAAG,iBAAiB,GAAG,EAAE,CAAC;AACrE,IAAA,IAAI,MAAM,EAAE;AACV,QAAA,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAC9D,KAAA;AAAM,SAAA;QACL,IAAM,QAAQ,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAEnD,QAAA,UAAU,CAAC,YAAA;AACT,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;;AAE5E,gBAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACxB,gBAAA,IAAM,OAAK,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;AACzC,gBAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,oBAAA,QAAQ,CAAC,aAAa,CAAC,OAAK,CAAC,CAAC;AAC/B,iBAAA;AACF,aAAA;SACF,EAAE,CAAC,CAAC,CAAC;AACP,KAAA;AACH;;;;"}
@@ -1,58 +0,0 @@
1
- import { __awaiter, __generator } from 'tslib';
2
-
3
- var setCookie = function (name, value, daysToExpire, path) {
4
- if (path === void 0) { path = '/'; }
5
- var cookieString = "".concat(name, "=").concat(encodeURIComponent(value));
6
- if (daysToExpire) {
7
- var date = new Date();
8
- date.setTime(date.getTime() + daysToExpire * 24 * 60 * 60 * 1000);
9
- cookieString += "; expires=".concat(date.toUTCString());
10
- }
11
- cookieString += "; path=".concat(path);
12
- document.cookie = cookieString;
13
- };
14
- function storeMsisdn(msisdn) {
15
- return __awaiter(this, void 0, void 0, function () {
16
- var encryptedMsisdn, response, error_1;
17
- return __generator(this, function (_a) {
18
- switch (_a.label) {
19
- case 0:
20
- if (!(typeof window !== 'undefined')) return [3 /*break*/, 5];
21
- encryptedMsisdn = window.btoa(msisdn);
22
- setCookie('_uuid', encryptedMsisdn, 365, '/');
23
- localStorage.setItem('_uuid', encryptedMsisdn);
24
- // if window.msisdnCookieUrl is not declared
25
- if (!window.msisdnCookieUrl) {
26
- return [2 /*return*/, {
27
- data: {
28
- success: true,
29
- message: 'MSISDN saved on cookies and localStorage'
30
- }
31
- }];
32
- }
33
- _a.label = 1;
34
- case 1:
35
- _a.trys.push([1, 3, , 4]);
36
- return [4 /*yield*/, fetch(window.msisdnCookieUrl, {
37
- mode: 'cors',
38
- method: 'POST',
39
- credentials: 'include',
40
- headers: { 'Content-Type': 'application/json' },
41
- body: JSON.stringify({ _uuid: encryptedMsisdn })
42
- })];
43
- case 2:
44
- response = _a.sent();
45
- return [2 /*return*/, response.json()];
46
- case 3:
47
- error_1 = _a.sent();
48
- return [2 /*return*/, error_1.message];
49
- case 4: return [3 /*break*/, 6];
50
- case 5: return [2 /*return*/, 'Window object is not available'];
51
- case 6: return [2 /*return*/];
52
- }
53
- });
54
- });
55
- }
56
-
57
- export { storeMsisdn as s };
58
- //# sourceMappingURL=storeMsisdn-ChiBh8mI.js.map