UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

25 lines (24 loc) 948 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const aws_1 = require("./aws"); const cache_1 = require("./cache"); const common_1 = require("./common"); class CollectorUtil { static async cachedCollect(collector) { try { const collectorName = collector.constructor.name; const session = collector.getSession(); const sessionCache = cache_1.CacheUtil.get(session, {}); sessionCache.collectors = sessionCache.collectors || {}; if (!sessionCache.collectors[collectorName]) { await common_1.CommonUtil.wait(500); sessionCache.collectors[collectorName] = collector.collect(); } return await sessionCache.collectors[collectorName]; } catch (error) { aws_1.AWSErrorHandler.handle(error); } } } exports.CollectorUtil = CollectorUtil;