1- import { parseQueryParams } from "../../src/utils/params.js" ;
1+ import { parseQueryParams , type QueryParams } from "../../src/utils/params.js" ;
22import { fetchLanguageData , processLanguageData } from "../../src/api/github.js" ;
33import { generateChartData } from "../../src/render/chart.js" ;
44import { renderSvg } from "../../src/render/svg.js" ;
55import { renderError } from "../../src/render/error.js" ;
6+ import type { VercelRequest , VercelResponse } from "@vercel/node" ;
67
7- export default async function handler ( req , res ) {
8- const params = parseQueryParams ( req . query ) ;
8+ export default async function handler (
9+ req : VercelRequest ,
10+ res : VercelResponse
11+ ) : Promise < void > {
12+ const params = parseQueryParams ( req . query as QueryParams ) ;
913 const { chartType, chartTitle, width, height, count, selectedTheme, stroke, useTestData } = params ;
1014
1115 try {
@@ -19,7 +23,7 @@ export default async function handler(req, res) {
1923 res . setHeader ( "Cache-Control" , "public, max-age=3600, s-maxage=3600, stale-while-revalidate=60" ) ;
2024 res . status ( 200 ) . send ( svg ) ;
2125 } catch ( error ) {
22- const errorSvg = renderError ( error . message , width , height , selectedTheme ) ;
26+ const errorSvg = renderError ( ( error as Error ) . message , width , height , selectedTheme ) ;
2327 res . setHeader ( "Content-Type" , "image/svg+xml" ) ;
2428 res . status ( 500 ) . send ( errorSvg ) ;
2529 }
0 commit comments