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:
Maxiwere45 2026-06-09 10:55:36 +02:00
parent 2a3f489a2d
commit 8f29f3578a
2 changed files with 12 additions and 7 deletions

View File

@ -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;
}());
}
}

View File

@ -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;