export async function writeOutput()

in tools/gsuite-scanner/src/output/index.ts [10:25]


export async function writeOutput(config: IConfigSchema, result: IScanResult): Promise<void> {

    // map the output strings to output delegates
    // pattern after: https://stackoverflow.com/questions/1960473/get-all-unique-values-in-a-javascript-array-remove-duplicates
    const outputs: IOutputDelegate[] = config.output.filter((v, i, s) => s.indexOf(v) === i).map(v => {

        switch (v) {
            case "json":
                return outputJSON;
            case "csv":
                return outputCSV;
        }
    });

    await Promise.all(outputs.map(v => v(result)));
}