export function resolveDataRef(data: Record, ref?: unknown): unknown { if (typeof ref !== 'string' || !ref) return undefined; return ref.split('.').reduce((acc, key) => { if (acc && typeof acc === 'object' && key in (acc as Record)) { return (acc as Record)[key]; } return undefined; }, data); } export function resolveDataRefString(data: Record, ref?: unknown): string { const value = resolveDataRef(data, ref); if (value == null) return ''; return String(value); } export function resolveDataRefBoolean(data: Record, ref?: unknown): boolean { const value = resolveDataRef(data, ref); return value === true || value === 'true' || value === 1 || value === '1'; }