refactor(full refactor): Рефакторинг стартера (#8)

This commit is contained in:
Yuri Petrov
2025-04-27 17:08:34 +03:00
committed by GitHub
parent 18eb7b1fe1
commit 5d7d29ecf8
206 changed files with 1065 additions and 20102 deletions

View File

@@ -1,19 +1,57 @@
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:friflex_starter/features/debug/i_debug_service.dart';
import 'package:talker_bloc_logger/talker_bloc_logger_observer.dart';
import 'package:talker_dio_logger/talker_dio_logger_interceptor.dart';
import 'package:talker_flutter/talker_flutter.dart';
/// Класс реализации интерфейса Debug сервиса
/// {@template debug_service}
/// Реализация сервиса отладки, с помощью Talker
/// {@endtemplate}
class DebugService implements IDebugService {
/// {@macro debug_service}
DebugService() {
_talker = TalkerFlutter.init();
_talkerDioLogger = TalkerDioLogger(talker: _talker);
_talkerRouteObserver = TalkerRouteObserver(_talker);
_talkerBlocObserver = TalkerBlocObserver(talker: _talker);
}
/// Наименование сервиса
static const name = 'DebugService';
@override
void logDebug(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
if (kDebugMode) {
print('Message: $message');
}
/// Реализация Talker
late final Talker _talker;
/// Реализация логики
/// Реализация TalkerDioLogger
late final TalkerDioLogger _talkerDioLogger;
/// Реализация TalkerRouteObserver
late final TalkerRouteObserver _talkerRouteObserver;
/// Реализация TalkerBlocLoggerObserver
late final TalkerBlocObserver _talkerBlocObserver;
/// Получает TalkerDioLoggerInterceptor
@override
TalkerDioLogger get dioLogger => _talkerDioLogger;
/// Получает TalkerRouteObserver\
@override
TalkerRouteObserver get routeObserver => _talkerRouteObserver;
/// Получает TalkerBlocObserver
@override
TalkerBlocObserver get blocObserver => _talkerBlocObserver;
@override
void logDebug(
Object message, {
Object? logLevel,
Map<String, dynamic>? args,
}) {
_talker.debug(
message is Function ? Function.apply(message, []) as Object : message,
);
}
@override
@@ -24,43 +62,34 @@ class DebugService implements IDebugService {
Map<String, dynamic>? args,
StackTrace? stackTrace,
}) {
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
if (kDebugMode) {
print('Message: $logMessage');
print('Error: $error');
print('StackTrace: $stackTrace');
}
/// Реализация логики
final logMessage =
message is Function ? Function.apply(message, []) as Object : message;
_talker.error(logMessage, error, stackTrace);
}
@override
void log(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
if (kDebugMode) {
print('Message: $logMessage');
}
/// Реализация логики
final logMessage =
message is Function ? Function.apply(message, []) as Object : message;
_talker.log(logMessage);
}
@override
void logWarning(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
if (kDebugMode) {
print('Message: $logMessage');
}
/// Реализация логики
void logWarning(
Object message, {
Object? logLevel,
Map<String, dynamic>? args,
}) {
final logMessage =
message is Function ? Function.apply(message, []) as Object : message;
_talker.warning(logMessage);
}
@override
Future<T?> openDebugScreen<T>(BuildContext context, {bool useRootNavigator = false}) {
if (kDebugMode) {
print('Переход на страницу отладки');
}
/// Реализация логики
return Future.value();
Future<void> openDebugScreen(BuildContext context,
{bool useRootNavigator = false,}) async {
await Navigator.of(context).push(
MaterialPageRoute(builder: (context) => TalkerScreen(talker: _talker)),
);
}
}