UNPKG

@eagleoutice/flowr

Version:

Static Dataflow Analyzer and Program Slicer for the R Programming Language

45 lines 2.08 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.postProcess = postProcess; const post_processing_1 = require("../../post-processing"); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const summarizer_1 = require("../../../../util/summarizer"); /** * */ function postProcess(featureRoot, info, outputPath, config) { const collected = {}; const deepestNestingOut = fs_1.default.createWriteStream(path_1.default.join(outputPath, 'deepest-nesting-per-file.csv')); deepestNestingOut.write('file,deepest-nesting\n'); for (const [filepath, data] of info.entries()) { const value = data.expressionList; for (const [key, val] of Object.entries(value)) { let get = collected[key]; if (!get) { get = (0, post_processing_1.emptySummarizedWithProject)(); collected[key] = get; } if (key === 'deepestNesting') { deepestNestingOut.write(`${JSON.stringify(filepath)},${val}\n`); } get.count.push(val); if (val > 0) { (0, post_processing_1.recordFilePath)(get, filepath, config); } } } deepestNestingOut.close(); const variablesOutStream = fs_1.default.createWriteStream(path_1.default.join(outputPath, 'used-expression-lists.csv')); variablesOutStream.write(`kind,unique-projects,unique-files,${(0, summarizer_1.summarizedMeasurement2CsvHeader)()}\n`); for (const [key, val] of Object.entries(collected)) { const data = val; const sum = (0, summarizer_1.summarizeMeasurement)(data.count); variablesOutStream.write(`${JSON.stringify(key)},${data.uniqueProjects.size},${data.uniqueFiles.size},${(0, summarizer_1.summarizedMeasurement2Csv)(sum)}\n`); } variablesOutStream.close(); } //# sourceMappingURL=post-process.js.map