UNPKG

cloc-graph

Version:

Track lines of code over time by language with visualization

26 lines (25 loc) 809 B
"use strict"; /** * Sampling utilities for optimizing analysis of large repositories */ Object.defineProperty(exports, "__esModule", { value: true }); exports.smartSampleCommits = smartSampleCommits; /** * Smart sampling algorithm to select representative commits * * @param commits - Array of all commits * @param maxSamples - Maximum number of samples to take * @returns Array of selected commits */ function smartSampleCommits(commits, maxSamples) { const sample = []; const interval = Math.ceil(commits.length / maxSamples); for (let i = 0; i < commits.length; i += interval) { sample.push(commits[i]); } // Ensure we have exactly maxSamples, adjust the last sample if necessary while (sample.length > maxSamples) { sample.pop(); } return sample; }