/** * Safely gets a number value from a Map, returning undefined if the key doesn't exist. * Specifically typed for Maps that return numbers. */ export function getNumberFromMap( map: Map | undefined, key: any, ): number | undefined { return map?.get(key) as number | undefined; } /** * Type-casts a Map with unknown generic types to a Map. * Useful to handle Maps returned from tRPC queries where TypeScript * can't properly infer the generic types. */ export function castToNumberMap( map: Map | undefined, ): Map | undefined { return map as Map | undefined; } /** * Safely extracts a property from potentially undefined data (e.g. tRPC query responses), * returning a default value if not found. */ export function safeExtract( data: T | undefined | null, key: K, defaultValue: R = [] as R, ): T[K] | R { return data?.[key] ?? defaultValue; }