refactor(core): keep logger pure-Dart and document Result subtypes
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
2a3f489a2d
commit
8f29f3578a
@ -1,18 +1,21 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'dart:developer' as dev;
|
||||
|
||||
/// Logger minimal de l'application. Remplace les appels directs à print().
|
||||
/// Silencieux en release.
|
||||
/// Silencieux en release (les blocs assert sont retirés du build release).
|
||||
class AppLogger {
|
||||
AppLogger._();
|
||||
|
||||
static void info(String message) {
|
||||
if (kDebugMode) debugPrint('[INFO] $message');
|
||||
assert(() {
|
||||
dev.log(message, name: 'INFO');
|
||||
return true;
|
||||
}());
|
||||
}
|
||||
|
||||
static void error(String message, [Object? error, StackTrace? stackTrace]) {
|
||||
if (kDebugMode) {
|
||||
debugPrint('[ERROR] $message${error != null ? ' : $error' : ''}');
|
||||
if (stackTrace != null) debugPrint(stackTrace.toString());
|
||||
}
|
||||
assert(() {
|
||||
dev.log(message, name: 'ERROR', error: error, stackTrace: stackTrace);
|
||||
return true;
|
||||
}());
|
||||
}
|
||||
}
|
||||
|
||||
@ -3,11 +3,13 @@ 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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user