File tree 1 file changed +6
-1
lines changed
1 file changed +6
-1
lines changed Original file line number Diff line number Diff line change @@ -45,15 +45,20 @@ async function fetchTopLanguages(username) {
45
45
46
46
let repoNodes = res . data . data . user . repositories . nodes ;
47
47
48
- // TODO: perf improvement
49
48
repoNodes = repoNodes
50
49
. filter ( ( node ) => {
51
50
return node . languages . edges . length > 0 ;
52
51
} )
52
+ // flatten the list of language nodes
53
53
. reduce ( ( acc , curr ) => curr . languages . edges . concat ( acc ) , [ ] )
54
54
. sort ( ( a , b ) => b . size - a . size )
55
55
. reduce ( ( acc , prev ) => {
56
+ // get the size of the language (bytes)
56
57
let langSize = prev . size ;
58
+
59
+ // if we already have the language in the accumulator
60
+ // & the current language name is same as previous name
61
+ // add the size to the language size.
57
62
if ( acc [ prev . node . name ] && prev . node . name === acc [ prev . node . name ] . name ) {
58
63
langSize = prev . size + acc [ prev . node . name ] . size ;
59
64
}
You can’t perform that action at this time.
0 commit comments