setWishlist method

Future<bool> setWishlist(
  1. Iterable<WishlistProduct> wishlistProducts
)

Implementation

Future<bool> setWishlist(
  final Iterable<WishlistProduct> wishlistProducts,
) async {
  final storage = HiveStorageService.instance;
  List<String> currentWishlist = List<String>.from(
    wishlistProducts.map((product) => jsonEncode(product.toMap())),
  );
  List<String>? previousWishlist = await storage.getWishlistData();

  DeepCollectionEquality equality = DeepCollectionEquality();

  if (previousWishlist == null ||
      equality.equals(currentWishlist, previousWishlist)) {
    await storage.setWishlistData(currentWishlist);
    notifyListeners();
    return true;
  }

  return false;
}