import { datasetKorrekturfaktorVerteilungT32 } from "#lib/Berechnungen/BedarfsausweisWohnen/datasetKorrekturfaktorVerteilungT32.js";

export function funktionKorrekturfaktorMittlereBelastungT32(verteilung: string, rohrnetztyp: string, auslegungsTemp: string, ßhd: number): number | null {
    const filteredData = datasetKorrekturfaktorVerteilungT32.filter(item => 
        item.verteilung === verteilung &&
        item.rohrnetztyp === rohrnetztyp &&
        item.auslegungsTemp === auslegungsTemp
    );

    if (filteredData.length === 0) {
        const KorrekturfaktorMittlereBelastung = 1;
        return KorrekturfaktorMittlereBelastung;
    }
       

    const sortedData = filteredData.sort((a, b) => a.ßhd - b.ßhd);

    for (let i = 0; i < sortedData.length - 1; i++) {
        const current = sortedData[i];
        const next = sortedData[i + 1];

        if (ßhd >= current.ßhd && ßhd <= next.ßhd) {
            const t = (ßhd - current.ßhd) / (next.ßhd - current.ßhd);
           const KorrekturfaktorMittlereBelastung = current.fßd + t * (next.fßd - current.fßd);

           return KorrekturfaktorMittlereBelastung;
        }
    }

    const KorrekturfaktorMittlereBelastung = 1;
    return KorrekturfaktorMittlereBelastung;
}

const result = funktionKorrekturfaktorMittlereBelastungT32("Verteilleitungen im beheizten Bereich", "IV (Strahlungs- und Luftheizung)", "35°C/28°C", 0.3);
console.log(result);