Files
cherrypick/examples/postly/lib/di/app_module.dart

87 lines
2.4 KiB
Dart
Raw Normal View History

2025-05-17 00:34:56 +03:00
import 'package:cherrypick_annotations/cherrypick_annotations.dart';
2025-05-16 18:09:14 +03:00
import 'package:dio/dio.dart';
import 'package:cherrypick/cherrypick.dart';
import 'package:talker_dio_logger/talker_dio_logger_interceptor.dart';
import 'package:talker_dio_logger/talker_dio_logger_settings.dart';
import 'package:talker_flutter/talker_flutter.dart';
2025-05-16 18:09:14 +03:00
import '../data/network/json_placeholder_api.dart';
import '../data/post_repository_impl.dart';
import '../domain/repository/post_repository.dart';
2025-05-23 12:21:23 +03:00
part 'app_module.module.cherrypick.g.dart';
2025-05-16 18:09:14 +03:00
2025-05-17 00:34:56 +03:00
@module()
abstract class AppModule extends Module {
@provide()
@singleton()
TalkerDioLoggerSettings talkerDioLoggerSettings() => TalkerDioLoggerSettings(
style: reformat codebase using melos format Applied consistent code formatting across all packages using \$ melos format └> dart format . └> RUNNING (in 8 packages) -------------------------------------------------------------------------------- benchmark_di: Formatted 18 files (0 changed) in 0.30 seconds. benchmark_di: SUCCESS -------------------------------------------------------------------------------- cherrypick: Formatted 24 files (0 changed) in 0.34 seconds. cherrypick: SUCCESS -------------------------------------------------------------------------------- cherrypick_annotations: Formatted 11 files (0 changed) in 0.14 seconds. cherrypick_annotations: SUCCESS -------------------------------------------------------------------------------- cherrypick_flutter: Formatted 3 files (0 changed) in 0.15 seconds. cherrypick_flutter: SUCCESS -------------------------------------------------------------------------------- cherrypick_generator: Formatted 17 files (0 changed) in 0.27 seconds. cherrypick_generator: SUCCESS -------------------------------------------------------------------------------- client_app: Formatted 4 files (0 changed) in 0.14 seconds. client_app: SUCCESS -------------------------------------------------------------------------------- postly: Formatted lib/router/app_router.gr.dart Formatted 23 files (1 changed) in 0.33 seconds. postly: SUCCESS -------------------------------------------------------------------------------- talker_cherrypick_logger: Formatted 4 files (0 changed) in 0.18 seconds. talker_cherrypick_logger: SUCCESS -------------------------------------------------------------------------------- $ melos format └> dart format . └> SUCCESS. No functional or logic changes included.
2025-08-13 15:38:44 +03:00
printRequestHeaders: true,
printResponseHeaders: true,
printResponseMessage: true,
);
@provide()
@singleton()
style: reformat codebase using melos format Applied consistent code formatting across all packages using \$ melos format └> dart format . └> RUNNING (in 8 packages) -------------------------------------------------------------------------------- benchmark_di: Formatted 18 files (0 changed) in 0.30 seconds. benchmark_di: SUCCESS -------------------------------------------------------------------------------- cherrypick: Formatted 24 files (0 changed) in 0.34 seconds. cherrypick: SUCCESS -------------------------------------------------------------------------------- cherrypick_annotations: Formatted 11 files (0 changed) in 0.14 seconds. cherrypick_annotations: SUCCESS -------------------------------------------------------------------------------- cherrypick_flutter: Formatted 3 files (0 changed) in 0.15 seconds. cherrypick_flutter: SUCCESS -------------------------------------------------------------------------------- cherrypick_generator: Formatted 17 files (0 changed) in 0.27 seconds. cherrypick_generator: SUCCESS -------------------------------------------------------------------------------- client_app: Formatted 4 files (0 changed) in 0.14 seconds. client_app: SUCCESS -------------------------------------------------------------------------------- postly: Formatted lib/router/app_router.gr.dart Formatted 23 files (1 changed) in 0.33 seconds. postly: SUCCESS -------------------------------------------------------------------------------- talker_cherrypick_logger: Formatted 4 files (0 changed) in 0.18 seconds. talker_cherrypick_logger: SUCCESS -------------------------------------------------------------------------------- $ melos format └> dart format . └> SUCCESS. No functional or logic changes included.
2025-08-13 15:38:44 +03:00
TalkerDioLogger talkerDioLogger(
Talker talker, TalkerDioLoggerSettings settings) =>
TalkerDioLogger(talker: talker, settings: settings);
@instance()
int timeout() => 1000;
2025-05-21 10:40:21 +03:00
@instance()
@named('Delay')
Future<int> delay() => Future.value(1000);
@instance()
@named('Size')
Future<int> size() async => 10;
@instance()
@named('baseUrl')
String baseUrl() => "https://google.com";
@provide()
@named('Delay1')
Future<int> delay1() => Future.value(1000);
@provide()
@named('Size1')
Future<int> size1() async => 10;
@provide()
2025-05-17 00:34:56 +03:00
@singleton()
2025-05-17 22:02:32 +03:00
@named('dio')
Dio dio(@named('baseUrl') String baseUrl, TalkerDioLogger logger) =>
Dio(BaseOptions(baseUrl: baseUrl))..interceptors.add(logger);
2025-05-16 18:09:14 +03:00
@provide()
2025-05-17 00:34:56 +03:00
@singleton()
2025-05-17 22:02:32 +03:00
JsonPlaceholderApi api(@named('dio') Dio dio) => JsonPlaceholderApi(dio);
2025-05-17 00:34:56 +03:00
@provide()
2025-05-17 22:02:32 +03:00
@named('repo')
PostRepository repo(JsonPlaceholderApi api) => PostRepositoryImpl(api);
@provide()
@named('TestProvideWithParams')
String testProvideWithParams(@params() dynamic params) => "hello $params";
@provide()
@named('TestProvideAsyncWithParams')
Future<String> testProvideAsyncWithParams(@params() dynamic params) async =>
"hello $params";
@provide()
@named('TestProvideWithParams1')
String testProvideWithParams1(
@named('baseUrl') String baseUrl, @params() dynamic params) =>
"hello $params";
@provide()
@named('TestProvideAsyncWithParams1')
Future<String> testProvideAsyncWithParams1(
@named('baseUrl') String baseUrl, @params() dynamic params) async =>
"hello $params";
2025-05-16 18:09:14 +03:00
}