@@ -43,31 +43,22 @@ const TemporalFilter = () => {
4343 // 메모이제이션된 필터링된 정렬 데이터 - 필터링된 데이터가 변경될 때만 재계산
4444 const sortedFilteredData = useMemo ( ( ) => sortBasedOnCommitNode ( filteredData ) , [ filteredData ] ) ;
4545
46- // 메모이제이션된 라인 차트 데이터 - 정렬된 필터링 데이터가 변경될 때만 재계산
4746 const lineChartDataList : LineChartDatum [ ] [ ] = useMemo ( ( ) => {
48- const clocMap : Map < string , number > = new Map ( ) ;
49- const commitMap : Map < string , number > = new Map ( ) ;
47+ const clocMap = new Map < string , number > ( ) ;
48+ const commitMap = new Map < string , number > ( ) ;
5049
51- sortedFilteredData . forEach ( ( { commit } ) => {
50+ for ( const { commit } of sortedFilteredData ) {
5251 const formattedDate = lineChartTimeFormatter ( new Date ( commit . commitDate ) ) ;
53- const clocMapItem = clocMap . get ( formattedDate ) ;
54- const commitMapItem = commitMap . get ( formattedDate ) ;
55-
5652 const clocValue = commit . diffStatistics . insertions + commit . diffStatistics . deletions ;
5753
58- commitMap . set ( formattedDate , commitMapItem ? commitMapItem + 1 : 1 ) ;
59- clocMap . set ( formattedDate , clocMapItem ? clocMapItem + clocValue : clocValue ) ;
60- } ) ;
61-
62- const buildReturnArray = ( map : Map < string , number > ) =>
63- Array . from ( map . entries ( ) ) . map ( ( [ key , value ] ) => {
64- return {
65- dateString : key ,
66- value : value ,
67- } ;
68- } ) ;
54+ commitMap . set ( formattedDate , ( commitMap . get ( formattedDate ) || 0 ) + 1 ) ;
55+ clocMap . set ( formattedDate , ( clocMap . get ( formattedDate ) || 0 ) + clocValue ) ;
56+ }
6957
70- return [ buildReturnArray ( clocMap ) , buildReturnArray ( commitMap ) ] ;
58+ return [
59+ Array . from ( clocMap , ( [ dateString , value ] ) => ( { dateString, value } ) ) ,
60+ Array . from ( commitMap , ( [ dateString , value ] ) => ( { dateString, value } ) )
61+ ] ;
7162 } , [ sortedFilteredData ] ) ;
7263
7364 const windowSize = useWindowResize ( ) ;
0 commit comments