From 8f29f3578a4342e0376e976b3b1c99bc64bc06db Mon Sep 17 00:00:00 2001 From: Maxiwere45 Date: Tue, 9 Jun 2026 10:55:36 +0200 Subject: [PATCH] refactor(core): keep logger pure-Dart and document Result subtypes Co-Authored-By: Claude Opus 4.8 --- lib/core/logger.dart | 17 ++++++++++------- lib/core/result.dart | 2 ++ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/core/logger.dart b/lib/core/logger.dart index a00dce4..c64a1d8 100644 --- a/lib/core/logger.dart +++ b/lib/core/logger.dart @@ -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; + }()); } } diff --git a/lib/core/result.dart b/lib/core/result.dart index 989cd8a..f6db490 100644 --- a/lib/core/result.dart +++ b/lib/core/result.dart @@ -3,11 +3,13 @@ sealed class Result { const Result(); } +/// Issue réussie, encapsule [value]. class Success extends Result { final T value; const Success(this.value); } +/// Issue en échec, encapsule [error] et une [stackTrace] optionnelle. class Failure extends Result { final Object error; final StackTrace? stackTrace;