- compositeSchedule = {
- startSchedule: max([
- compositeSchedule?.startSchedule ?? interval.start,
- chargingProfile.chargingSchedule.startSchedule!,
- ]),
- duration: Math.max(
- compositeSchedule?.duration ?? -Infinity,
- chargingProfile.chargingSchedule.duration!,
- ),
- chargingRateUnit: chargingProfile.chargingSchedule.chargingRateUnit,
- ...(compositeSchedule?.chargingSchedulePeriod === undefined
- ? { chargingSchedulePeriod: [] }
- : {
- chargingSchedulePeriod: compositeSchedule.chargingSchedulePeriod.concat(
- ...chargingProfile.chargingSchedule.chargingSchedulePeriod,
- ),
- }),
- ...(chargingProfile.chargingSchedule.minChargeRate && {
- minChargeRate: Math.min(
- compositeSchedule?.minChargeRate ?? Infinity,
- chargingProfile.chargingSchedule.minChargeRate,
- ),
- }),
- };