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

100% Statements 14/14
100% Branches 7/7
100% Functions 1/1
100% Lines 14/14

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 151x 1x 4x 4x 4x 16x 16x 16x 32x 16x 16x 4x 4x 1x  
/* eslint-disable @typescript-eslint/no-explicit-any */
export const jsonToCsv = (array: any[], columns: string[], delimiter = ","): string =>
    [
        columns.join(delimiter),
        ...array.map((object) =>
            // eslint-disable-next-line security/detect-object-injection
            columns.reduce(
                (accumulator, key) =>
                    `${accumulator}${accumulator.length === 0 ? "" : delimiter}"${object[key] ? object[key] : ""}"`,
                "",
            ),
        ),
    ].join("\n");
/* eslint-enable @typescript-eslint/no-explicit-any */