All files / converters/csvtojson/src csv-to-json.ts

100% Statements 10/10
100% Branches 1/1
100% Functions 3/3
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18  1x 1x   1x 3x 3x       6x 6x 12x 12x       1x
/* eslint-disable @typescript-eslint/no-explicit-any */
export const csvToJson = (csv: string, delimiter = ","): unknown => {
    const titles = csv.slice(0, csv.indexOf("\n")).split(delimiter);
 
    return csv
        .slice(csv.indexOf("\n") + 1)
        .split("\n")
        .map((value) => {
            const values = value.split(delimiter);
            return titles.reduce((obj: any, title, index) => {
                obj[title] = values[index];
                return obj;
            }, {});
        });
};
 
/* eslint-enable @typescript-eslint/no-explicit-any */