@@ -11,17 +11,36 @@ const generateHeatmapSeries = (
1111 endDate : string ,
1212 contributionData : Record < string , number >
1313) => {
14+ // Handle missing dates by using default range
1415 if ( ! startDate || ! endDate ) {
15- throw new Error ( 'startDate and endDate are required' )
16+ const defaultEnd = new Date ( )
17+ const defaultStart = new Date ( )
18+ defaultStart . setFullYear ( defaultEnd . getFullYear ( ) - 1 )
19+ return generateHeatmapSeries (
20+ defaultStart . toISOString ( ) . split ( 'T' ) [ 0 ] ,
21+ defaultEnd . toISOString ( ) . split ( 'T' ) [ 0 ] ,
22+ contributionData
23+ )
1624 }
25+
1726 const start = new Date ( startDate )
1827 const end = new Date ( endDate )
1928
29+ // Handle invalid dates by using default range
2030 if ( Number . isNaN ( start . getTime ( ) ) || Number . isNaN ( end . getTime ( ) ) ) {
21- throw new Error ( 'Invalid date format. Expected YYYY-MM-DD' )
31+ const defaultEnd = new Date ( )
32+ const defaultStart = new Date ( )
33+ defaultStart . setFullYear ( defaultEnd . getFullYear ( ) - 1 )
34+ return generateHeatmapSeries (
35+ defaultStart . toISOString ( ) . split ( 'T' ) [ 0 ] ,
36+ defaultEnd . toISOString ( ) . split ( 'T' ) [ 0 ] ,
37+ contributionData
38+ )
2239 }
40+
41+ // Handle invalid range by swapping dates
2342 if ( start > end ) {
24- throw new Error ( ' startDate must be before or equal to endDate' )
43+ return generateHeatmapSeries ( endDate , startDate , contributionData )
2544 }
2645
2746 const dayNames = [ 'Mon' , 'Tue' , 'Wed' , 'Thu' , 'Fri' , 'Sat' , 'Sun' ]
0 commit comments