18 lines
478 B
Dart
18 lines
478 B
Dart
/// Type résultat scellé : encapsule un succès ou un échec sans propager d'exception nue.
|
|
sealed class Result<T> {
|
|
const Result();
|
|
}
|
|
|
|
/// Issue réussie, encapsule [value].
|
|
class Success<T> extends Result<T> {
|
|
final T value;
|
|
const Success(this.value);
|
|
}
|
|
|
|
/// Issue en échec, encapsule [error] et une [stackTrace] optionnelle.
|
|
class Failure<T> extends Result<T> {
|
|
final Object error;
|
|
final StackTrace? stackTrace;
|
|
const Failure(this.error, [this.stackTrace]);
|
|
}
|