UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

24 lines (23 loc) 934 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const flat = require("flat"); const Analyzers = require("./analyzers"); function analyze(collectorData) { const flatListOfAnalyzers = flat(Analyzers); const result = {}; for (const analyzerName in flatListOfAnalyzers) { if (!analyzerName.endsWith("Analyzer")) { continue; } const analyzerNameSpace = analyzerName.replace(/.[A-Za-z0-9]+$/, ""); if (!collectorData[analyzerNameSpace]) { continue; } const analyzer = new flatListOfAnalyzers[analyzerName](); const data = analyzer.analyze(collectorData[analyzerNameSpace], collectorData); result[analyzerNameSpace] = result[analyzerNameSpace] || {}; result[analyzerNameSpace] = Object.assign(result[analyzerNameSpace], data); } return result; } exports.analyze = analyze;