PageSourceSearch

https://managebooking.stenaline.no/assets/PartyCompositionSlice-B-xKU5oo.js

js stenaline.no collected 2026-10-02 12:51:08 UTC 8,335 bytes, 1 lines download raw bytes

1import{a as e}from"./redux-toolkit.modern-qkWsX7T8.js";var t=e=>!e.isEfpProduct&&(e.presentRoundtripDeparture||e.category===`CRUISE`||e.category===`DAY_TRIP`),n=e=>{let n=e.length;if(n===1)return`ONE_WAY`;if(n>2)return`MULTILEG`;if(n===2){let[n,r]=e;return t(n)&&t(r)?`ROUNDTRIP`:`TWO_WAY`}return`ONE_WAY`},r=e=>{switch(e){case`ONE_WAY`:return`ONE_WAY`;case`TWO_WAY`:return`TWO_WAY_DIFFERENT_PRODUCTS`;case`MULTILEG`:return`MORE_THAN_TWO_DEPARTURES`;case`ROUNDTRIP`:return`ROUNDTRIP_SAME_PRODUCTS`}},i=e=>{switch(e){case`CRUISE`:return`CRUISE`;case`DAY_TRIP`:return`DAY_TRIP`;default:return`OTHER`}},a=e=>e.reduce((e,t)=>{let n=e.find(e=>e.vehicleTypeCode===t.typeCode);return n?n.quantity++:e.push({vehicleTypeCode:t.typeCode,quantity:1}),e},[]),o=e=>e.reduce((e,t)=>{let n=e.find(e=>e.trailerTypeCode===t.typeCode);return n?n.quantity++:e.push({trailerTypeCode:t.typeCode,quantity:1}),e},[]),s=(e,t)=>[...new Set([...Object.keys(e),...Object.keys(t)])].every(n=>(e[n]??0)===(t[n]??0)),c=e=>e.every(t=>s(t.passengerQuantityPerPassengerType,e[0].passengerQuantityPerPassengerType)),l=e=>{if(e.length<=1)return!0;let t=new Set(e[0].passengers.map(e=>e.passengerId));return e.every(e=>e.passengers.length===t.size&&e.passengers.every(e=>t.has(e.passengerId)))},u=(e,t,n)=>e&&t!=null&&l(Object.values(n)),d=(e,t,n,r)=>n[(e&&t?t:void 0)??r],f=(e,t,n,r,i)=>d(e,t,n,r)?.passengerQuantityPerPassengerType[i]??0,p=e=>Object.values(e?.passengerQuantityPerPassengerType??{}).reduce((e,t)=>e+t,0),m=(e,t)=>Math.max(0,e-t),h=e=>e.every(t=>t.wheelchairQuantity===e[0].wheelchairQuantity),g=e=>e.every(t=>s(t.vehicleQuantityPerVehicleType,e[0].vehicleQuantityPerVehicleType)),_=e=>e.every(t=>t.petQuantity===e[0].petQuantity),v=e=>{let t={},n={};for(let[r,i]of Object.entries(e.byDeparture)){let e=Object.entries(i.vehicleQuantityPerVehicleType).find(([,e])=>e>0)?.[0];e&&(t[r]=e);for(let e of Object.values(i.trailersQuantityPerVehicleType)){let t=Object.entries(e).find(([,e])=>e>0)?.[0];if(t){n[r]=t;break}}}return{selectedVehicleTypeIdPerDeparture:t,selectedTrailerTypeIdPerDeparture:n}},y=(e,t=!1)=>{let n=Object.entries(e.byDeparture),r=n[0]?.[0],i={selectPassengersSameOnAllDepartures:!1,selectPassengersSameOnAllDeparturesTargetDepartureId:void 0,selectVehiclesSameOnAllDepartures:!1,selectVehiclesSameOnAllDeparturesTargetDepartureId:void 0,selectPetsSameOnAllDepartures:!1,selectPetsSameOnAllDeparturesTargetDepartureId:void 0};if(n.length<=1)return i;let a=n.map(([,e])=>e);return{selectPassengersSameOnAllDepartures:c(a)&&h(a)&&!t,selectPassengersSameOnAllDeparturesTargetDepartureId:r,selectVehiclesSameOnAllDepartures:g(a),selectVehiclesSameOnAllDeparturesTargetDepartureId:r,selectPetsSameOnAllDepartures:_(a),selectPetsSameOnAllDeparturesTargetDepartureId:r}},b={userSelection:{byDeparture:{}},initialSelection:{byDeparture:{}},selectedVehicleTypeIdPerDeparture:{},selectedTrailerTypeIdPerDeparture:{},selectPassengersSameOnAllDepartures:!1,selectPassengersSameOnAllDeparturesTargetDepartureId:void 0,selectVehiclesSameOnAllDepartures:!1,selectVehiclesSameOnAllDeparturesTargetDepartureId:void 0,selectPetsSameOnAllDepartures:!1,selectPetsSameOnAllDeparturesTargetDepartureId:void 0},x=()=>({petQuantity:0,wheelchairQuantity:0,passengerQuantityPerPassengerType:{},deletePerPassengerId:{},vehicleQuantityPerVehicleType:{},deletePerVehicleId:{},trailersQuantityPerVehicleType:{},deletePerTrailerId:{},passengers:[],vehicles:[],trailers:[]}),S=e({name:`partyComposition`,initialState:b,reducers:{clear:()=>b,loadInitialPartyComposition:(e,t)=>{e.initialSelection=t.payload},loadUserPartyComposition:(e,t)=>{e.userSelection=t.payload,Object.assign(e,v(e.userSelection)),Object.assign(e,y(e.userSelection))},setActiveVehicleTypeId:(e,t)=>{let{departureId:n,vehicleTypeId:r}=t.payload;if(r===void 0){delete e.selectedVehicleTypeIdPerDeparture[n];return}e.selectedVehicleTypeIdPerDeparture[n]=r,e.userSelection.byDeparture[n]??(e.userSelection.byDeparture[n]=x());let i=e.userSelection.byDeparture[n],a=i.vehicleQuantityPerVehicleType[r];(a==null||a<1)&&(i.vehicleQuantityPerVehicleType[r]=1)},clearVehicleSelection:(e,t)=>{let{departureId:n}=t.payload,r=e.userSelection.byDeparture[n];r&&(r.vehicleQuantityPerVehicleType={},r.trailersQuantityPerVehicleType={}),delete e.selectedVehicleTypeIdPerDeparture[n],delete e.selectedTrailerTypeIdPerDeparture[n]}
1,setActiveTrailerTypeId:(e,t)=>{let{departureId:n,vehicleTypeId:r,trailerTypeId:i}=t.payload;if(i===void 0){delete e.selectedTrailerTypeIdPerDeparture[n];return}e.selectedTrailerTypeIdPerDeparture[n]=i,e.userSelection.byDeparture[n]??(e.userSelection.byDeparture[n]=x());let a=e.userSelection.byDeparture[n];a.trailersQuantityPerVehicleType[r]??(a.trailersQuantityPerVehicleType[r]={});let o=a.trailersQuantityPerVehicleType[r][i];(o==null||o<1)&&(a.trailersQuantityPerVehicleType[r][i]=1)},clearTrailerSelection:(e,t)=>{let{departureId:n,vehicleTypeId:r}=t.payload,i=e.userSelection.byDeparture[n];i&&(i.trailersQuantityPerVehicleType[r]={}),delete e.selectedTrailerTypeIdPerDeparture[n]},setNumSelectedPassengers:(e,t)=>{e.userSelection.byDeparture[t.payload.departureId]??(e.userSelection.byDeparture[t.payload.departureId]=x()),e.userSelection.byDeparture[t.payload.departureId].passengerQuantityPerPassengerType[t.payload.passengerTypeId]=t.payload.quantity},toggleSelectPassengersPerDeparture:e=>{e.selectPassengersSameOnAllDepartures=!e.selectPassengersSameOnAllDepartures},toggleSelectVehiclesPerDeparture:e=>{e.selectVehiclesSameOnAllDepartures=!e.selectVehiclesSameOnAllDepartures},toggleSelectPetsPerDeparture:e=>{e.selectPetsSameOnAllDepartures=!e.selectPetsSameOnAllDepartures},forceSelectPerDeparture:e=>{e.selectPassengersSameOnAllDepartures=!1,e.selectPassengersSameOnAllDeparturesTargetDepartureId=void 0,e.selectVehiclesSameOnAllDepartures=!1,e.selectVehiclesSameOnAllDeparturesTargetDepartureId=void 0,e.selectPetsSameOnAllDepartures=!1,e.selectPetsSameOnAllDeparturesTargetDepartureId=void 0},setNumSelectedVehicles:(e,t)=>{let{vehicleTypeId:n,departureId:r,quantity:i}=t.payload;!n||i<0||!r||(e.userSelection.byDeparture[r]??(e.userSelection.byDeparture[r]=x()),e.userSelection.byDeparture[r].vehicleQuantityPerVehicleType[n]=i)},setNumSelectedPets:(e,t)=>{e.userSelection.byDeparture[t.payload.departureId]??(e.userSelection.byDeparture[t.payload.departureId]=x()),e.userSelection.byDeparture[t.payload.departureId].petQuantity=t.payload.quantity},setNumSelectedWheelchairs:(e,t)=>{e.userSelection.byDeparture[t.payload.departureId]??(e.userSelection.byDeparture[t.payload.departureId]=x()),e.userSelection.byDeparture[t.payload.departureId].wheelchairQuantity=t.payload.quantity},setPassengerToDelete:(e,t)=>{e.userSelection.byDeparture[t.payload.departureId]??(e.userSelection.byDeparture[t.payload.departureId]=x()),e.userSelection.byDeparture[t.payload.departureId].deletePerPassengerId[t.payload.passengerId]=t.payload.toDelete},setVehicleToDelete:(e,t)=>{let{vehicleId:n,departureId:r,toDelete:i}=t.payload;n&&r&&(e.userSelection.byDeparture[r]??(e.userSelection.byDeparture[r]=x()),e.userSelection.byDeparture[r].deletePerVehicleId[n]=i)},setNumSelectedTrailers:(e,t)=>{let{vehicleTypeId:n,trailerTypeId:r,departureId:i,quantity:a}=t.payload;if(!n||!r||a<0||!i)return;e.userSelection.byDeparture[i]??(e.userSelection.byDeparture[i]=x());let o=e.userSelection.byDeparture[i].trailersQuantityPerVehicleType;o[n]??(o[n]={}),o[n][r]=a},setTrailerToDelete:(e,t)=>{let{trailerId:n,departureId:r,toDelete:i}=t.payload;n&&r&&(e.userSelection.byDeparture[r]??(e.userSelection.byDeparture[r]=x()),e.userSelection.byDeparture[r].deletePerTrailerId[n]=i)},clearPassengerDeletions:e=>{for(let t of Object.values(e.userSelection.byDeparture))t.deletePerPassengerId={}},clearVehicleDeletions:e=>{for(let t of Object.values(e.userSelection.byDeparture))t.deletePerVehicleId={}}}}),C=S.reducer,w=S.actions;S.actions.setNumSelectedPassengers,S.actions.setNumSelectedVehicles,S.actions.setPassengerToDelete,S.actions.setVehicleToDelete,S.actions.setTrailerToDelete,S.actions.setNumSelectedTrailers,S.actions.setActiveVehicleTypeId,S.actions.setActiveTrailerTypeId,S.actions.clearTrailerSelection;var T=S.actions.clearPassengerDeletions,E=S.actions.clearVehicleDeletions;export{f as a,p as c,a as d,n as f,C as i,u as l,i as m,E as n,d as o,r as p,w as r,m as s,T as t,o as u};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.