@@ -3,11 +3,11 @@ import { defineStore, acceptHMRUpdate } from "pinia"
33import { DateTime } from "luxon"
44
55/** Services */
6- import { capitalizeAndReplace , isMainnet , roundTo , sortArrayOfObjects } from "@/services/utils"
6+ import { capitalizeAndReplace , isMainnet , roundTo } from "@/services/utils"
77import { rankCoefficients } from "@/services/constants/rollups"
88
99/** API */
10- import { fetchRollupOrgs , fetchRollupOrgsState , fetchRollupOrgReposBySlug , fetchRollups , fetchRollupsDailyStats } from "@/services/api/rollup"
10+ import { fetchRollupOrgs , fetchRollupOrgsState , fetchRollups , fetchRollupsDailyStats } from "@/services/api/rollup"
1111
1212export const useRollupsRankingStore = defineStore ( "rollups_ranking" , ( ) => {
1313 const rollups_ranking = ref ( {
@@ -30,14 +30,14 @@ export const useRollupsRankingStore = defineStore("rollups_ranking", () => {
3030 initialized . value = true
3131 return
3232 }
33-
33+
3434 const limit = 100
3535 const params = { limit }
3636 const [ rollupsData , orgsData , dailyStatsData , orgsState ] = await Promise . all ( [
3737 fetchRollups ( params ) ,
3838 fetchRollupOrgs ( params ) ,
3939 fetchRollupsDailyStats ( params ) ,
40- fetchRollupOrgsState ( params )
40+ fetchRollupOrgsState ( params ) ,
4141 ] )
4242 let maxDailyBlobsCount = 0
4343 let maxAvgPfbSize = 0
@@ -66,21 +66,20 @@ export const useRollupsRankingStore = defineStore("rollups_ranking", () => {
6666 rollupsRanking . value [ slug ] . commits_weekly = od . commits_weekly
6767 }
6868
69- rollupsData . forEach ( r => {
69+ rollupsData . forEach ( ( r ) => {
7070 let slug = r . slug
7171 if ( ! rollupsRanking . value [ slug ] ) {
7272 rollupsRanking . value [ slug ] = { }
7373 }
7474 rollupsRanking . value [ slug ] . last_message_time = r . last_message_time
75-
7675 } )
77-
76+
7877 const quantitative = ( value , maxValue ) => {
7978 return Math . min ( value / maxValue , 1 )
8079 }
8180 const timeBased = ( maxTime , lastTime , t , timeframe ) => {
8281 const diff = maxTime . diff ( lastTime , timeframe ) [ timeframe ]
83- return Math . exp ( - ( diff / t ) )
82+ return Math . exp ( - ( diff / t ) )
8483 }
8584 const calculateRanking = ( r ) => {
8685 let ranking = {
@@ -95,38 +94,49 @@ export const useRollupsRankingStore = defineStore("rollups_ranking", () => {
9594 ranking . commits_weekly = roundTo ( quantitative ( r . commits_weekly , maxWeeklyCommits ) * rankCoefficients . commits_weekly * 100 )
9695 }
9796 if ( r . day_blobs_count ) {
98- ranking . day_blobs_count = roundTo ( quantitative ( r . day_blobs_count , maxDailyBlobsCount ) * rankCoefficients . day_blobs_count * 100 )
97+ ranking . day_blobs_count = roundTo (
98+ quantitative ( r . day_blobs_count , maxDailyBlobsCount ) * rankCoefficients . day_blobs_count * 100 ,
99+ )
99100 }
100101 if ( r . avg_pfb_size ) {
101102 ranking . avg_pfb_size = roundTo ( quantitative ( r . avg_pfb_size , maxAvgPfbSize ) * rankCoefficients . avg_pfb_size * 100 )
102103 }
103104 if ( r . last_message_time ) {
104- ranking . last_message_time = roundTo ( timeBased ( DateTime . now ( ) , DateTime . fromISO ( r . last_message_time ) , 12 , "hours" ) * rankCoefficients . last_message_time * 100 )
105+ ranking . last_message_time = roundTo (
106+ timeBased ( DateTime . now ( ) , DateTime . fromISO ( r . last_message_time ) , 12 , "hours" ) *
107+ rankCoefficients . last_message_time *
108+ 100 ,
109+ )
105110 }
106111 if ( r . last_pushed_at ) {
107- ranking . last_pushed_at = roundTo ( timeBased ( DateTime . fromISO ( orgsState ) , DateTime . fromISO ( r . last_pushed_at ) , 4 , "weeks" ) * rankCoefficients . last_pushed_at * 100 )
112+ ranking . last_pushed_at = roundTo (
113+ timeBased ( DateTime . fromISO ( orgsState ) , DateTime . fromISO ( r . last_pushed_at ) , 4 , "weeks" ) *
114+ rankCoefficients . last_pushed_at *
115+ 100 ,
116+ )
108117 }
109118
110119 ranking . rank = roundTo ( Object . values ( ranking ) . reduce ( ( acc , val ) => acc + val , 0 ) )
111120 return ranking
112121 }
113122
114- Object . keys ( rollupsRanking . value ) . forEach ( r => {
123+ Object . keys ( rollupsRanking . value ) . forEach ( ( r ) => {
115124 rollupsRanking . value [ r ] . ranking = calculateRanking ( rollupsRanking . value [ r ] )
116125 } )
117126
118- const maxRankEntry = Object . entries ( rollupsRanking . value ) . reduce ( ( maxEntry , [ key , value ] ) => {
119- return value . ranking . rank > maxEntry . rank
120- ? { slug : key , rank : value . ranking . rank }
121- : maxEntry
122- } , { slug : null , rank : 0 } )
127+ const maxRankEntry = Object . entries ( rollupsRanking . value ) . reduce (
128+ ( maxEntry , [ key , value ] ) => {
129+ return value . ranking . rank > maxEntry . rank ? { slug : key , rank : value . ranking . rank } : maxEntry
130+ } ,
131+ { slug : null , rank : 0 } ,
132+ )
123133
124134 rollups_ranking . value = {
125135 ranking : rollupsRanking . value ,
126136 top_rollup : {
127137 slug : maxRankEntry . slug ,
128138 name : capitalizeAndReplace ( maxRankEntry . slug , "-" ) ,
129- rank : maxRankEntry . rank
139+ rank : maxRankEntry . rank ,
130140 } ,
131141 last_update : DateTime . now ( ) . ts ,
132142 }
0 commit comments