1+ import { building } from '$app/environment' ;
12import { createCanvas , Path2D } from '@napi-rs/canvas' ;
23import { renderChart } from 'layerchart/server' ;
34import type { CanvasFactory } from 'layerchart/server' ;
@@ -11,6 +12,11 @@ if (typeof globalThis.Path2D === 'undefined') {
1112const createNodeCanvas : CanvasFactory = ( canvasWidth , canvasHeight ) =>
1213 createCanvas ( canvasWidth , canvasHeight ) as unknown as ReturnType < CanvasFactory > ;
1314
15+ function getParam ( url : URL , name : string ) : string | null {
16+ if ( building ) return null ;
17+ return url . searchParams . get ( name ) ;
18+ }
19+
1420type RenderChartResponseOptions = {
1521 component : Component < any > ;
1622 props : Record < string , any > ;
@@ -22,10 +28,10 @@ export function renderChartResponse({
2228 props,
2329 url
2430} : RenderChartResponseOptions ) : Response {
25- const width = Number ( url . searchParams . get ( 'width' ) ?? 800 ) ;
26- const height = Number ( url . searchParams . get ( 'height' ) ?? 400 ) ;
27- const format = url . searchParams . get ( 'format' ) === 'jpeg' ? 'jpeg' : 'png' ;
28- const background = url . searchParams . get ( 'background' ) ?? 'white' ;
31+ const width = Number ( getParam ( url , 'width' ) ?? 800 ) ;
32+ const height = Number ( getParam ( url , 'height' ) ?? 400 ) ;
33+ const format = getParam ( url , 'format' ) === 'jpeg' ? 'jpeg' : 'png' ;
34+ const background = getParam ( url , 'background' ) ?? 'white' ;
2935
3036 const buffer = renderChart ( component , {
3137 width,
0 commit comments