/**
 * 统一错误处理工具
 */

/**
 * 错误处理选项
 */
export interface ErrorHandlerOptions {
  context: string;
  fallbackValue?: any;
  silent?: boolean;
}

/**
 * 统一错误处理函数
 */
export async function handleDataSourceError<T>(
  operation: () => Promise<T>,
  options: ErrorHandlerOptions
): Promise<T> {
  try {
    return await operation();
  } catch (error) {
    if (!options.silent) {
      console.error(`❌ ${options.context}失败:`, error);
    }
    return options.fallbackValue ?? ([] as T);
  }
}

/**
 * 警告处理函数
 */
export function warn(message: string): void {
  console.warn(`⚠️ ${message}`);
}

