🎮Cubit - class - List<class>

import 'package:flutter_lessons_in_the_evening/burger_shop/model/burger_model.dart';

abstract class BurgerRepository {
  Future<List<BurgerModel>> getAllBurgers();

  Future<List<BurgerModel>> toggleLike({required int index});
}

class BurgerRepositoryImpl implements BurgerRepository {
  final List<Map<String, dynamic>> _db;

  BurgerRepositoryImpl({required List<Map<String, dynamic>> db})
    : _db = db;

  @override
  Future<List<BurgerModel>> getAllBurgers() async {
    await Future.delayed(Duration(seconds: 1));
    if (_db.isEmpty) {
      throw Exception('Данных нету');
    }
    return _db.map((json) => BurgerModel.fromJson(json)).toList();
  }

  @override
  Future<List<BurgerModel>> toggleLike({required int index}) async {
    _db[index]['isLike'] = !(_db[index]['isLike'] as bool);

    return _db.map((json) => BurgerModel.fromJson(json)).toList();
  }
}

Last updated