guardAsync<T> static method
Wraps an asynchronous code execution operation tracking a standard Dart Future pipeline.
Catches unhandled asynchronous exceptions, converting them into structured failures.
Implementation
static Future<Result<T>> guardAsync<T>(
Future<T> Function() operation,
) async {
try {
final value = await operation();
return Result.success(value);
} catch (e, stackTrace) {
return Result.failure(
Failure(
message: e.toString(),
error: e,
stackTrace: stackTrace,
),
);
}
}