diff --git a/.changeset/fix-debug-printscale.md b/.changeset/fix-debug-printscale.md new file mode 100644 index 000000000..d9fa9cca3 --- /dev/null +++ b/.changeset/fix-debug-printscale.md @@ -0,0 +1,7 @@ +--- +"layerchart": patch +--- + +fix: guard against undefined accessor in printScale + +When activeGetters includes z or r scales that are not configured, the accessor is undefined, causing acc.toString() to throw. Added null check. diff --git a/packages/layerchart/src/lib/utils/debug.ts b/packages/layerchart/src/lib/utils/debug.ts index acd9a6752..d92740745 100644 --- a/packages/layerchart/src/lib/utils/debug.ts +++ b/packages/layerchart/src/lib/utils/debug.ts @@ -69,7 +69,7 @@ function colorizeArray(arr: RGBInput[]) { function printScale(s: string, scale: any, acc: any) { const scaleName = findScaleName(scale); console.log(`${indent}${s}:`); - console.log(`${indent}${indent}Accessor: "${acc.toString()}"`); + if (acc != null) console.log(`${indent}${indent}Accessor: "${acc.toString()}"`); console.log(`${indent}${indent}Type: ${scaleName}`); printValues(scale, 'domain'); printValues(scale, 'range', ' ');