import type { DataItem } from './types' /** * Sanitizes DataItem by converting ReactNode prefix/suffix values to undefined. * This ensures only string values are stored in the widget state. * * @param item - The DataItem to sanitize * @returns A new DataItem with ReactNode prefix/suffix values converted to undefined */ export function sanitizeDataItem(item: DataItem): DataItem { return { ...item, prefix: typeof item.prefix === 'string' ? item.prefix : undefined, suffix: typeof item.suffix === 'string' ? item.suffix : undefined, } } /** * Sanitizes an array of DataItems by converting ReactNode prefix/suffix values to undefined. * * @param items - Array of DataItems to sanitize * @returns A new array with sanitized DataItems */ export function sanitizeDataItems( items: DataItem[] | undefined, ): DataItem[] | undefined { return items?.map(sanitizeDataItem) }