UNPKG

bowling-analysis-system

Version:

A comprehensive system for analyzing bowling techniques using video processing and metrics calculation

58 lines (49 loc) 1.35 kB
/** * @module MetricsJsonUpdater * @description Updates metrics JSON data with additional information */ /** * @class MetricsJsonUpdater * @description Updates metrics JSON data with additional information */ class MetricsJsonUpdater { /** * Create a new metrics JSON updater * @param {Object} options - Updater options */ constructor(options = {}) { this.options = { addTimestamp: true, addVersion: true, ...options }; } /** * Process the input data * @param {Object} metrics - Metrics data * @returns {Promise<Object>} Updated metrics data */ async process(metrics) { if (!metrics) { return metrics; } // Create a copy of the metrics const updatedMetrics = { ...metrics }; // Ensure metadata exists updatedMetrics.metadata = updatedMetrics.metadata || {}; // Add timestamp if (this.options.addTimestamp) { updatedMetrics.metadata.updatedAt = new Date().toISOString(); } // Add version if (this.options.addVersion) { updatedMetrics.metadata.version = this.options.version || '1.0.0'; } // Add source information if (this.options.source) { updatedMetrics.metadata.source = this.options.source; } return updatedMetrics; } } module.exports = MetricsJsonUpdater;