import { createSelector } from 'reselect'; import { selectCalculationsConsumption } from 'app/modules/bunkerAdjustment/store/bunkerAdjustment.selectors'; import { BunkerAdjustmentConsumptionData } from './bunkerAdjustment.types'; const mapConsumptionData = (consumptionData: BunkerAdjustmentConsumptionData, key: string) => ({ type: key, days: consumptionData?.days ?? undefined, daysPercentage: consumptionData.daysPercentage ?? undefined, reported: consumptionData?.consumption ?? undefined, virtual: consumptionData?.virtualConsumption ?? undefined, difference: consumptionData?.consumptionDifference ?? undefined, }); export const selectBunkerAdjustmentConsumptionCalculations = createSelector( selectCalculationsConsumption, (consumptionData) => { if (!consumptionData) { return null; } return [ mapConsumptionData(consumptionData.laden, 'laden'), mapConsumptionData(consumptionData.ballasted, 'ballasted'), mapConsumptionData(consumptionData.loading, 'loading'), mapConsumptionData(consumptionData.discharging, 'discharging'), mapConsumptionData(consumptionData.total, 'total'), ]; } );