Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import 'dart:isolate';
- import 'package:clean_architecture_1/core/error/exceptions.dart';
- import 'package:clean_architecture_1/core/error/failures.dart';
- import 'package:clean_architecture_1/core/platform/network_info.dart';
- import 'package:clean_architecture_1/features/number_trivia/data/datasources/number_trivia_local_data_source.dart';
- import 'package:clean_architecture_1/features/number_trivia/domain/entities/number_trivia.dart';
- import 'package:dartz/dartz.dart';
- import '../../domain/repositories/number_trivia_repository.dart';
- import '../datasources/number_trivia_remote_data_source.dart';
- class NumberTriviaRepositoryImpl implements NumberTriviaRepository {
- final NumberTriviaRemoteDataSource remoteDataSource;
- final NumberTriviaLocalDataSource localDataSource;
- final NetworkInfo networkInfo;
- NumberTriviaRepositoryImpl(
- {required this.remoteDataSource,
- required this.localDataSource,
- required this.networkInfo});
- @override
- Future<Either<Failure, NumberTrivia>> getConcreteNumberTrivia(int number) async {
- networkInfo.isConnected;
- try {
- final remoteTrivia = await remoteDataSource.getConcreteNumberTrivia(number);
- localDataSource.cacheNumberTrivia(remoteTrivia);
- return Right(remoteTrivia);
- } on ServerException {
- return Left(ServerFailure());
- }
- }
- @override
- Future<Either<Failure, NumberTrivia>> getRandomNumberTrivia() {
- // TODO: implement getRandomNumberTrivia
- throw UnimplementedError();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement