History

Merge remote-tracking branch 'origin/codex/batch14-react-chart-payload-guard' into codex/effect-lint-integration

Rhys Sullivan committed 6 months ago

Commit abe685b2 parents 9b540fd 9e84f991 file · +9 −10Browse files

Unified · Split

packages/react/src/components/chart.tsx+9−10
@@ -303,26 +303,25 @@ function ChartLegendContent({ · 302 unmodified lines
303303 }
304304
305305 // Helper to extract item config from a payload.
306+const isRecord = (value: unknown): value is Record<string, unknown> =>
307+ typeof value === "object" && value !== null && !Array.isArray(value);
308+
306309 function getPayloadConfigFromPayload(config: ChartConfig, payload: unknown, key: string) {
307− if (typeof payload !== "object" || payload === null) {
310+ if (!isRecord(payload)) {
308311 return undefined;
309312 }
310313
311− const payloadPayload =
312− "payload" in payload && typeof payload.payload === "object" && payload.payload !== null
313− ? payload.payload
314− : undefined;
314+ const payloadPayload = isRecord(payload.payload) ? payload.payload : undefined;
315315
316316 let configLabelKey: string = key;
317317
318− if (key in payload && typeof payload[key as keyof typeof payload] === "string") {
319− configLabelKey = payload[key as keyof typeof payload] as string;
318+ if (typeof payload[key] === "string") {
319+ configLabelKey = payload[key];
320320 } else if (
321321 payloadPayload &&
322− key in payloadPayload &&
323− typeof payloadPayload[key as keyof typeof payloadPayload] === "string"
322+ typeof payloadPayload[key] === "string"
324323 ) {
325− configLabelKey = payloadPayload[key as keyof typeof payloadPayload] as string;
324+ configLabelKey = payloadPayload[key];
326325 }
327326
328327 return configLabelKey in config ? config[configLabelKey] : config[key];

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t