ouisys-engine 5.0.43 → 5.0.45
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/click2smsFlow.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter as t,__generator as r,__assign as e}from"tslib";import{createAsyncThunk as o,createSlice as n}from"@reduxjs/toolkit";import{S as i,L as a,F as
|
|
1
|
+
import{__awaiter as t,__generator as r,__assign as e}from"tslib";import{createAsyncThunk as o,createSlice as n}from"@reduxjs/toolkit";import{S as i,L as a,F as u,N as c}from"./RemoteDataState-lcf8PfJd.js";import{t as s}from"./tracker-DaaILhEr.js";import"pacman-client";import"uuid";var l=function(o){var n=o.window,i=o.country,a=o.slug,u=o.offer,c=o.rockmanId,s=o.keyword,l=o.operator,d=o.search;return t(void 0,void 0,void 0,(function(){var t,o,v;return r(this,(function(r){return t=new URLSearchParams(e(e(e({action:"oc2sms",country:i,slug:a,offerId:u.toString(),page:encodeURIComponent(n.location.href),device:"smart",rockman_id:c},s&&{keyword:s}),l&&{operator:l}),d&&{search:d})).toString(),o=n.DEV_BASE_URL||"",v="".concat(o,"/tallyman/v1/?").concat(t),[2,fetch(v).then((function(t){return t.json()}))]}))}))};function d(o,n,i,a,u){return t(this,void 0,void 0,(function(){var t,u,c,s,d,v,f,p,y;return r(this,(function(r){switch(r.label){case 0:return n&&"keywordAndShortCode"===n.tag?(t=n.keyword,u=n.shortcode,[2,e({type:"SingleSubmissionResult"},{keyword:t,shortcode:u})]):(c=o.pac_analytics.visitor.offer,s=e({offer:o.pac_analytics.visitor.offer},n),d=s.country,v=s.slug,f=o.pac_analytics.visitor.rockmanId,p=o.location.search.substr(1)||"",[4,l({window:o,country:d,slug:v,offer:c,rockmanId:f,keyword:a,operator:i,search:p})]);case 1:if((y=r.sent()).success)return[2,e({type:"SingleSubmissionResult"},{keyword:"".concat(a||y.displayKeyword).concat(y.uid?" ".concat(y.uid):""),shortcode:y.shortcode})];throw y.message}}))}))}function v(o,n,i,a,u){return t(this,void 0,void 0,(function(){var u,c,s,l=this;return r(this,(function(v){switch(v.label){case 0:return u=Promise.all(i.map((function(i){return t(l,void 0,void 0,(function(){var t,u;return r(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,d(o,n,i,a)];case 1:return t=r.sent(),[2,(s=e(e({},t),{operator:i}),{type:"right",value:s})];case 2:return u=r.sent(),[2,(c=u,{type:"left",value:c})];case 3:return[2]}var c,s}))}))}))),[4,Promise.resolve(u)];case 1:if((c=v.sent()).every((function(t){return"left"===t.type})))throw c[0].value;return s=[],c.map((function(t){if("right"===t.type){var r=t.value;s.push({keyword:null==r?void 0:r.keyword,shortcode:null==r?void 0:r.shortcode,operator:null==r?void 0:r.operator})}return t})),[2,{type:"MultiOperatorSubmissionResult",data:s}]}}))}))}var f=function(o,n,i,a){return t(void 0,void 0,void 0,(function(){return r(this,(function(t){return n&&"keywordAndShortCode"===n.tag?[2,e({type:"SingleSubmissionResult"},{keyword:n.keyword,shortcode:n.shortcode})]:n&&"keyword"===n.tag?[2,p(o,n,i)]:[2,p(o,n,null)]}))}))};function p(o,n,i,a){return t(this,void 0,void 0,(function(){var t,a;return r(this,(function(r){return!0===(t=e({offer:o.pac_analytics.visitor.offer},n)).automaticallySubmitAllOperators&&t.operators&&t.operators.length>0?[2,v(o,n,t.operators,i)]:(a=n.operators&&n.operators.length>0?n.operators[0]:null,[2,d(o,n,a,i)])}))}))}var y={currentState:{type:"LOAD_OC2SMS",result:c()}},h=o("click2Flow/loadOc2smsAction",(function(o,n){var a=o.window,u=n.getState,c=n.rejectWithValue;return t(void 0,void 0,void 0,(function(){var t,o,n,l,d,v,p,y,h;return r(this,(function(r){switch(r.label){case 0:if(t=u(),!(null===(p=null===(v=null===(d=null==t?void 0:t.strategy)||void 0===d?void 0:d.currentState)||void 0===v?void 0:v.data)||void 0===p?void 0:p.config))return[2,c("UnexpectedState")];o=null===(h=null===(y=t.strategy.currentState)||void 0===y?void 0:y.data)||void 0===h?void 0:h.config,r.label=1;case 1:return r.trys.push([1,3,,4]),"keywordAndShortCode"===o.tag?[2,{type:"LOAD_OC2SMS",result:i(e({type:"SingleSubmissionResult"},o))}]:(s.customEvent("Flow","advance-auto","load-click2sms"),[4,f(a,o)]);case 2:return n=r.sent(),s.customEvent("Flow","advance-auto","loaded-click2sms",n),[2,{type:"LOAD_OC2SMS",result:i(n)}];case 3:return l=r.sent(),console.warn(l),s.customEvent("Flow","advance-auto","load-click2sms-failure",l.toString()),[2,c(l.toString())];case 4:return[2]}}))}))})),m=n({name:"click2smsFlow",initialState:y,reducers:{},extraReducers:function(t){t.addCase(h.pending,(function(t){t.currentState={type:"LOAD_OC2SMS",result:a()}})).addCase(h.fulfilled,(function(t,r){t.currentState=r.payload})).addCase(h.rejected,(function(t,r){t.currentState={type:"LOAD_OC2SMS",result:u(r.payload)}}))}}),S=m.reducer;m.actions;var w=function(t){return t((function(t){return t.click2smsFlow.currentState}))},g=function(t){var r,e=t((function(t){return t.click2smsFlow.currentState}));return null===(r=null==e?void 0:e.result)||void 0===r?void 0:r.data};function k(t){var r=t.load;return function(t){return t.type,r(t.result)}}export{k as click2smsFlowMatch,S as click2smsFlowReducer,h as loadOc2smsAction,w as useClick2smsFlowState,g as useKeyWordShortCode};
|
|
2
2
|
//# sourceMappingURL=click2smsFlow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"click2smsFlow.js","sources":["../src/flows/click2smsFlow/api.ts","../src/flows/click2smsFlow/main.ts","../src/flows/click2smsFlow/click2smsFlowSlice.ts","../src/flows/click2smsFlow/hooks/useClick2smsFlowState.ts","../src/flows/click2smsFlow/hooks/useKeyWordShortCode.ts","../src/flows/click2smsFlow/match.ts"],"sourcesContent":["import { IFetchResult } from '../../sharedFlowTypes/Click2smsTypes';\n\nconst oc2sms = async ({\n window,\n country,\n slug,\n offer,\n rockmanId,\n keyword,\n operator,\n search\n}: {\n window: Window;\n country: string;\n slug: string;\n offer: string;\n rockmanId: string;\n keyword: string;\n operator: string;\n search: string;\n}): Promise<IFetchResult> => {\n const params = new URLSearchParams({\n action: 'oc2sms',\n country,\n slug,\n offerId: offer.toString(),\n page: encodeURIComponent(window.location.href),\n device: 'smart',\n rockman_id: rockmanId,\n ...(keyword && { keyword }),\n ...(operator && { operator }),\n ...(search && { search })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}`;\n return fetch(url).then((x) => x.json());\n};\n\nexport { oc2sms };\n","import {\n IClick2smsConfig,\n IFetchResult,\n IKeywordShortcode,\n MultiOperatorSubmissionResult,\n SingleSubmissionResult\n} from '../../sharedFlowTypes/Click2smsTypes';\nimport { oc2sms } from './api';\n\nasync function loadOnce(\n window: Window,\n maybeConfig: IClick2smsConfig,\n operator?: string,\n keyword?: string,\n _shortcode?: string\n): Promise<SingleSubmissionResult> {\n if (!!maybeConfig && maybeConfig.tag === 'keywordAndShortCode') {\n const { keyword: keywordFromConfig, shortcode: shortcodeFromConfig } = maybeConfig;\n return {\n type: 'SingleSubmissionResult',\n ...({ keyword: keywordFromConfig, shortcode: shortcodeFromConfig } as IKeywordShortcode)\n };\n }\n const { offer } = window.pac_analytics.visitor;\n const config = { offer: window.pac_analytics.visitor.offer, ...maybeConfig };\n\n const { country, slug } = config;\n const { rockmanId } = window.pac_analytics.visitor;\n const search = window.location.search.substr(1) || '';\n\n const result: IFetchResult = await oc2sms({\n window,\n country,\n slug,\n offer,\n rockmanId,\n keyword,\n operator,\n search\n });\n if (!result.success) {\n throw result.message;\n } else {\n return {\n type: 'SingleSubmissionResult',\n ...{\n keyword: `${keyword || result.displayKeyword}${result.uid ? ` ${result.uid}` : ''}`,\n shortcode: result.shortcode\n }\n };\n }\n}\ntype Either<L, R> = { type: 'left'; value: L } | { type: 'right'; value: R };\nfunction right<L, R>(r: R) {\n return { type: 'right', value: r } as Either<L, R>;\n}\nfunction left<L, R>(l: L) {\n return { type: 'left', value: l } as Either<L, R>;\n}\n\nasync function loadForMultipleOperators(\n window: Window,\n maybeConfig: IClick2smsConfig,\n operators: string[],\n keyword?: string,\n shortcode?: string\n): Promise<MultiOperatorSubmissionResult> {\n const results = Promise.all(\n operators.map(async (o) => {\n try {\n const singleResult = await loadOnce(window, maybeConfig, o, keyword, shortcode);\n return right({ ...singleResult, operator: o });\n } catch (error) {\n return left(error);\n }\n })\n );\n\n const finalResults = await Promise.resolve(results);\n if (finalResults.every((r) => r.type === 'left')) {\n // no submission worked\n throw finalResults[0].value;\n } else {\n const arrResult: Array<IKeywordShortcode> = [];\n finalResults.map((obj) => {\n if (obj.type === 'right') {\n const r = obj.value as IKeywordShortcode;\n arrResult.push({ keyword: r?.keyword, shortcode: r?.shortcode, operator: r?.operator });\n }\n return obj;\n });\n\n return {\n type: 'MultiOperatorSubmissionResult',\n data: arrResult\n };\n }\n}\n\nexport const load = async (\n window: Window,\n maybeConfig: IClick2smsConfig,\n keyword?: string,\n shortcode?: string\n): Promise<SingleSubmissionResult | MultiOperatorSubmissionResult> => {\n if (!!maybeConfig && maybeConfig.tag === 'keywordAndShortCode') {\n return {\n type: 'SingleSubmissionResult',\n ...({ keyword: maybeConfig.keyword, shortcode: maybeConfig.shortcode } as IKeywordShortcode)\n };\n }\n if (!!maybeConfig && maybeConfig.tag === 'keyword') {\n return load1(window, maybeConfig, keyword, shortcode);\n }\n return load1(window, maybeConfig, null, null);\n};\n\nexport async function load1(\n window: Window,\n maybeConfig: IClick2smsConfig,\n keyword?: string,\n shortcode?: string\n): Promise<SingleSubmissionResult | MultiOperatorSubmissionResult> {\n const config = { offer: window.pac_analytics.visitor.offer, ...maybeConfig };\n\n if (config.automaticallySubmitAllOperators === true && !!config.operators && config.operators.length > 0) {\n return loadForMultipleOperators(window, maybeConfig, config.operators, keyword, shortcode);\n }\n const singleOperator = maybeConfig.operators && maybeConfig.operators.length > 0 ? maybeConfig.operators[0] : null;\n return loadOnce(window, maybeConfig, singleOperator, keyword, shortcode);\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { Click2smsFlowState, IClick2smsConfig, LOAD_OC2SMSState } from '../../sharedFlowTypes/Click2smsTypes';\nimport { IHash, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { tracker } from '../../utilities/tracker';\nimport { load } from './main';\n\nconst initialState: Click2smsFlowState = {\n currentState: {\n type: 'LOAD_OC2SMS',\n result: RDS.NothingYet()\n }\n};\n\ninterface LOAD_OC2SMSArgs {\n window: Window;\n extraParams?: IHash;\n}\n/**\n * loadOc2smsAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls oc2sms api that returns a keyword and short code\n *\n */\nexport const loadOc2smsAction = createAsyncThunk<\n LOAD_OC2SMSState,\n LOAD_OC2SMSArgs,\n {\n rejectValue: string;\n }\n // @ts-ignore\n>('click2Flow/loadOc2smsAction', async ({ window }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue('UnexpectedState');\n }\n const maybeConfig = (state.strategy.currentState?.data?.config as any) as IClick2smsConfig;\n\n try {\n if (maybeConfig.tag === 'keywordAndShortCode') {\n return {\n type: 'LOAD_OC2SMS',\n result: RDS.Success({\n type: 'SingleSubmissionResult',\n ...maybeConfig\n })\n };\n }\n // if ((!!maybeConfig && maybeConfig.tag !== 'keyword') || !maybeConfig) {\n\n // Start Load Click 2sms\n tracker.advancedInFlow('tallyman.v1-click2sms', 'load-click2sms');\n const result = await load(window, maybeConfig);\n tracker.advancedInFlow('tallyman.v1-click2sms', 'loaded-click2sms', result);\n // End Load Click 2sms\n return {\n type: 'LOAD_OC2SMS',\n result: RDS.Success(result)\n };\n } catch (ex) {\n console.warn(ex);\n tracker.recedeInFlow('tallyman.v1-click2sms', 'load-click2sms-failure', ex.toString());\n return rejectWithValue(ex.toString() as string);\n }\n});\n\nconst click2smsFlowSlice = createSlice({\n name: 'click2smsFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(loadOc2smsAction.pending, (state) => {\n state.currentState = { type: 'LOAD_OC2SMS', result: RDS.Loading() };\n })\n .addCase(loadOc2smsAction.fulfilled, (state, action: PayloadAction<LOAD_OC2SMSState>) => {\n state.currentState = action.payload;\n })\n .addCase(loadOc2smsAction.rejected, (state, action: PayloadAction<any>) => {\n state.currentState = {\n type: 'LOAD_OC2SMS',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: click2smsFlowReducer, actions: click2smsFlowActions } = click2smsFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectClick2smsRedirFlowState = (state: any) => state.click2smsFlow;\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useClick2smsFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.click2smsFlow.currentState);\n return currentState;\n};\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { IWithMultiKeywordShortcode } from '../../../sharedFlowTypes/Click2smsTypes';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useKeyWordShortCode = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.click2smsFlow.currentState);\n // @ts-ignore\n const data: IWithMultiKeywordShortcode = currentState?.result?.data;\n return data;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { Click2smsFlowCurrentState, IWithMultiKeywordShortcode } from '../../sharedFlowTypes/Click2smsTypes';\n\nfunction click2smsFlowMatch<R>({\n load\n}: {\n load: (rds: RDS.RemoteDataState<string, IWithMultiKeywordShortcode>) => R;\n}): (state: Click2smsFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'LOAD_OC2SMS':\n return load(state.result);\n default:\n // TODO - this should be an error or something\n return load(state.result);\n }\n };\n}\n\nexport { click2smsFlowMatch };\n"],"names":["oc2sms","_a","window","country","slug","offer","rockmanId","keyword","operator","search","params","URLSearchParams","__assign","action","offerId","toString","page","encodeURIComponent","location","href","device","rockman_id","host","DEV_BASE_URL","url","concat","fetch","then","x","json","loadOnce","maybeConfig","_shortcode","tag","keywordFromConfig","shortcodeFromConfig","type","shortcode","pac_analytics","visitor","config","substr","result","sent","success","displayKeyword","uid","message","loadForMultipleOperators","operators","results","Promise","all","map","o","__awaiter","_this","singleResult","r","value","l","error_1","resolve","finalResults","every","arrResult_1","obj","push","data","load","load1","automaticallySubmitAllOperators","length","singleOperator","initialState","currentState","RDS.NothingYet","loadOc2smsAction","createAsyncThunk","_b","getState","rejectWithValue","state","_e","_c","strategy","_d","_g","_f","RDS.Success","tracker","advancedInFlow","_h","console","warn","ex_1","recedeInFlow","click2smsFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","RDS.Failure","click2smsFlowReducer","reducer","actions","useClick2smsFlowState","useSelector","click2smsFlow","useKeyWordShortCode","click2smsFlowMatch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"click2smsFlow.js","sources":["../src/flows/click2smsFlow/api.ts","../src/flows/click2smsFlow/main.ts","../src/flows/click2smsFlow/click2smsFlowSlice.ts","../src/flows/click2smsFlow/hooks/useClick2smsFlowState.ts","../src/flows/click2smsFlow/hooks/useKeyWordShortCode.ts","../src/flows/click2smsFlow/match.ts"],"sourcesContent":["import { IFetchResult } from '../../sharedFlowTypes/Click2smsTypes';\n\nconst oc2sms = async ({\n window,\n country,\n slug,\n offer,\n rockmanId,\n keyword,\n operator,\n search\n}: {\n window: Window;\n country: string;\n slug: string;\n offer: string;\n rockmanId: string;\n keyword: string;\n operator: string;\n search: string;\n}): Promise<IFetchResult> => {\n const params = new URLSearchParams({\n action: 'oc2sms',\n country,\n slug,\n offerId: offer.toString(),\n page: encodeURIComponent(window.location.href),\n device: 'smart',\n rockman_id: rockmanId,\n ...(keyword && { keyword }),\n ...(operator && { operator }),\n ...(search && { search })\n }).toString();\n\n const host = window.DEV_BASE_URL || '';\n const url = `${host}/tallyman/v1/?${params}`;\n return fetch(url).then((x) => x.json());\n};\n\nexport { oc2sms };\n","import {\n IClick2smsConfig,\n IFetchResult,\n IKeywordShortcode,\n MultiOperatorSubmissionResult,\n SingleSubmissionResult\n} from '../../sharedFlowTypes/Click2smsTypes';\nimport { oc2sms } from './api';\n\nasync function loadOnce(\n window: Window,\n maybeConfig: IClick2smsConfig,\n operator?: string,\n keyword?: string,\n _shortcode?: string\n): Promise<SingleSubmissionResult> {\n if (!!maybeConfig && maybeConfig.tag === 'keywordAndShortCode') {\n const { keyword: keywordFromConfig, shortcode: shortcodeFromConfig } = maybeConfig;\n return {\n type: 'SingleSubmissionResult',\n ...({ keyword: keywordFromConfig, shortcode: shortcodeFromConfig } as IKeywordShortcode)\n };\n }\n const { offer } = window.pac_analytics.visitor;\n const config = { offer: window.pac_analytics.visitor.offer, ...maybeConfig };\n\n const { country, slug } = config;\n const { rockmanId } = window.pac_analytics.visitor;\n const search = window.location.search.substr(1) || '';\n\n const result: IFetchResult = await oc2sms({\n window,\n country,\n slug,\n offer,\n rockmanId,\n keyword,\n operator,\n search\n });\n if (!result.success) {\n throw result.message;\n } else {\n return {\n type: 'SingleSubmissionResult',\n ...{\n keyword: `${keyword || result.displayKeyword}${result.uid ? ` ${result.uid}` : ''}`,\n shortcode: result.shortcode\n }\n };\n }\n}\ntype Either<L, R> = { type: 'left'; value: L } | { type: 'right'; value: R };\nfunction right<L, R>(r: R) {\n return { type: 'right', value: r } as Either<L, R>;\n}\nfunction left<L, R>(l: L) {\n return { type: 'left', value: l } as Either<L, R>;\n}\n\nasync function loadForMultipleOperators(\n window: Window,\n maybeConfig: IClick2smsConfig,\n operators: string[],\n keyword?: string,\n shortcode?: string\n): Promise<MultiOperatorSubmissionResult> {\n const results = Promise.all(\n operators.map(async (o) => {\n try {\n const singleResult = await loadOnce(window, maybeConfig, o, keyword, shortcode);\n return right({ ...singleResult, operator: o });\n } catch (error) {\n return left(error);\n }\n })\n );\n\n const finalResults = await Promise.resolve(results);\n if (finalResults.every((r) => r.type === 'left')) {\n // no submission worked\n throw finalResults[0].value;\n } else {\n const arrResult: Array<IKeywordShortcode> = [];\n finalResults.map((obj) => {\n if (obj.type === 'right') {\n const r = obj.value as IKeywordShortcode;\n arrResult.push({ keyword: r?.keyword, shortcode: r?.shortcode, operator: r?.operator });\n }\n return obj;\n });\n\n return {\n type: 'MultiOperatorSubmissionResult',\n data: arrResult\n };\n }\n}\n\nexport const load = async (\n window: Window,\n maybeConfig: IClick2smsConfig,\n keyword?: string,\n shortcode?: string\n): Promise<SingleSubmissionResult | MultiOperatorSubmissionResult> => {\n if (!!maybeConfig && maybeConfig.tag === 'keywordAndShortCode') {\n return {\n type: 'SingleSubmissionResult',\n ...({ keyword: maybeConfig.keyword, shortcode: maybeConfig.shortcode } as IKeywordShortcode)\n };\n }\n if (!!maybeConfig && maybeConfig.tag === 'keyword') {\n return load1(window, maybeConfig, keyword, shortcode);\n }\n return load1(window, maybeConfig, null, null);\n};\n\nexport async function load1(\n window: Window,\n maybeConfig: IClick2smsConfig,\n keyword?: string,\n shortcode?: string\n): Promise<SingleSubmissionResult | MultiOperatorSubmissionResult> {\n const config = { offer: window.pac_analytics.visitor.offer, ...maybeConfig };\n\n if (config.automaticallySubmitAllOperators === true && !!config.operators && config.operators.length > 0) {\n return loadForMultipleOperators(window, maybeConfig, config.operators, keyword, shortcode);\n }\n const singleOperator = maybeConfig.operators && maybeConfig.operators.length > 0 ? maybeConfig.operators[0] : null;\n return loadOnce(window, maybeConfig, singleOperator, keyword, shortcode);\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\nimport * as RDS from '../../common-types/RemoteDataState';\nimport { Click2smsFlowState, IClick2smsConfig, LOAD_OC2SMSState } from '../../sharedFlowTypes/Click2smsTypes';\nimport { IHash, RootState } from '../../sharedFlowTypes/StrategyTypes';\nimport { tracker } from '../../utilities/tracker';\nimport { load } from './main';\n\nconst initialState: Click2smsFlowState = {\n currentState: {\n type: 'LOAD_OC2SMS',\n result: RDS.NothingYet()\n }\n};\n\ninterface LOAD_OC2SMSArgs {\n window: Window;\n extraParams?: IHash;\n}\n/**\n * loadOc2smsAction\n * @returns {type: ' 'pinFlow/submitMSISDNAction', payload: {type: PossibleTypes, result: MSISDNEntryState}}\n \n * Calls oc2sms api that returns a keyword and short code\n *\n */\nexport const loadOc2smsAction = createAsyncThunk<\n LOAD_OC2SMSState,\n LOAD_OC2SMSArgs,\n {\n rejectValue: string;\n }\n // @ts-ignore\n>('click2Flow/loadOc2smsAction', async ({ window }, { getState, rejectWithValue }) => {\n const state: RootState = getState();\n if (!state?.strategy?.currentState?.data?.config) {\n return rejectWithValue('UnexpectedState');\n }\n const maybeConfig = (state.strategy.currentState?.data?.config as any) as IClick2smsConfig;\n\n try {\n if (maybeConfig.tag === 'keywordAndShortCode') {\n return {\n type: 'LOAD_OC2SMS',\n result: RDS.Success({\n type: 'SingleSubmissionResult',\n ...maybeConfig\n })\n };\n }\n // if ((!!maybeConfig && maybeConfig.tag !== 'keyword') || !maybeConfig) {\n\n // Start Load Click 2sms\n tracker.customEvent('Flow', 'advance-auto', 'load-click2sms');\n const result = await load(window, maybeConfig);\n tracker.customEvent('Flow', 'advance-auto', 'loaded-click2sms', result);\n // End Load Click 2sms\n return {\n type: 'LOAD_OC2SMS',\n result: RDS.Success(result)\n };\n } catch (ex) {\n console.warn(ex);\n tracker.customEvent('Flow', 'advance-auto', 'load-click2sms-failure', ex.toString());\n\n return rejectWithValue(ex.toString() as string);\n }\n});\n\nconst click2smsFlowSlice = createSlice({\n name: 'click2smsFlow',\n initialState,\n reducers: {},\n extraReducers: (builder) => {\n builder\n .addCase(loadOc2smsAction.pending, (state) => {\n state.currentState = { type: 'LOAD_OC2SMS', result: RDS.Loading() };\n })\n .addCase(loadOc2smsAction.fulfilled, (state, action: PayloadAction<LOAD_OC2SMSState>) => {\n state.currentState = action.payload;\n })\n .addCase(loadOc2smsAction.rejected, (state, action: PayloadAction<any>) => {\n state.currentState = {\n type: 'LOAD_OC2SMS',\n result: RDS.Failure(action.payload)\n };\n });\n }\n});\n\n// Export reducers and actions\nexport const { reducer: click2smsFlowReducer, actions: click2smsFlowActions } = click2smsFlowSlice;\n\n// If you have selectors or thunks related to this slice, export them as named exports as well\nexport const selectClick2smsRedirFlowState = (state: any) => state.click2smsFlow;\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useClick2smsFlowState = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.click2smsFlow.currentState);\n return currentState;\n};\n","import { useSelector as IuseSelector } from 'react-redux';\nimport { IWithMultiKeywordShortcode } from '../../../sharedFlowTypes/Click2smsTypes';\nimport { RootState } from '../../../sharedFlowTypes/StrategyTypes';\n\nexport const useKeyWordShortCode = (useSelector: typeof IuseSelector) => {\n const currentState = useSelector((state: RootState) => state.click2smsFlow.currentState);\n // @ts-ignore\n const data: IWithMultiKeywordShortcode = currentState?.result?.data;\n return data;\n};\n","import * as RDS from '../../common-types/RemoteDataState';\nimport { Click2smsFlowCurrentState, IWithMultiKeywordShortcode } from '../../sharedFlowTypes/Click2smsTypes';\n\nfunction click2smsFlowMatch<R>({\n load\n}: {\n load: (rds: RDS.RemoteDataState<string, IWithMultiKeywordShortcode>) => R;\n}): (state: Click2smsFlowCurrentState) => R {\n return (state) => {\n switch (state.type) {\n case 'LOAD_OC2SMS':\n return load(state.result);\n default:\n // TODO - this should be an error or something\n return load(state.result);\n }\n };\n}\n\nexport { click2smsFlowMatch };\n"],"names":["oc2sms","_a","window","country","slug","offer","rockmanId","keyword","operator","search","params","URLSearchParams","__assign","action","offerId","toString","page","encodeURIComponent","location","href","device","rockman_id","host","DEV_BASE_URL","url","concat","fetch","then","x","json","loadOnce","maybeConfig","_shortcode","tag","keywordFromConfig","shortcodeFromConfig","type","shortcode","pac_analytics","visitor","config","substr","result","sent","success","displayKeyword","uid","message","loadForMultipleOperators","operators","results","Promise","all","map","o","__awaiter","_this","singleResult","r","value","l","error_1","resolve","finalResults","every","arrResult_1","obj","push","data","load","load1","automaticallySubmitAllOperators","length","singleOperator","initialState","currentState","RDS.NothingYet","loadOc2smsAction","createAsyncThunk","_b","getState","rejectWithValue","state","_e","_c","strategy","_d","_g","_f","RDS.Success","tracker","customEvent","_h","console","warn","ex_1","click2smsFlowSlice","createSlice","name","reducers","extraReducers","builder","addCase","pending","RDS.Loading","fulfilled","payload","rejected","RDS.Failure","click2smsFlowReducer","reducer","actions","useClick2smsFlowState","useSelector","click2smsFlow","useKeyWordShortCode","click2smsFlowMatch"],"mappings":"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"}
|