from method

Failure from(
  1. Object error, [
  2. StackTrace? stackTrace
])

Преобразует произвольный error в Failure.

error — исключение или объект ошибки. stackTrace — стек вызовов (опционален, передаётся для логирования).

Возвращает: Failure — результат маппинга. Если error уже является Failure, возвращается как есть.

Implementation

Failure from(Object error, [StackTrace? stackTrace]) {
  if (error is Failure) return error;

  // 1. Кастомные мапперы приложения (высший приоритет)
  for (final mapper in _extraMappers) {
    final failure = mapper.tryMap(error, stackTrace);
    if (failure != null) return failure;
  }

  // 2. Встроенные мапперы nexo
  for (final mapper in _builtInMappers) {
    final failure = mapper.tryMap(error, stackTrace);
    if (failure != null) return failure;
  }

  // 3. Catch-all
  return Failure.unknown(
    error: error,
    stackTrace: stackTrace,
    message: error.toString(),
  );
}