{"version":3,"file":"static/chunks/32809.83407be20984f4e6.js","sources":["webpack://_N_E/./src/LegacyApp/methods/store/setUserReducer.ts","webpack://_N_E/./src/modules/sports/store/sportsBetSlip/sportsBetSlip.reducer.ts"],"sourceRoot":"","sourcesContent":["import Redux from 'redux';\nimport { LocalStorageKeysType } from '@modules/localStorage/types/localStorageKeys.type';\nimport { RESET_USER_DATA } from '../../client/store/user/user.constants';\nimport { setReducer } from './setReducer';\n\nexport type SetUserReducerType<T> = (\n\tinit: T,\n\tset:\n\t\t| string\n\t\t| {\n\t\t\t\taction: string;\n\t\t\t\tcallback: (data: T) => T;\n\t\t },\n\tcookieKey?: `localstorage-${LocalStorageKeysType}`,\n\tstateCallback?: (state: T, action: Redux.AnyAction) => T,\n) => Redux.Reducer;\n\nexport const setUserReducer: SetUserReducerType<unknown> = (\n\tinit,\n\tset,\n\tcookieKey,\n\tstateCallback,\n) => {\n\treturn setReducer(init, set, cookieKey, RESET_USER_DATA, stateCallback);\n};\n","import Redux, { combineReducers } from 'redux';\nimport { RESET_USER_DATA } from '@legacyApp/client/store/user/user.constants';\nimport { setUserReducer } from '@legacyApp/methods/store/setUserReducer';\nimport { lsSet } from '@modules/localStorage/methods/lsSet';\nimport { lsClear } from '@modules/localStorage/methods/lsClear';\nimport { LocalStorageKeys } from '@modules/localStorage/types/localStorageKeys.type';\nimport sortService, {\n\tDIRECTION,\n} from '../../../../LegacyApp/client/modules/app/sortService';\nimport { BETSLIP_ACCEPT_TYPES, BETSLIP_TYPES } from '../../constants/betSlip';\nimport { BetSlipAcceptTypeType } from '../../types/BetSlip/BetSlipAcceptTypeType';\nimport { BetSlipTypesType } from '../../types/BetSlip/BetSlipTypesType';\nimport { BetSlipMatchDataType } from '../../types/BetSlip/BetSlipDataReducerType';\nimport { BetSlipBet, BetSlipErrorType } from '../../types/BetSlip/BetSlipBet';\nimport {\n\tSPORTS_BET_SLIP_SET_ACCEPT_TYPE,\n\tSPORTS_BET_SLIP_SET_BETS,\n\tSPORTS_BET_SLIP_SET_BETS_LIST,\n\tSPORTS_BET_SLIP_SET_FORM_ERROR,\n\tSPORTS_BET_SLIP_SET_PLACED_BET,\n\tSPORTS_BET_SLIP_SET_PLACING_BET,\n\tSPORTS_BET_SLIP_SET_TYPE,\n\tSPORTS_BET_SLIP_UPDATE_BETS_LIST_ELEMENT,\n} from './sportsBetSlip.constants';\n\nconst betsReducer = setUserReducer(\n\t{} as Record<string, BetSlipMatchDataType>,\n\tSPORTS_BET_SLIP_SET_BETS,\n\t`localstorage-${LocalStorageKeys.SPORTS_BET_SLIP_BETS_DATA}`,\n);\n\nconst betsListReducer = setUserReducer(\n\t[] as BetSlipBet[],\n\t{\n\t\taction: SPORTS_BET_SLIP_SET_BETS_LIST,\n\t\tcallback: (data: BetSlipBet[]) => {\n\t\t\tif (!data?.length) {\n\t\t\t\tlsClear(LocalStorageKeys.SPORTS_BETSLIP_MULTI_STAKE);\n\t\t\t}\n\t\t\treturn data.sort((a, b) =>\n\t\t\t\tsortService.sort(\n\t\t\t\t\tDIRECTION.DESC,\n\t\t\t\t\ta.placed_at,\n\t\t\t\t\tb.placed_at,\n\t\t\t\t\ta.selected_at,\n\t\t\t\t\tb.selected_at,\n\t\t\t\t),\n\t\t\t);\n\t\t},\n\t},\n\t`localstorage-${LocalStorageKeys.SPORTS_BET_SLIP_LIST}`,\n\t(state: BetSlipBet[], action) => {\n\t\tif (action.type === SPORTS_BET_SLIP_UPDATE_BETS_LIST_ELEMENT) {\n\t\t\tconst index = state.findIndex(\n\t\t\t\t(el) => el.outcomeId === action.payload.outcomeId,\n\t\t\t);\n\t\t\tif (index > -1 && !state[index].placed_at) {\n\t\t\t\tconst newState = [...state];\n\t\t\t\tnewState[index] = {\n\t\t\t\t\t...newState[index],\n\t\t\t\t\t...action.payload,\n\t\t\t\t\terror: {\n\t\t\t\t\t\t...(newState[index]?.error || {}),\n\t\t\t\t\t\t...(action.payload?.error || {}),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tlsSet(LocalStorageKeys.SPORTS_BET_SLIP_LIST, newState);\n\t\t\t\treturn newState;\n\t\t\t}\n\t\t}\n\t\treturn state;\n\t},\n);\n\nconst typeReducer = setUserReducer(\n\tBETSLIP_TYPES[0],\n\t{\n\t\taction: SPORTS_BET_SLIP_SET_TYPE,\n\t\tcallback: (payload) => {\n\t\t\treturn BETSLIP_TYPES.find((type) => type.id === payload);\n\t\t},\n\t},\n\t`localstorage-${LocalStorageKeys.SPORTS_BET_SLIP_TYPE}`,\n);\n\nconst errorReducer = setUserReducer(\n\t{\n\t\ttype: null,\n\t\tmessage: null,\n\t},\n\tSPORTS_BET_SLIP_SET_FORM_ERROR,\n);\n\nconst acceptTypeReducer = setUserReducer(\n\tBETSLIP_ACCEPT_TYPES[0],\n\tSPORTS_BET_SLIP_SET_ACCEPT_TYPE,\n);\n\nconst placingBetReducer = (state = 0, action: Redux.AnyAction) => {\n\tswitch (action.type) {\n\t\tcase SPORTS_BET_SLIP_SET_PLACING_BET: {\n\t\t\treturn action.payload;\n\t\t}\n\t\tcase SPORTS_BET_SLIP_SET_PLACED_BET:\n\t\t\treturn state - 1;\n\t\tcase RESET_USER_DATA: {\n\t\t\treturn 0;\n\t\t}\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nexport interface SportsBetSlipErrorType {\n\ttype: 'error' | 'success';\n\tmessage: BetSlipErrorType;\n}\n\nexport interface SportsBetSlipReducerType {\n\tbets: Record<string, BetSlipMatchDataType>;\n\tbetsList: BetSlipBet[];\n\ttype: BetSlipTypesType;\n\tacceptType: BetSlipAcceptTypeType;\n\tplacingBet: number;\n\terror: SportsBetSlipErrorType;\n}\n\nconst sportsBetSlipReducer = combineReducers({\n\tbets: betsReducer,\n\tbetsList: betsListReducer,\n\ttype: typeReducer,\n\tacceptType: acceptTypeReducer,\n\tplacingBet: placingBetReducer,\n\terror: errorReducer,\n});\n\nexport default sportsBetSlipReducer;\n"],"names":["setUserReducer","init","set","cookieKey","stateCallback","setReducer","RESET_USER_DATA","betsReducer","SPORTS_BET_SLIP_SET_BETS","LocalStorageKeys","betsListReducer","action","SPORTS_BET_SLIP_SET_BETS_LIST","callback","data","length","lsClear","sort","a","b","sortService","DIRECTION","placed_at","selected_at","state","type","SPORTS_BET_SLIP_UPDATE_BETS_LIST_ELEMENT","index","findIndex","el","outcomeId","payload","newState","error","lsSet","typeReducer","BETSLIP_TYPES","SPORTS_BET_SLIP_SET_TYPE","id","errorReducer","message","SPORTS_BET_SLIP_SET_FORM_ERROR","acceptTypeReducer","BETSLIP_ACCEPT_TYPES","SPORTS_BET_SLIP_SET_ACCEPT_TYPE","sportsBetSlipReducer","combineReducers","bets","betsList","acceptType","placingBet","SPORTS_BET_SLIP_SET_PLACING_BET","SPORTS_BET_SLIP_SET_PLACED_BET"],"mappings":";;8LAiBaA,EAA8C,SAC1DC,EACAC,EACAC,EACAC,GAEA,OAAOC,EAAAA,EAAAA,GAAWJ,EAAMC,EAAKC,EAAWG,EAAAA,GAAiBF,I,uoBCE1D,IAAMG,EAAcP,EACnB,GACAQ,EAAAA,GAFiC,uBAGjBC,EAAAA,GAAAA,4BAGXC,EAAkBV,EACvB,GACA,CACCW,OAAQC,EAAAA,GACRC,SAAU,SAACC,GAIV,OAHI,OAACA,QAAD,IAACA,GAAAA,EAAMC,SACVC,EAAAA,EAAAA,GAAQP,EAAAA,GAAAA,4BAEFK,EAAKG,MAAK,SAACC,EAAGC,GAAJ,OAChBC,EAAAA,EAAAA,KACCC,EAAAA,EAAAA,KACAH,EAAEI,UACFH,EAAEG,UACFJ,EAAEK,YACFJ,EAAEI,kBAd+B,uBAmBrBd,EAAAA,GAAAA,uBAChB,SAACe,EAAqBb,GACrB,GAAIA,EAAOc,OAASC,EAAAA,GAA0C,CAC7D,IAAMC,EAAQH,EAAMI,WACnB,SAACC,GAAD,OAAQA,EAAGC,YAAcnB,EAAOoB,QAAQD,aAEzC,GAAIH,GAAS,IAAMH,EAAMG,GAAOL,UAAW,SACpCU,GAAW,OAAIR,GAUrB,OATAQ,EAASL,GAAT,SACIK,EAASL,IACThB,EAAOoB,SAFX,IAGCE,MAAO,EAAF,MACA,UAAAD,EAASL,UAAT,eAAiBM,QAAS,KAC1B,UAAAtB,EAAOoB,eAAP,eAAgBE,QAAS,OAG/BC,EAAAA,EAAAA,GAAMzB,EAAAA,GAAAA,qBAAuCuB,GACtCA,GAGT,OAAOR,KAIHW,EAAcnC,EACnBoC,EAAAA,GAAAA,GACA,CACCzB,OAAQ0B,EAAAA,GACRxB,SAAU,SAACkB,GACV,OAAOK,EAAAA,GAAAA,MAAmB,SAACX,GAAD,OAAUA,EAAKa,KAAOP,OALjB,uBAQjBtB,EAAAA,GAAAA,uBAGX8B,EAAevC,EACpB,CACCyB,KAAM,KACNe,QAAS,MAEVC,EAAAA,IAGKC,EAAoB1C,EACzB2C,EAAAA,GAAAA,GACAC,EAAAA,IAgCKC,GAAuBC,EAAAA,EAAAA,IAAgB,CAC5CC,KAAMxC,EACNyC,SAAUtC,EACVe,KAAMU,EACNc,WAAYP,EACZQ,WAlCyB,WAAwC,IAAvC1B,EAAuC,uDAA/B,EAAGb,EAA4B,uCACjE,OAAQA,EAAOc,MACd,KAAK0B,EAAAA,GACJ,OAAOxC,EAAOoB,QAEf,KAAKqB,EAAAA,GACJ,OAAO5B,EAAQ,EAChB,KAAKlB,EAAAA,GACJ,OAAO,EAER,QACC,OAAOkB,IAwBTS,MAAOM,IAGR","debug_id":"f4ce5e20-7def-5790-8669-1aac8788d257"}