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 '../data/network/json_placeholder_api.dart';
|
|
|
|
|
import '../data/post_repository_impl.dart';
|
|
|
|
|
import '../domain/repository/post_repository.dart';
|
|
|
|
|
|
2025-05-17 00:34:56 +03:00
|
|
|
part 'app_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 {
|
|
|
|
|
@singleton()
|
2025-05-17 22:02:32 +03:00
|
|
|
@named('dio')
|
2025-05-17 00:34:56 +03:00
|
|
|
Dio dio() => Dio();
|
2025-05-16 18:09:14 +03:00
|
|
|
|
2025-05-17 00:34:56 +03:00
|
|
|
@singleton()
|
2025-05-17 22:02:32 +03:00
|
|
|
@named('api')
|
|
|
|
|
JsonPlaceholderApi api(@named('dio') Dio dio) => JsonPlaceholderApi(dio);
|
2025-05-17 00:34:56 +03:00
|
|
|
|
2025-05-17 22:02:32 +03:00
|
|
|
@named('repo')
|
2025-05-17 00:34:56 +03:00
|
|
|
@singleton()
|
2025-05-17 22:02:32 +03:00
|
|
|
PostRepository repo(@named('api') JsonPlaceholderApi api) =>
|
|
|
|
|
PostRepositoryImpl(api);
|
2025-05-16 18:09:14 +03:00
|
|
|
}
|