Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
1.0 kB ยท 40 lines
TypeScript
1234567891011121314151617181920212223242526272829303132333435363738394041import type { ChartConfig } from "@openstatus/ui/components/ui/chart";
// Helper to extract item config from a payload.export function getPayloadConfigFromPayload( config: ChartConfig, payload: unknown, key: string,) { if (typeof payload !== "object" || payload === null) { return undefined; }
const payloadPayload = "payload" in payload && typeof payload.payload === "object" && payload.payload !== null ? payload.payload : undefined;
let configLabelKey: string = key;
if ( key in payload && typeof payload[key as keyof typeof payload] === "string" ) { configLabelKey = payload[key as keyof typeof payload] as string; } else if ( payloadPayload && key in payloadPayload && typeof payloadPayload[key as keyof typeof payloadPayload] === "string" ) { configLabelKey = payloadPayload[ key as keyof typeof payloadPayload ] as string; }
return configLabelKey in config ? config[configLabelKey] : config[key as keyof typeof config];}