( config: ChartConfig, payload: unknown, key: string )
| 310 | |
| 311 | // Helper to extract item config from a payload. |
| 312 | function getPayloadConfigFromPayload( |
| 313 | config: ChartConfig, |
| 314 | payload: unknown, |
| 315 | key: string |
| 316 | ) { |
| 317 | if (typeof payload !== "object" || payload === null) { |
| 318 | return undefined |
| 319 | } |
| 320 | |
| 321 | const payloadPayload = |
| 322 | "payload" in payload && |
| 323 | typeof payload.payload === "object" && |
| 324 | payload.payload !== null |
| 325 | ? payload.payload |
| 326 | : undefined |
| 327 | |
| 328 | let configLabelKey: string = key |
| 329 | |
| 330 | if ( |
| 331 | key in payload && |
| 332 | typeof payload[key as keyof typeof payload] === "string" |
| 333 | ) { |
| 334 | configLabelKey = payload[key as keyof typeof payload] as string |
| 335 | } else if ( |
| 336 | payloadPayload && |
| 337 | key in payloadPayload && |
| 338 | typeof payloadPayload[key as keyof typeof payloadPayload] === "string" |
| 339 | ) { |
| 340 | configLabelKey = payloadPayload[ |
| 341 | key as keyof typeof payloadPayload |
| 342 | ] as string |
| 343 | } |
| 344 | |
| 345 | return configLabelKey in config |
| 346 | ? config[configLabelKey] |
| 347 | : config[key as keyof typeof config] |
| 348 | } |
| 349 | |
| 350 | export { |
| 351 | ChartContainer, |
no outgoing calls
no test coverage detected