From c32654b1b3ad82d458280f330a73755926e31718 Mon Sep 17 00:00:00 2001 From: SINGH HARSH Date: Tue, 1 Apr 2025 19:25:14 +0530 Subject: [PATCH] Updated rank calculation logic in calculateRank.js and added detailed explanation to docs --- docs/rank-calculation.md | 0 src/calculateRank.js | 10 ++++------ 2 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 docs/rank-calculation.md diff --git a/docs/rank-calculation.md b/docs/rank-calculation.md new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/src/calculateRank.js b/src/calculateRank.js index 4724d0388c846..4f420e7478491 100644 --- a/src/calculateRank.js +++ b/src/calculateRank.js @@ -28,10 +28,9 @@ function log_normal_cdf(x) { * @param {number} params.prs The number of pull requests. * @param {number} params.issues The number of issues. * @param {number} params.reviews The number of reviews. - * @param {number} params.repos Total number of repos. * @param {number} params.stars The number of stars. * @param {number} params.followers The number of followers. - * @returns {{level: string, percentile: number}}} The users rank. + * @returns {{level: string, percentile: number}} The users rank. */ function calculateRank({ all_commits, @@ -39,8 +38,6 @@ function calculateRank({ prs, issues, reviews, - // eslint-disable-next-line no-unused-vars - repos, // unused stars, followers, }) { @@ -78,10 +75,11 @@ function calculateRank({ FOLLOWERS_WEIGHT * log_normal_cdf(followers / FOLLOWERS_MEDIAN)) / TOTAL_WEIGHT; - const level = LEVELS[THRESHOLDS.findIndex((t) => rank * 100 <= t)]; + const levelIndex = THRESHOLDS.findIndex((t) => rank * 100 <= t); + const level = levelIndex !== -1 ? LEVELS[levelIndex] : LEVELS[LEVELS.length - 1]; return { level, percentile: rank * 100 }; } export { calculateRank }; -export default calculateRank; +export default calculateRank; \ No newline at end of file