UNPKG

proto-coverage-reporter

Version:
38 lines (37 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.writeLog = writeLog; exports.readLogsMap = readLogsMap; const fs = require("fs"); const path = require("path"); const const_1 = require("./const"); const generateRandomString = () => `${Date.now()}${Math.random()}`; function writeLog(log) { const fileName = generateRandomString(); fs.writeFileSync(path.resolve(const_1.logsDirPath, `${fileName}.json`), JSON.stringify(log)); } async function readLogsMap() { const exist = fs.existsSync(const_1.logsDirPath); if (!exist) { console.info('[proto-coverage-reporter]: logs folder does not exist'); return {}; } const logsDir = fs.readdirSync(const_1.logsDirPath); const logs = await Promise.all(logsDir.map(async (log) => { const filePath = path.resolve(const_1.logsDirPath, log); return JSON.parse(fs.readFileSync(filePath, 'utf-8')); })); return logs.reduce((acc, ac) => { const { package_name, method_name, status_code } = ac; acc[package_name] = { ...(acc[package_name] || {}), [method_name]: { status_codes: { ...(((acc[package_name] || {})[method_name] || {}).status_codes || {}), [status_code]: true, }, }, }; return acc; }, {}); }