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

export function funktionGesamtluftWechselKorrekturfaktorT12(LueftungsAnlage: string, LuftDichtheit: string, LueftungBedarfsgefuehrt: string, ηt: number): any | null {
    const filteredData = datasetGesamtluftWechselKorrekturfaktorT12T13.filter(item => 
        item.LueftungsAnlage === LueftungsAnlage &&
        item.LuftDichtheit === LuftDichtheit &&
        item.LueftungBedarfsgefuehrt === LueftungBedarfsgefuehrt
    );

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

    const sortedData = filteredData.sort((a, b) => a.ηt - b.ηt);

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

        if (current && next && ηt >= current.ηt && ηt <= next.ηt) {
            const t = (ηt - current.ηt) / (next.ηt - current.ηt);
           const GesamtluftWechselZuAbluftanlage = current.n0 + t * (next.n0 - current.n0);
           return GesamtluftWechselZuAbluftanlage;
        }

        if (current && ηt === current.ηt) {
            const GesamtluftWechselZuAbluftanlage =  current.n0;
            return GesamtluftWechselZuAbluftanlage;
        }
    }

    if (filteredData.length === 1) {
        const GesamtluftWechselZuAbluftanlage  = filteredData[0].n0;
        const Korrekturfaktor = filteredData[0].fwin1;
        
        return {
            GesamtluftWechselZuAbluftanlage,
            Korrekturfaktor
        }
    
    }


}

const result = funktionGesamtluftWechselKorrekturfaktorT12("Abluftanlage", "Kategorie II - neues Gebäude", "bedarfsgeführt", 0);
console.log(result);