safeAsyncWithContext<T> static method

Future<T?> safeAsyncWithContext<T>(
  1. Future<T> operation(), {
  2. required String component,
  3. required String operationName,
  4. Map<String, dynamic>? additionalContext,
  5. T? fallback,
})

Safe async execution with enhanced error context for debugging

Implementation

static Future<T?> safeAsyncWithContext<T>(
  Future<T> Function() operation, {
  required String component,
  required String operationName,
  Map<String, dynamic>? additionalContext,
  T? fallback,
}) async {
  try {
    ObslyLogger.verbose('🛡️ Executing async $component.$operationName');
    final result = await operation();
    ObslyLogger.verbose('✅ $component.$operationName completed successfully');
    return result;
  } catch (e, stack) {
    ObslyLogger.errorWithContext(
      component,
      operationName,
      e.toString(),
      stack,
      context: additionalContext ?? {},
    );
    return fallback;
  }
}